Transform.InverseTransformDirection
Declaration
public Vector3 InverseTransformDirection(Vector3 direction);Описание
Преобразует direction из мирового в локальное пространство. Противоположность Transform.TransformDirection.
На эту операцию не влияет масштаб или положение преобразования. Преобразованный вектор имеет ту же длину, что и оригинал.
Если вам нужна обратная операция для преобразования из локального пространства в мировое пространство, вы можете использовать Transform.TransformDirection
Вы должны использовать Transform.InverseTransformPoint если вектор представляет позицию в пространстве, а не направление.
Если вам нужно преобразовать много направлений одновременно, рассмотрите возможность использования Transform.InverseTransformDirections вместо этого, так как это гораздо быстрее, чем повторный вызов этой функции.
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // transform the world forward into local space: Vector3 relative; relative = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); } }
Дополнительные ресурсы:,Transform.TransformDirection,, ,Transform.InverseTransformDirections,, ,Transform.InverseTransformPoint,, ,Transform.InverseTransformVector,.
Declaration
public Vector3 InverseTransformDirection(float x, float y, float z);Описание
Преобразует направление x, y, z из мирового пространства в локальное пространство. Противоположность Transform.TransformDirection.
На эту операцию не влияет масштаб или положение преобразования. Преобразованный вектор имеет ту же длину, что и оригинал.
Если вам нужна обратная операция для преобразования из локального пространства в мировое пространство, вы можете использовать Transform.TransformDirection
Вы должны использовать Transform.InverseTransformPoint если вектор представляет позицию в пространстве, а не направление.
Если вам нужно преобразовать много направлений одновременно, рассмотрите возможность использования Transform.InverseTransformDirections вместо этого, так как это гораздо быстрее, чем повторный вызов этой функции.
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // transform the world forward into local space: Vector3 relative; relative = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); } }
Дополнительные ресурсы:,Transform.TransformDirection,, ,Transform.InverseTransformDirections,, ,Transform.InverseTransformPoint,, ,Transform.InverseTransformVector,.