예제 #1
0
        public void LookAt(Vector3 worldPosition, Vector4 worldUp)
        {
            Vector3    forward = worldPosition - GetPosition();
            Quaternion q       = Quaternion.identity;

            if (Quaternion.LookRotationToQuaternion(forward, worldUp, ref q))
            {
                SetRotationSafe(q);
            }
            else
            {
                float mag = forward.magnitude;
                if (mag > Vector3.kEpsilon)
                {
                    SetRotationSafe(Quaternion.FromToQuaternionSafe(Vector3.back, forward / mag));
                }
            }
            hackDirty = true;
        }