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

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,.