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

相关推荐
RReality2 小时前
【Unity Shader URP】屏幕空间扭曲后处理(Screen Space Distortion)实战教程
ui·unity·游戏引擎·图形渲染·材质
zcc8580797623 小时前
Unity 事件驱动架构
unity
心之所向,自强不息3 小时前
VSCode + EmmyLua 调试 Unity Lua(最简接入 + 不阻塞运行版)
vscode·unity·lua
空中海4 小时前
第六篇:Unity专项方向
unity·游戏引擎
mxwin5 小时前
Unity Shader 屏幕空间反射 (SSR) 原理解析
jvm·unity·游戏引擎·shader
心前阳光5 小时前
Unity之利用特性给ScriptableObject分组
unity·游戏引擎
mxwin5 小时前
Unity Shader 屏幕空间法线重建 从深度缓冲反推世界法线——原理、踩坑与 URP Shader 实战
unity·游戏引擎·shader
空中海5 小时前
第五篇:Unity工程化能力
elasticsearch·unity·游戏引擎
LF男男5 小时前
TouchPad(单例)
unity·c#
天人合一peng5 小时前
Unity 3D 电脑端和手机端都实现画线与清除功能
3d·unity·智能手机