Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static Matrix4x4 TRS(Vector3 pos, Quaternion q, Vector3 s);

Описание

Создает матрицу перемещения, поворота и масштабирования.

Возвращенная матрица такова, что объекты размещаются в позиции pos, ориентировано по вращению q и масштабировано s.

using UnityEngine; public class ExampleScript : MonoBehaviour { // Перевести, повернуть и масштабировать сетку. Попробуйте изменить // параметры в инспекторе во время работы // чтобы увидеть эффект, который они имеют. public Vector3 translation; public Vector3 eulerAngles; public Vector3 scale = new Vector3(1, 1, 1); MeshFilter mf; Vector3[] origVerts; Vector3[] newVerts; void Start() { // Получить компонент фильтра Mesh, сохранить исходные вершины // и делаем новый массив вершин для обработки. mf = GetComponent<MeshFilter> (); origVerts = mf.mesh.vertices; newVerts = new Vector3[origVerts.Length]; } void Update() { // Установить кватернион из указанных углов Эйлера. Quaternion rotation = Quaternion.Euler(eulerAngles.x, eulerAngles.y, eulerAngles.z); // Установите параметры перевода, поворота и масштабирования. Matrix4x4 m = Matrix4x4.TRS(translation, rotation, scale); // Для каждой вершины... for (int i = 0; i < origVerts.Length; i++) { // Apply the matrix to the vertex. newVerts[i] = m.MultiplyPoint3x4(origVerts[i]); } // Скопируйте преобразованные вершины обратно в меш. mf.mesh.vertices = newVerts; } }

Смотрите так же: TRS, Rotate, Scale, Translate, SetTRS functions.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3