在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除。在unity中,Transform面板一共有3个属性:
Position (位置)
Rotation(旋转)
Scale(缩放)
这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数。
Position (位置)
任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标。一旦Vector33容器中的坐标发生变化,那么Scene视图中游戏对象位置也将发生变化。
这次总结学习的例子,使用GUI界面添加3个拖动条来分别控制X轴,Y轴,Z轴的坐标。
//立方体X轴位置
private var Value_X : float = 0.0f;
//立方体Y轴位置
private var Value_Y : float = 0.0f;
//立方体Z轴位置
private var Value_Z : float = 0.0f;
//立方体对象
private var obj : GameObject;
function Start()
{
//得到立方体对象
obj = GameObject.Find("Cube");
}
function OnGUI()
{
GUILayout.Box("移动立方体x轴");
Value_X = GUILayout.HorizontalSlider(Value_X, -10.0f, 10.0f,GUILayout.Width(200));
GUILayout.Box("移动立方体y轴");
Value_Y = GUILayout.HorizontalSlider(Value_Y, -10.0f, 10.0f,GUILayout.Width(200));
GUILayout.Box("移动立方体z轴");
Value_Z = GUILayout.HorizontalSlider(Value_Z, -10.0f, 10.0f,GUILayout.Width(200));
//设置立方体的位置
obj.transform.position = Vector3(Value_X,Value_Y,Value_Z);
GUILayout.Label("立方体当前位置:" + obj.transform.position);
}
运行: