• 关于LookAt


    Transform.LookAt 注视

    function LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void

    旋转物体,这样向前向量指向target的当前位置。简单说,

    旋转物体使z轴指向目标物体。

    第一个参数是物体看向的目标。第二个参数是物体的那一个轴向看向目标。
    很容易出现的问题就是,给一个人物模型设置LookAt,结果人物的脚底板对着目标。。
    这时设置第二个参数,就可以让人物正面,面向目标。

    在由worldUp向量示意的方向的y轴旋转物体,如果你忽略worldUp参数,这个函数将使用世界的y轴。worldUp只是一个示意向量,如果向前方向是与worldUp垂直的,旋转的向上向量将仅匹配worldUp向量。

    翻译的感觉很别扭,下面是我的经验总结:

    当该物体设置了LookAt并指定了目标物体时,该物体的z轴将始终指向目标物体,在设置了worldUp轴向时,该物体在更接近指定的轴向是旋转便的灵活,注意worldUp指的是世界空间,不论你物体在什么位置,只要接近指定的轴方向,旋转会变的更灵活。

    一个朝向摄像机的应用,由于摄像机位置大部分位于高处,物体LookAt摄像机则物体会向上仰,这可能不是我们想要的效果,解决方法可以是:

    public class LookAtIgnoreY : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
            Vector3 pos = new Vector3(Camera.mainCamera.transform.position.x, transform.position.y, Camera.mainCamera.transform.position.z);//虚拟摄像机位置,即目标位置为摄像机位置的Y轴高度为物体高度
            transform.LookAt(pos);
        }
        
        // Update is called once per frame
        void Update () {
        
        }
    }

     

  • 相关阅读:
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言博客作业04
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业01
    学期总结
  • 原文地址:https://www.cnblogs.com/martianzone/p/3336403.html
Copyright © 2020-2023  润新知