💗 未来的游戏开发程序媛,现在的努力学习菜鸡
💦本专栏是我关于游戏开发的学习笔记
🈶本篇是unity的Transform组件
Transform组件
- 基础知识
- 介绍
- 三个成员变量
- 常用属性
- 扩展
- Transform的相关查找方法
- 静态方法
基础知识
介绍
在Unity中,Transform组件是非常重要的一个组件,它存在于所有的GameObject游戏对象中,并且控制着对象的位置、旋转和缩放。
三个成员变量
- position:控制对象在场景中的位置,它是一个三元素向量,表示对象在三维空间中的坐标。
- rotation:控制对象在场景中的旋转,它是一个四元素向量,表示对象在三维空间中的姿态。
- scale:控制对象在场景中的缩放,它是一个三元素向量,表示对象在三维空间中的大小比例。
常用属性
属性 | 说明 |
---|---|
position | 游戏对象在世界坐标的位置 |
rotation | 游戏对象相对于世界坐标系的旋转角度 |
localPosition | 游戏对象相对于其父对象的位置 |
localRotation | 游戏对象相对于其父对象的旋转角度 |
localScale | 游戏对象相对于其父对象的缩放比例 |
forward | 方向向量,代表游戏对象正面的方向 |
up | 方向向量,代表游戏对象上面的方向 |
right | 方向向量,代表游戏对象右面的方向 |
eulerAngles | 以欧拉角的形式表示游戏对象相对于世界坐标系的旋转角度 |
localEulerAngles | 以欧拉角的形式表示游戏对象相对于其父对象的旋转角度 |
position.x、position.y、position.z | 分别代表游戏物体在世界坐标中的x,y,z方向坐标 |
localPosition.x、localPosition.y、localPosition.z | 分别代表游戏物体相对于父物体的x,y,z方向坐标 |
gameObject | 获取该transform组件所挂载的物体 |
parent | 获取该transform组件所挂载的物体的父物体的transform组件 |
childCount | 该transform组件所挂载的物体的子对象的transform数量 |
扩展
初始状态:
-
position和localposition的区别:世界坐标vs自身坐标
position是基于unity中的世界坐标,在哪里就是在哪里
localPosition是基于自身的坐标,Inspector面板中transform组件的position数值就是这个的数值。
(同样的,旋转也是这个道理) -
rotation和eulerAngles的区别:
先将cube调的参数调一下,然后运行:
可以看出来,其实Inspector面板中transform组件的rotation数值是欧拉角的数值。
Transform的相关查找方法
transform.Find(“名称”):查找当前transform组件挂载的物体下叫某个名字的子物体的transform组件。
transform.GetSiblingIndex():查找当前transform组件挂载的物体在它同级里的索引是第几个。
transform.GetChild(n):查找当前transform组件挂载的物体下的第n个子物体的transform组件。
注:以上的transform指代设定的某个组件,就像前面的例子中的t。
静态方法
Transform.Destroy():销毁某个游戏物体。
Transform.Instantiate():生成某个游戏物体。
💦更多内容请前往主页置顶或点击链接直达:【unity3D】游戏开发专栏的目录