Unity 基础 - Transform

作者: hrscy | 来源:发表于2016-05-20 11:56 被阅读416次

    Transform 可以说是每个游戏对象上必备的组件,主要有两个作用:一个是控制游戏对象的位置、旋转和缩放,第二个是管理游戏对象间的父子关系

    打开 Unity 创建一个 Cube 物体,然后给 Cube 物体添加一个脚本,新建的 cube 可能不在原点,这时可以选中 Cube 物体,然后在 Inspector 面板中找到 Transform 属性,右键点击 Transform,可以弹出下面的对话框,点击 reset 就可设置 Cube 物体到原点了。

    reset
    using UnityEngine;
    using System.Collections;
    
    public class Test2 : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
            // 获取当前游戏对象上的 Transform 组件
            // transform
            // 控制游戏对象的位置、旋转和缩放
            // 获取当前游戏对象的位置 - 世界坐标系中的位置
            Vector3 v = transform.position;
            print(v);
            // localPosiotion 是 在局部坐标系中的位置
    //      transform.localPosiotion;
            // 一般不直接修改 四元数
            // transform.rotation;
            // transform.localRotation;
            
            // 获取当前游戏父对象的 transform 组件
    //      transform.parent;
            // 当前游戏对象的根对象
    //      transform.root;
            // 获取当前游戏对象 叫做 Cube 的对象
            transform.Find("Cube");
            // 获取当前游戏对象 叫做 Cube 的子对象
    //      transform.FindChild("Cube");
        }
        
        // Update is called once per frame
        void Update () {
            if (Input.GetKeyDown (KeyCode.S)) {
                // 修改 transform 的位置
    //          transform.position = new Vector3(0, 1, 0);
    //          print (transform.position);
                //变化 当前游戏对象
                transform.Translate (new Vector3(0, -1, 0));
            } else if (Input.GetKeyDown (KeyCode.W)) {
                // transform.Translate (new Vector3(0, +1, 0));
                // 旋转当前游戏对象
                // transform.Rotate (Vector3.up, 10.0f);
                // 欧拉角,也是旋转,但是只能旋转一次
                transform.eulerAngles = new Vector3(0.0f, 45.0f, 0.0f);
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:Unity 基础 - Transform

        本文链接:https://www.haomeiwen.com/subject/viqnrttx.html