Unity 6.3
0 онлайн 9 гостей 3 в системе
Вход

TransformHandle.InverseTransformPoint

Declaration

public Vector3 InverseTransformPoint(Vector3 point);

Описание

Преобразует position из мирового в локальное пространство.

Эта функция по существу противоположна TransformHandle.TransformPoint, которая используется для преобразования из локального в мировое пространство.

Обратите внимание, что возвращаемая позиция зависит от масштаба. Используйте TransformHandle.InverseTransformDirection, если вы работаете с векторами направления, а не с позициями.

Если вам нужно преобразовать много точек одновременно, рассмотрите возможность использования TransformHandle.InverseTransformPoints вместо этого, так как это гораздо быстрее, чем повторный вызов этой функции.

// Calculate the transform's position relative to the camera.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public TransformHandle cam; public Vector3 cameraRelative;

void Start() { cam = Camera.main.transformHandle; Vector3 cameraRelative = cam.InverseTransformPoint(transformHandle.position);

if (cameraRelative.z > 0) print("The object is in front of the camera"); else print("The object is behind the camera"); } }

Дополнительные ресурсы:,TransformHandle.TransformPoint,, ,TransformHandle.InverseTransformPoints,, ,TransformHandle.InverseTransformDirection,, ,TransformHandle.InverseTransformVector,.

Declaration

public Vector3 InverseTransformPoint(float x, float y, float z);

Описание

Преобразует позицию x, y, z из мирового пространства в локальное пространство.

Эта функция по существу противоположна TransformHandle.TransformPoint, которая используется для преобразования из локального в мировое пространство.

Обратите внимание, что возвращаемая позиция зависит от масштаба. Используйте TransformHandle.InverseTransformDirection, если вы работаете с векторами направления, а не с позициями.

Если вам нужно преобразовать много точек одновременно, рассмотрите возможность использования TransformHandle.InverseTransformPoints вместо этого, так как это гораздо быстрее, чем повторный вызов этой функции.

// Calculate the world origin relative to this transform.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Vector3 relativePoint = transformHandle.InverseTransformPoint(0, 0, 0);

if (relativePoint.z > 0) print("The world origin is in front of this object"); else print("The world origin is behind this object"); } }

Дополнительные ресурсы:,TransformHandle.TransformPoint,, TransTransformHandleform.InverseTransformPoints, ,TransformHandle.InverseTransformDirection,, ,TransformHandle.InverseTransformVector,.