Skip to content

Transform

继承自 EngineObject

Transform类记录了对象的位置、旋转和缩放。场景中的每个对象都有一个Transform组件。每个Transform都可以有一个父级,它允许您分层应用位置、旋转和缩放。

可以通过以下方式获取到Transform组件对象:

typescript
OnStart(): void {
    //获取当前游戏对象的Transform组件
    let transform = this.transform;
    }

成员变量

Transform.instanceID : number
(只读)该Transform所属对象的实例ID。
Transform.up : Vector3
(只读)游戏对象在世界空间Transform的Y轴正方向的单位向量。
Transform.name : string
(只读)当前变化组件附加上的游戏对象的名称。
Transform.childCount : number
(只读)当前Transform的子级数量(父级Transform不包括在内)。
Transform.gameObject : GameObject
(只读)当前Transform组件附加到的游戏对象。
Transform.right : Vector3
(只读)游戏对象在世界空间Transform的X轴正方向的位置。
Transform.forward : Vector3
(只读)游戏对象在世界空间中沿Z轴正方向的单位向量。
Transform.parent : Transform
当前Transform的父级Transform。
Transform.localEulerAngles : Vector3
以欧拉角表示的相对于父变换旋转的旋转(以度为单位)。
Transform.localPosition : Vector3
当前Transform相对于父Transform的位置。
Transform.localScale : Vector3
相对于父Transform的缩放。
Transform.localRotation : Quaternion
相对于父Transform的旋转。
Transform.eulerAngles : Vector3
(只读)游戏对象以欧拉角表示的旋转(以度为单位)。
Transform.position : Vector3
当前Transform相对于世界的位置。
Transform.lossyScale : Vector3
(只读)当前Transform的全局缩放。
Transform.rotation : Quaternion
当前Transform在世界空间中的旋转的四元数。
Transform.localToWorldMatrix : Matrix4x4
(只读)将点从本地空间转换为世界空间的矩阵。
Transform.worldToLocalMatrix : Matrix4x4
(只读)将点从世界空间转换为本地空间的矩阵。

成员方法

Transform.GetChild ( index : number ) : Transform
根据索引获取子Transform(索引从0开始)。
Transform.LookAt ( pos : Vector3 , up : Vector3? ) : void
旋转Transform,使前向矢量指向目标位置。
Transform.GetPositionAndRotation ( ref_pos : Vector3 , ref_rot : Quaternion ) : void
获取Transform组件在世界空间中的位置和旋转。
Transform.SetParent ( parent : Transform , keep_world_position : boolean? ) : void
设置当前Transform的父对象。
Transform.FindChild ( name : string ) : Transform
根据当前Transform附加游戏对象的名称查找子Transform。
Transform.SetLocalTR ( pos : Vector3 , rot : Quaternion ) : void
设置对象相对于其父对象的本地坐标和本地旋转信息。
Transform.SetLocalTRS ( pos : Vector3 , rot : Quaternion , scale : Vector3 ) : void
设置对象相对于其父Transform的本地坐标、旋转和缩放信息。
Transform.SetPositionAndRotation ( pos : Vector3 , rot : Quaternion ) : void
设置当前Transform组件在世界空间中的位置和旋转。
Transform.TransformVector ( vector : Vector3 ) : Vector3
将向量从局部空间转换到世界空间。
Transform.TransformPoint ( point : Vector3 ) : Vector3
将位置从局部空间转换为世界空间(返回的位置受比例影响)。
Transform.toString ( ) : string
对象的名称。
Transform.InverseTransformVector ( vector : Vector3 ) : Vector3
将向量从世界空间转换为局部空间。
Transform.InverseTransformPoint ( point : Vector3 ) : Vector3
将位置从世界空间转换为局部空间。
Transform.RotateEuler ( euler : Vector3 , relative_to_local? : boolean ) : void
指定物体的旋转角度。
Transform.RotateEulerXYZ ( euler_x : number , euler_y : number , euler_z : number , relative_to_local? : boolean ) : void
指定物体沿X、Y、Z三个轴的旋转角度。
Transform.forEach ( c : callback ) : void
遍历子Transform。