【unity3D】Transform组件(如何访问和获取Transform组件)

未来的游戏开发程序媛,现在的努力学习菜鸡
本专栏是我关于游戏开发的学习笔记
本篇是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数量

扩展

初始状态:
【unity3D】Transform组件(如何访问和获取Transform组件)_第1张图片

  1. position和localposition的区别:世界坐标vs自身坐标
    【unity3D】Transform组件(如何访问和获取Transform组件)_第2张图片
    【unity3D】Transform组件(如何访问和获取Transform组件)_第3张图片
    position是基于unity中的世界坐标,在哪里就是在哪里
    localPosition是基于自身的坐标,Inspector面板中transform组件的position数值就是这个的数值。
    (同样的,旋转也是这个道理)

  2. rotation和eulerAngles的区别:
    【unity3D】Transform组件(如何访问和获取Transform组件)_第4张图片
    先将cube调的参数调一下,然后运行:
    【unity3D】Transform组件(如何访问和获取Transform组件)_第5张图片
    【unity3D】Transform组件(如何访问和获取Transform组件)_第6张图片
    可以看出来,其实Inspector面板中transform组件的rotation数值是欧拉角的数值。

Transform的相关查找方法

transform.Find(“名称”):查找当前transform组件挂载的物体下叫某个名字的子物体的transform组件。

transform.GetSiblingIndex():查找当前transform组件挂载的物体在它同级里的索引是第几个。

transform.GetChild(n):查找当前transform组件挂载的物体下的第n个子物体的transform组件。

:以上的transform指代设定的某个组件,就像前面的例子中的t。


静态方法

Transform.Destroy():销毁某个游戏物体。

Transform.Instantiate():生成某个游戏物体。


更多内容请前往主页置顶或点击链接直达:【unity3D】游戏开发专栏的目录

你可能感兴趣的:(#,unity基础知识,unity,学习,教程,笔记)