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 组件,你可以方便地控制游戏对象在场景中的位置、旋转和缩放等各种状态。

相关推荐
future_studio6 小时前
聊聊 Unity(小白专享、C# 小程序 之 联机对战)
unity·小程序·c#
shandianchengzi16 小时前
【记录】Unity|Unity从安装到打开一个Github项目(以我的世界(仿)为例)
unity·c#·游戏引擎·github·我的世界·mc
yi碗汤园1 天前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎
野奔在山外的猫1 天前
【案例】Unity 平台访问文件浏览器(汇总)
unity
future_studio3 天前
聊聊 Unity(小白专享、C# 小程序 之 自动更新)
unity·小程序·c#
心疼你的一切3 天前
Unity开发利器:ScriptableObject的数据容器设计与内存优化原理
microsoft·unity·c#·游戏引擎
Cool-浩3 天前
【征文计划】Rokid 语音指令开发教程 【包含工程源码 和体验包APK】
unity·ar·语音识别·rokid·语音指令
小剑修4 天前
2025.10.18 复习
unity
future_studio5 天前
聊聊 Unity(小白专享、C# 小程序 之 播放器)
unity·小程序·c#
向宇it5 天前
【unity实战】MapMagic 2实战例子
游戏·3d·unity·c#·游戏引擎