Unity Transform 组件

在 Unity 中,Transform 是一个非常重要的组件,它定义了物体的位置、旋转和缩放,几乎每个 GameObject 都包含一个 Transform 组件。Transform 组件的主要属性如下:

  1. position

表示物体在世界空间中的位置。可以通过 transform.position 获取和设置。它是一个 Vector3,表示物体在 x、y、z 轴上的位置。

csharp

transform.position = new Vector3(0, 5, 10);

  1. localPosition

表示物体在其父对象的本地空间中的位置。如果物体没有父对象,则 localPosition 和 position 是相同的。

csharp

transform.localPosition = new Vector3(1, 2, 3);

  1. rotation

表示物体的旋转(四元数表示)。可以通过 transform.rotation 获取和设置旋转。四元数更适合用于处理3D旋转,以避免万向节锁问题。

csharp

transform.rotation = Quaternion.Euler(0, 90, 0);

  1. localRotation

表示物体在本地空间中的旋转。如果物体有父对象,这个值会相对于父对象的旋转来计算。

csharp

transform.localRotation = Quaternion.Euler(45, 0, 0);

  1. eulerAngles

物体的欧拉角表示的旋转。虽然 Unity 内部使用四元数来表示旋转,但欧拉角更直观,尤其是对于简单的旋转操作。

csharp

transform.eulerAngles = new Vector3(0, 180, 0);

  1. localEulerAngles

表示物体的本地空间中的欧拉角旋转。

csharp

transform.localEulerAngles = new Vector3(30, 60, 90);

  1. localScale

物体的本地缩放因子。可以通过 transform.localScale 获取和设置。通常是一个 Vector3,表示物体在 x、y、z 轴上的缩放。

csharp

transform.localScale = new Vector3(2, 2, 2);

  1. parent

获取或设置物体的父对象。通过设置父对象,你可以控制该物体相对于父对象的位置、旋转和缩放。

csharp

transform.parent = someOtherTransform;

  1. childCount

表示当前物体有多少个子对象。

csharp

int count = transform.childCount;

  1. SetParent(Transform parent)

设置或更改物体的父对象。如果传入 null,物体将没有父对象。

csharp

transform.SetParent(newParentTransform);

  1. Translate

用于移动物体,支持世界空间或本地空间。

csharp

transform.Translate(Vector3.forward Time.deltaTime);

  1. Rotate

用于旋转物体,支持世界空间或本地空间。

csharp

transform.Rotate(Vector3.up, 90);

  1. LookAt

让物体朝向目标对象。

csharp

transform.LookAt(targetTransform);

通过 Transform 组件,你可以方便地控制游戏对象在场景中的位置、旋转和缩放等各种状态。

相关推荐
WarPigs5 小时前
Unity编辑器开发笔记
unity·编辑器·excel
霜绛11 小时前
Unity:lua热更新(三)——Lua语法(续)
unity·游戏引擎·lua
世洋Blog19 小时前
更好的利用ChatGPT进行项目的开发
人工智能·unity·chatgpt
evolution_language1 天前
Unity场景(Scene)的注意事项和易错点
unity·游戏引擎·scene
EQ-雪梨蛋花汤1 天前
【AI工具】使用 Doubao-Seed-Code 优化 Unity 编辑器插件:从功能实现到界面美化的完整实践
人工智能·unity·编辑器
Dr.勿忘1 天前
开源Unity小框架:高效单例与模块化设计
游戏·unity·开源·c#·游戏引擎·游戏程序·gamejam
jtymyxmz3 天前
《Unity Shader》8.4 透明度混合
unity·游戏引擎
世洋Blog3 天前
利用<<左移运算符优雅的设计游戏能力的任意组合和判断
游戏·unity·c#
毛甘木3 天前
Unity MonoPInvokeCallback 使用教程
c++·unity
心疼你的一切3 天前
Unity开发Rokid应用之离线语音指令交互模型
android·开发语言·unity·游戏引擎·交互·lucene