您的位置:首页 > 移动开发 > Unity3D

Unity 基础 - Transform

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

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



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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: