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

相关推荐
阿汪队11 分钟前
【更新日志】拉克丝大战亚索-2024.09.23
unity·游戏程序·游戏开发·技术美术·独立游戏
Leoysq2 小时前
【Unity保龄球项目】的实现逻辑以及代码解释
java·unity·游戏引擎
仙魁XAN3 小时前
Unity 设计模式 之 结构型模式 -【适配器模式】【桥接模式】 【组合模式】
unity·设计模式·组合模式·桥接模式·适配器模式
仙魁XAN3 小时前
Unity 设计模式 之 行为型模式 -【状态模式】【观察者模式】【备忘录模式】
观察者模式·unity·设计模式·状态模式·备忘录模式
Bartender_Jill5 小时前
[PICO VR]Unity如何往PICO VR眼镜里写持久化数据txt/json文本
unity·json·游戏引擎·图形渲染·vr
雪 狼9 小时前
Unity 热更新(HybridCLR+Addressable)-创建Addressable资源
unity·游戏引擎
杳戢17 小时前
技术美术百人计划 | 《4.1 Bloom算法》笔记
人工智能·笔记·深度学习·计算机视觉·unity·图形渲染·技术美术
仙魁XAN17 小时前
Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】
unity·设计模式·代理模式·享元模式·外观模式·装饰者模式
TopGames17 小时前
【Unity编辑器扩展】解决uGUI动效痛点 零代码可视化快速制作UI动效 DOTween Sequence可视化
ui·unity·编辑器·ui动效