变换组件 Transform

目前正跟随官网 Junior Programmer 课程学习。

前一段时间学习到的一些内容,将分别纪要。

1.变换组件

变换 Transform 组件用于描述对象的位置、旋转和缩放

场景中的每个对象都有一个变换 Transform 。每个变换 Transform 都可以有一个父级,让您能够分层应用位置、旋转和缩放。这是 Hierarchy 面板中显示的层级视图。 它们还支持枚举器,因此您可以使用以下方式遍历子项:

1
2
3
4
5
6
7
8
9
10
11
12
using UnityEngine;
public class Example : MonoBehaviour
{
// 令所有子对象向上移动10个单位
void Start()
{
foreach (Transform child in transform)
{
child.position += Vector3.up * 10.0f;
}
}
}

另请参阅:组件参考Physics 类。

2.变量

常用变量包括以下(有删减):

变量 描述
childCount 父变换具有的子项数。
eulerAngles 以欧拉角表示的旋转(以度为单位)。
hasChanged 自上次将标志设置为“false”以来,变换是否发生更改?
lossyScale 对象的全局缩放。(只读)
parent 变换的父级。
position 世界空间中的变换位置。
rotation 一个 Quaternion,用于存储变换在世界空间中的旋转。
up 世界空间中变换的绿轴。
right 世界空间中变换的红轴。
forward 返回一个标准化矢量,它表示世界空间中变换的蓝轴。
localEulerAngles 以欧拉角表示的相对于父变换旋转的旋转(以度为单位)。
localPosition 相对于父变换的变换位置。
localRotation 相对于父级变换旋转的变换旋转。
localScale 相对于 GameObjects 父对象的变换缩放。

目前用到过的变量大概只有:

Transform.position 等;

以上。

3.公共函数

常用的公共函数包括(有大量删减):

公共函数 说明
Find 按 n 查找子项,然后返回它。
GetChild 按索引返回变换子项。
Rotate 使用 Transform.Rotate 以各种方式旋转 GameObjects。通常以欧拉角而不是四元数提供旋转。
TransformDirection 将 direction 从本地空间变换到世界空间。
TransformPoint 将 position 从本地空间变换到世界空间。
TransformVector 将 vector 从本地空间变换到世界空间。
Translate 根据 translation 的方向和距离移动变换。

目前用过的大概只有:

Transform.Translate 等;

以上。

上述大部分内容来源于 Unity Document,大量删减;

详细了解可参考以下路径:

以上。