Unity的transform(在脚本上的展示)

45 阅读1分钟

1、创建一个TransformTest脚本

2、创建一个三重嵌套的3D物体,并在中间一重的物体添加脚本

3、Transform的常用数据

        //获取位置
        Debug.Log(transform.position);   //相对在世界的位置
        Debug.Log(transform.localPosition);  //相对与父物体的位置
        //获取旋转
        Debug.Log(transform.rotation);   //获取到的是四元数
        Debug.Log(transform.localRotation);
        Debug.Log(transform.eulerAngles); //获取到的是欧拉角度(三维向量x,y,z)
        Debug.Log(transform.localEulerAngles);
        //获取缩放
        Debug.Log(transform.localScale);
        //向量
        Debug.Log(transform.forward); //z轴
        Debug.Log(transform.right); // x轴
        Debug.Log(transform.up); //y轴

4、Transform的常用方法

void Update()
    {
        //时时刻刻看向000点
        //transform.LookAt(Vector3.zero);
        //旋转
        //transform.Rotate(Vector3.up,1);//绕y轴每帧旋转一度
        //绕某个物体旋转
        //transform.RotateAround(Vector3.zero, Vector3.up, 1);
        //移动
        transform.Translate(Vector3.forward * 0.1f);  //每一帧移动0.1

    }

5、Transform的父子关系

//父子关系
        //获取父物体
        //transform.parent.gameObject
        //子物体个数
        //Debug.Log(transform.childCount);
        //解除与子物体的父子关系
        //transform.DetachChildren();
        //获取子物体
        Transform trans = transform.Find("child");   //通过名称获取
        trans = transform.GetChild(0);  //通过下标获取
        //判断一个物体是否为另一个物体的子物体
        bool res = trans.IsChildOf(transform);
        //设置为父物体
        trans.SetParent(transform);