Unity Transform 组件

embedded/2024/9/24 12:58:53/

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

1. position  
   表示物体在世界空间中的位置。可以通过 transform.position 获取和设置。它是一个 Vector3,表示物体在 x、y、z 轴上的位置。
   csharp
   transform.position = new Vector3(0, 5, 10);
   

2. localPosition  
   表示物体在其父对象的本地空间中的位置。如果物体没有父对象,则 localPosition 和 position 是相同的。
   csharp
   transform.localPosition = new Vector3(1, 2, 3);
   

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

4. localRotation  
   表示物体在本地空间中的旋转。如果物体有父对象,这个值会相对于父对象的旋转来计算。
   csharp
   transform.localRotation = Quaternion.Euler(45, 0, 0);
   

5. eulerAngles  
   物体的欧拉角表示的旋转。虽然 Unity 内部使用四元数来表示旋转,但欧拉角更直观,尤其是对于简单的旋转操作。
   csharp
   transform.eulerAngles = new Vector3(0, 180, 0);
   

6. localEulerAngles  
   表示物体的本地空间中的欧拉角旋转。
   csharp
   transform.localEulerAngles = new Vector3(30, 60, 90);
   

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

8. parent  
   获取或设置物体的父对象。通过设置父对象,你可以控制该物体相对于父对象的位置、旋转和缩放。
   csharp
   transform.parent = someOtherTransform;
   

9. childCount  
   表示当前物体有多少个子对象。
   csharp
   int count = transform.childCount;
   

10. SetParent(Transform parent)  
    设置或更改物体的父对象。如果传入 null,物体将没有父对象。
    csharp
    transform.SetParent(newParentTransform);
    

11. Translate  
    用于移动物体,支持世界空间或本地空间。
    csharp
    transform.Translate(Vector3.forward  Time.deltaTime);
    

12. Rotate  
    用于旋转物体,支持世界空间或本地空间。
    csharp
    transform.Rotate(Vector3.up, 90);
    

13. LookAt  
    让物体朝向目标对象。
    csharp
    transform.LookAt(targetTransform);
    

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


http://www.ppmy.cn/embedded/116101.html

相关文章

如何使用ssm实现新媒体视域下的中国古诗词展演+vue

TOC ssm678新媒体视域下的中国古诗词展演vue 绪论 课题背景 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提…

MQ高级(二):死信交换机--延迟消息及DelayExchange插件--超时订单案例实现

目录 1.延迟消息 1.1.死信交换机和延迟消息 1.1.1.死信交换机 1.1.2.延迟消息 1.2.DelayExchange插件 1.2.1.下载 1.2.2.安装 1.2.3.声明延迟交换机 1.2.4.发送延迟消息 1.3.超时订单问题 1.3.1.定义常量 1.3.2.配置MQ 1.3.3.改造下单业务,发送延迟消息…

Linux 基础入门操作 第九章 进程之间通讯共享内存

9.4 共享内存 速度最快,效率最高的进程间通信方式,进程之间直接访问内存,而不是通过传送数据。但是使用共享内存需要自己提供同步机制。 9.4.1 创建函数 int shmget(key_t key, size_t size, int shmflg);第一个参数,与信号量的…

基于物联网技术的智能运动检测仪设计(微信小程序)(230)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】项目背景1.4 开发工具的选择【1】设备端开发【2】微信小程序开发…

Oracle事物

在 Oracle 中,当你开启一个事务(例如,通过执行 BEGIN 语句或直接执行 DML 语句如 INSERT 、 UPDATE 或 DELETE )时,以下行为会发生: 1. **行级锁**:当你修改数据时(例如&#xff0c…

Python基础学习(3)

目录 一,函数 1,函数的定义 2,函数的参数 1,默认值 2,传参 3,返回值 4,变量的作用域 5,函数的调用 二,常用数据结构 1,列表 列表的定义 列表的特性…

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Ng…

Blender软件三大渲染器Eevee、Cycles、Workbench对比解析

Blender 是一款强大的开源3D制作平台,提供了从建模、雕刻、动画到渲染、后期制作的一整套工具,广泛应用于电影、游戏、建筑、艺术等领域。 渲染101云渲染云渲6666 相比于其他平台,如 Autodesk Maya、3ds Max 或 Cinema 4D,Blende…