Unity3D第一个项目【控制模型移动】
一、创建Unity项目
? ? ? ?打开Unity游戏编辑器界面,在导航菜单栏中选择File ---> ?New Project菜单项,在弹出界面中选择Create new Project页面,将项目名命名为MobilityModel,然后再点击Create Project,完成项目的创建。
? ? ? ?然后点击保存(Ctrl+S)保存场景。
?
二、构建模型
? ? ? ?在Hierarchy视图中分别创建游戏对象Plane(面板)、Cube(立方体)、Sphere(球体)、Cylinder(圆柱体)、Capsule(胶囊体),然后鼠标拖动创建的游戏对象将他们摆放在合适的位置。
? ? ? ?接下来在游戏中添加一个光源,在Hierarchy视图中选择Create--->Directional light菜单项,光源是游戏中非常重要的一个属性,一定要在游戏场景中设置它,如果不设置光源对象,Game视图会非常暗,严重影响游戏的效果。
?
三、添加脚本
? ? ? ?在Project视图中点击Create--->JavaScript菜单项创建一个游戏脚本,将其命名为MobilityModelScript.js,在脚本上编写如下代码:
//模型移动速度var TranslateSpeed = 10;//模型旋转速度var RotateSpeed = 1000;//绘制UI界面function OnGUI(){//设置GUI背景色 GUI.backgroundColor = Color.red;if(GUI.Button(Rect(10,10,70,30),"向左旋转")){//向左旋转transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed));}if(GUI.Button(Rect(90,10,70,30),"向前移动")){//向前移动transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);}if(GUI.Button(Rect(170,10,70,30),"向右旋转")){//向右旋转transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed);}if(GUI.Button(Rect(90,50,70,30),"向后移动")){//向后移动transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed));}if(GUI.Button(Rect(10,50,70,30),"向左移动")){//向左移动transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed));}if(GUI.Button(Rect(10,50,70,30),"向右移动")){//向右移动transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);}//显示模型位置信息GUI.Label(Rect(250,10,200,30),"模型位置"+transform.position);//显示模型旋转信息GUI.Label(Rect(250,50,200,30),"模型旋转"+transform.rotation);}
? ? ? 上述代码中重要方法和属性如下:
? ? ? OnGUI()方法用来绘制GUI界面组件。
? ? ? GUI.Button():设置一个按钮,返回true时表示该按钮被按下。
? ? ? GUI.Label():设置一个文本框。
? ? ? transform:为当前绑定模型的变换对象。
? ? ? transform.Rotate():设置模型旋转。
? ? ? transform.Translate():设置模型平移。
? ? ? Time.deltaTime:该数值为一个只读属性,不可修改,表示完成最后一帧的事件,单位为秒。
? ? ? Vector3:标志一个模型移动或者旋转的方法。
? ? ? Rect:规定一个矩形区域,用于显示控件。
? ? ? 将编写好的脚本对象,将其从Project视图拖拽到Hierarchy视图中的立方体(Cube)对象上,如果没有提示错误,表示脚本绑定成功,运行游戏后该游戏对象将执行该脚本中的内容。
?
? ? ? ?目前立方体对象与其他模型对象之间是不存在碰撞的,但是运行游戏后,可以控制立方体(Cube)直接穿越另一个模型对象。为了让模型对象之间具有物理的碰撞,需要给模型对象添加一个刚体(Rigidbody)属性,添加方式:首先在Hierarchy视图中选中立方体对象,在Uinty导航菜单栏中选择Component --> Physics?
-->Rigidbody菜单项即可。
?
四、测试运行
? ? ? ?点击运行按钮就能看到结果,可以点击显示的六个按钮对象,可以移动Cube(立方体)的位置和旋转。
?