C# Transform

Transform 变换

对象的位置、旋转和缩放

Transform.childCount 子对象数

该变换的子对象数量

print(transform.childCount);

Transform.DetachChildren 分离子对象

所有子对象解除父子关系

transform.DetachChildren();
Destroy(gameObject);

Transform.eulerAngles 欧拉角

此旋转作为欧拉角度

public float yRotation = 5.0F;
void Update() {
    yRotation += Input.GetAxis("Horizontal");
    transform.eulerAngles = new Vector3(10, yRotation, 0);
}
void Example() {
    print(transform.eulerAngles.x);
    print(transform.eulerAngles.y);
    print(transform.eulerAngles.z);
}

Transform.Find 查找

通过名字查找子对象并返回它

Transform aFinger;
void Start()
{
    aFinger = transform.Find("LeftShoulder/Arm/Hand/Finger");
}
void Update()
{
    aFinger.Rotate(Time.deltaTime*20, 0, 0);
}

Transform.forward 向前

在世界空间坐标,变换的蓝色轴。也就是z轴

rigidbody.velocity = transform.forward * 10;

Transform.GetChild 查找子对象

通过索引返回一个变换的子对象

Transform GetChild(int index);

Transform.GetSiblingIndex 获取同级索引

获取该对象的同级索引

void Start () {
    Debug.Log(this.transform.GetSiblingIndex());
}

Transform.hasChan

C# 中,`Transform` 是 Unity 引擎中的一个核心类,用于表示游戏对象(GameObject)的位置(Position)、旋转(Rotation)和缩放(Scale)。每个 `GameObject` 都有一个 `Transform` 组件,它是控制物体在场景中空间状态的基础。 下面是一个简单的例子,展示如何使用 C# 在 Unity 中操作 Transform: ```csharp using UnityEngine; public class TransformExample : MonoBehaviour { public float moveSpeed = 5.0f; public float rotateSpeed = 100.0f; void Update() { // 向前移动 if (Input.GetKey(KeyCode.W)) { transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); } // 向后移动 if (Input.GetKey(KeyCode.S)) { transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime); } // 向左旋转 if (Input.GetKey(KeyCode.A)) { transform.Rotate(Vector3.up, -rotateSpeed * Time.deltaTime); } // 向右旋转 if (Input.GetKey(KeyCode.D)) { transform.Rotate(Vector3.up, rotateSpeed * Time.deltaTime); } // 缩放物体 if (Input.GetKey(KeyCode.Space)) { transform.localScale += Vector3.one * 2.0f * Time.deltaTime; } } } ``` ### 代码解释: - `transform.Translate(...)`:让物体沿着指定方向移动。`Vector3.forward` 表示物体的前方。 - `transform.Rotate(...)`:让物体绕着某个轴旋转。`Vector3.up` 表示绕 Y 轴旋转。 - `transform.localScale`:控制物体的缩放比例。`localScale` 可以分别修改 x、y、z 三个方向的大小。 - `Time.deltaTime`:确保移动速度与帧率无关,使得物体在不同性能设备上表现一致。 这个脚本实现了以下功能: 1. 按下 W/S 键可以让物体向前或向后移动; 2. 按下 A/D 键可以让物体绕 Y 轴左右旋转; 3. 按下空格键可以持续放大物体。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值