TransformHandle.TransformPoints
Declaration
public void TransformPoints(Span<Vector3> positions);Параметры
| Параметр | Описание |
|---|---|
| должностей | Положения точек, которые должны быть преобразованы, каждая из которых заменяется на преобразованную версию. |
Описание
Преобразует несколько точек из локального пространства в мировое пространство, перезаписывая каждую исходную точку преобразованной версией.
Используйте TransformHandle.TransformDirections, если вы работаете с векторами направления.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя TransformHandle.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; } transformHandle.TransformPoints(points); for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { Instantiate(someObject, points[pointNum], someObject.transformHandle.rotation); } } }
Дополнительные ресурсы:,TransformHandle.TransformPoint,, ,TransformHandle.InverseTransformPoints,, ,TransformHandle.TransformDirections,, ,TransformHandle.TransformVectors,.
Declaration
public void TransformPoints(ReadOnlySpan<Vector3> positions, Span<Vector3> transformedPositions);Параметры
| Параметр | Описание |
|---|---|
| должностей | Положения точек, которые должны быть преобразованы, эти векторы не изменяются функцией, если только transformedPositions не перекрывается. |
| transformedPositions | Получает преобразованные позиции каждой точки, должна быть такой же длины, как positions, в противном случае будет выброшено исключение. Если этот интервал перекрывает positions, не представляя точно одинаковых элементов, поведение не определено. |
Описание
Преобразует множество точек из локального пространства в мировое пространство, записывая преобразованные точки в возможно другое местоположение.
Используйте TransformHandle.TransformDirections, если вы работаете с направлениями.
Вы можете выполнить обратное преобразование, из мирового в локальное пространство, используя TransformHandle.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]; transformHandle.TransformPoints(points, transformedPoints); for (int pointNum = 0; pointNum < kNumPoints; pointNum++) { Instantiate(someObject, transformedPoints[pointNum], someObject.transform.rotation); } } }
Дополнительные ресурсы:,TransformHandle.TransformPoint,, ,TransformHandle.InverseTransformPoints,, ,TransformHandle.TransformDirections,, ,TransformHandle.TransformVectors,.