Transform.TransformPoint
Declaration
public Vector3 TransformPoint(Vector3 position);Описание
Преобразует position из локального в мировое пространство.
Используйте Transform.TransformDirection, если вы работаете с векторами направления.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя Transform.InverseTransformPoint.
Если вам нужно преобразовать много точек одновременно, рассмотрите возможность использования Transform.TransformPoints вместо этого, так как это гораздо быстрее, чем многократный вызов этой функции.
Дополнительные ресурсы: Transform.TransformPoints, Transform.TransformDirection, Transform.TransformVector.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject someObject; public Vector3 thePosition;
void Start() { // Instantiate an object to the right of the current object thePosition = transform.TransformPoint(Vector3.right * 2); Instantiate(someObject, thePosition, someObject.transform.rotation); } }
Declaration
public Vector3 TransformPoint(float x, float y, float z);Описание
Преобразует позицию x, y, z из локального пространства в мировое пространство.
Используйте Transform.TransformDirection, если вы работаете с векторами направления.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя Transform.InverseTransformPoint.
Если вам нужно преобразовать много точек одновременно, рассмотрите возможность использования Transform.TransformPoints вместо этого, так как это гораздо быстрее, чем многократный вызов этой функции.
Дополнительные ресурсы: Transform.TransformPoints, Transform.TransformDirection, Transform.TransformVector.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject someObject;
void Start() { // Instantiate an object to the right of the current object Vector3 thePosition = transform.TransformPoint(2, 0, 0); Instantiate(someObject, thePosition, someObject.transform.rotation); } }