Transform.TransformPoints
Declaration
public void TransformPoints(Span<Vector3> positions);Параметры
| Параметр | Описание |
|---|---|
| должностей | Положения точек, которые должны быть преобразованы, каждая из которых заменяется на преобразованную версию. |
Описание
Преобразует несколько точек из локального пространства в мировое пространство, перезаписывая каждую исходную точку преобразованной версией.
Используйте Transform.TransformDirections, если вы работаете с векторами направления.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя Transform.InverseTransformPoints.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject someObject;
const int kNumPoints = 100;
void Start() { // Instantiate 100 objects to the right of the current object Vector3[] points = new Vector3[kNumPoints]; for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { points[pointNum] = Vector3.right * pointNum; } transform.TransformPoints(points); for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { Instantiate(someObject, points[pointNum], someObject.transform.rotation); } } }
Дополнительные ресурсы:,Transform.TransformPoint,, ,Transform.InverseTransformPoints,, ,Transform.TransformDirections,, ,Transform.TransformVectors,.
Declaration
public void TransformPoints(ReadOnlySpan<Vector3> positions, Span<Vector3> transformedPositions);Параметры
| Параметр | Описание |
|---|---|
| должностей | Положения точек, которые должны быть преобразованы, эти векторы не изменяются функцией, если только transformedPositions не перекрывается. |
| transformedPositions | Получает преобразованные позиции каждой точки, должна быть такой же длины, как positions, в противном случае будет выброшено исключение. Если этот интервал перекрывает positions, не представляя точно одинаковых элементов, поведение не определено. |
Описание
Преобразует множество точек из локального пространства в мировое пространство, записывая преобразованные точки в возможно другое местоположение.
Используйте Transform.TransformDirections, если вы работаете с направлениями.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя Transform.InverseTransformPoints.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject someObject;
const int kNumPoints = 100;
void Start() { // Instantiate 100 objects to the right of the current object Vector3[] points = new Vector3[kNumPoints]; for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { points[pointNum] = Vector3.right * pointNum; } Vector3[] transformedPoints = new Vector3[kNumPoints]; transform.TransformPoints(points, transformedPoints); for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { Instantiate(someObject, transformedPoints[pointNum], someObject.transform.rotation); } } }
Дополнительные ресурсы:,Transform.TransformPoint,, ,Transform.InverseTransformPoints,, ,Transform.TransformDirections,, ,Transform.TransformVectors,.