zoukankan      html  css  js  c++  java
  • 关于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 () {
        
        }
    }

     

  • 相关阅读:
    单链表的逆转
    树的子结构和树的深度
    升级版爬楼梯问题
    蛇形数组
    正则表达式匹配
    构建乘积数组
    N皇后问题
    IOS计算文字高度
    Block的copy时机
    转:CocoaPods pod install/pod update更新慢的问题
  • 原文地址:https://www.cnblogs.com/martianzone/p/3336403.html
Copyright © 2011-2022 走看看