概述

變換保持關於一個物件的大部分資料,包括它的父,子,位置,旋轉和比例。它還具有修改每個屬性的功能。每個 GameObject 都有一個 Transform。

翻譯(移動)一個物體

// Move an object 10 units in the positive x direction
transform.Translate(10, 0, 0);

// translating with a vector3
vector3 distanceToMove = new Vector3(5, 2, 0);
transform.Translate(distanceToMove);

旋轉物體

// Rotate an object 45 degrees about the Y axis
transform.Rotate(0, 45, 0);

// Rotates an object about the axis passing through point (in world coordinates) by angle in degrees
transform.RotateAround(point, axis, angle);
// Rotates on it's place, on the Y axis, with 90 degrees per second
transform.RotateAround(Vector3.zero, Vector3.up, 90 * Time.deltaTime);

// Rotates an object to make it's forward vector point towards the other object
transform.LookAt(otherTransform);
// Rotates an object to make it's forward vector point towards the given position (in world coordinates)
transform.LookAt(new Vector3(10, 5, 0));

可以在 Unity 文件中看到更多資訊和示例。

另請注意,如果遊戲使用剛體,則不應直接與變換進行互動(除非剛體具有 isKinematic == true)。在這些情況下,使用 AddForce 或其他類似方法直接作用於剛體。