Unity - transform使用

Test_03

TransformTest

控制物体位置和物体间的父子关系

public class TransformTest : MonoBehaviour
{
    void Start()
    {
        // 【获取位置】
        //      世界坐标中物体的位置
        Debug.Log(transform.position);
        //      物体相对于父物体的位置
        Debug.Log(transform.localPosition);
        // 【获取旋转】
        //      世界坐标中物体的旋转(四元数)
        Debug.Log(transform.rotation);
        //      物体相对于父物体的旋转(四元数)
        Debug.Log(transform.localRotation);
        //      世界坐标中物体的旋转(欧拉角)
        Debug.Log(transform.eulerAngles);
        //      物体相对于父物体的旋转(欧拉角)
        Debug.Log(transform.localEulerAngles);
        //【获取缩放】
        //      只有相对于父物体的缩放
        Debug.Log(transform.localScale);
        // 【获取方向向量】
        //      前方(Z轴,蓝色)
        Debug.Log(transform.forward);
        //      右方(X轴,红色)
        Debug.Log(transform.right);
        //      上方(Y轴,绿色)
        Debug.Log(transform.up);
        
        // 父子关系
        //      获取父物体
        GameObject go = transform.parent.gameObject;
        //      获取子物体个数
        Debug.Log(transform.childCount);
        //      解除所有子物体与该物体之间的父子关系
        transform.DetachChildren();
        // 获取子物体
        //      使用子物体名称
        Transform trans = transform.Find("Child");
        //      使用子物体索引
        trans = transform.GetChild(0);
        // 判断一个物体(“Child” -- trans)是不是另一个物体("Sphere" -- transform)的子物体
        bool res = trans.IsChildOf(transform);
        Debug.Log(res);
        // 【建立父子关系】
        //      将一个物体(transform)设置成另一个物体(trans)的父物体
        trans.SetParent(transform);
    }

    
    void Update()
    {
        // 令物体时时刻刻都看向(0,0,0)点
        transform.LookAt(Vector3.zero);
        // 【旋转】 物体绕x轴旋转,每帧旋转1度(自转)
        transform.Rotate(Vector3.right, 1);
        // 【旋转】 物体以y轴,绕 Vector3.zero 旋转,每帧转动5度(公转)
        transform.RotateAround(Vector3.zero, Vector3.up, 1);
        // 【移动】 以 Vector3.forward 方向,每帧移动0.1f
        transform.Translate(Vector3.forward * 0.1f);
    }
}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值