关于Unity中的transform组件

transform组件用途

1.维护场景树

2.对3D物体的平移,缩放,旋转

场景树

在Hierarchy视图中显示的:

一个game_scene场景,下面有Main Camera节点,Directional Light节点,game_root节点,game_root节点下又有Cube子节点,Sphere子节点,组成game_scene场景树。

1.每个节点都有一个transform组件

2.每一个继承自MonoBehaviour的组件都有一个数据成员指向这个节点的transform组件。

使用this.transform;获得。//可以通过任何一个组件来获得每一个节点的transfrom组件。

同理,由于每一个继承自MonoBehaviour的组件都有一个数据成员gameObject指向组件实例所挂载的场景的节点对象,transfrom它也是一个组件,所以它也有一个gameObject指向它挂的节点。

使用this.transform.gameObject获得。//Debug.Log(this.transform.gameObject.name);

3.每一个继承自MonoBehaviour的组件都有一个数据成员gameObject指向组件实例所挂载的场景的节点对象,使用this.gameObject获得。

Debug.Log(this.gameObject.name);//节点名字
Debug.Log(this.gameObject.layer);//节点所在层名字

Debug.Log(this.gameObject.tag);//节点的标记或标签值
Debug.Log(this.gameObject.activeSelf); // 自己这个属性是否可见,自己节点名字旁边的勾是否打了,结果是true或false
Debug.Log(this.gameObject.activeInHierarchy); // 自己在这个体系里面是否可见,也就是如果它的父节点设置为不显示,自己还是可见的,那么它的activeInHierarchy就是不可见,结果是true或false

this.gameObject.SetActive(true);//设置节点为可见

时间: 2024-10-21 15:04:23

关于Unity中的transform组件的相关文章

Unity中的Transform类

childCount,第一层物体 eulerAngles,角度 Transform.hasChanged 位置,角度,缩放改变了. transform.Rotate(0, 30, 0); transform.Rotate(0,30,0,Space.World); 旋转的中心点不变,只是旋转的轴的方向可能不一样,一个按照自身坐标系,一个按照世界坐标系. 如果想让子物体绕着另外一个中心点旋转,加一个父物体,假如cube是0,0,0,想让他绕着2,2,2旋转,加一个空物体2,2,2,将cube设空物体

unity中遍历Transform的子物体

1.遍历Transform直接子transform private void Start() { var Equipment = building.transform.FindChild("building/building/Equipment"); foreach (Transform tran in Equipment) { Debug.LogError(tran); } } 2.递归遍历该GameObject的所有子GameObject public void Awake() {

Unity UGUI——Rect Transform组件

基础属性:Width.Height.Pivot图示

Unity UGUI——Rect Transform组件(Anchor Presets)

Anchor Presets属性的使用示例

关于Unity中实现绳索物理效果Ultimate+Rope+Editor插件解析

Ultimate+Rope+Editor+1.18绳索插件学习文档 插件分享: 链接:https://pan.baidu.com/s/1i6VzCup 密码:a4eo 一.绳子主要控制脚本组件Ultimate Rope 1.Rope Layer:设定绳子的层Layer 2.Rope Physic Material:绳子物理材质 3.Rope Type:绳子类型(一般选择Procedural程序上的控制类型) 4.Rope Start:绳子起始点(需要场景中的Transform组件的游戏物体拖入)

Unity中直接使用transform和gameObject的效率测试

尽信书不如无书,更何况是网上开发者的博客.这里也包含我自己的博客,有的时候回过头来看是有错误的地方,但是我也懒得改了,而且很多时候我们看到的文章还不一定是原始地址,而是被各个网站七转八转的,更加不可能保证准确性. 这里测试了这么一个说法:"不要在脚本中直接使用transform或者gameObject,而应该在一开始缓存成成员变量如_transform和_gameObject来访问.因为前者每次执行的时候都要获取对应的组件,效率低." 这种说法不能说完全是错误的,但是经过自己的测试明白

unity3d中Transform组件变量详解

Transform组件是每个游戏对象必须有的一个组建,因为你创建一个空物体,它也有该组建,因为unity3d是面向组建开发的一款游戏引擎.通过一张图片来看看它的属性 你可以在通过代码查看这些属性的区别 Debug.Log("position " + transform.position); //世界坐标的位置 Debug.Log("localPosition " + transform.localPosition); //相对于父位置的坐标 即把父物体当作自己的中心

Unity 3D中的Transform.Rotate 与Transform.RotateAround 的区别

Transform.Rotate 旋转 应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序). 如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴.(当在场景视图选择物体时,x.y和z轴显示)如果相对于 Space.World 旋转角度被应用围绕世界的x.y.z轴. 1 gameObject.transform.Rotate(new Vector3(0,1,0),Inpu

Unity 3D 中新建游戏物体过程中 Intantiate Transform 空物体和本体之间的关系

我们通过Unity构建场景的过程中,经常发现一个现象,就是物体在拖进场景中后,我们会发现物体是反的,通过改变物体的rotation属性后,得到了正确的方向,可物体的坐标系又变得和默认坐标系(右上角系统自带的坐标系)不一样了,这样就给后续的脚本工作(通常是控制(Transform)脚本和生成(Intantiate)脚本)带来了困扰,因为脚本写作的过程中是按照正常的坐标系来的,物体的脚本和默认的不一样了就会出现诸如按下键物体向上的现象. 其实,在游戏场景的创建过程中,不仅仅是物体的方向,一个游戏物体