一、建立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,在腳本上編寫如下代碼:
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(立方體)的位置和旋轉。