1. 程式人生 > >Unity3D官方案例1-星際航行遊戲Space Shooter

Unity3D官方案例1-星際航行遊戲Space Shooter

【1】學習中的使用的類

 1.Input:使用此類讀取常規遊戲設定中的軸,訪問移動裝置的多點觸控和加速度。

本例使用到的方法:

GetAxis(string axisName):獲取鍵盤和操縱桿的輸入,用於連續移動。在Unity中Edit > Project Settings > Input獲取axisName。

本例使用的axisName:“Horizontal”“Vertical”,獲取水平和垂直方向的輸入。

bool GetButton(string buttonName):獲取虛擬按鍵的輸入,用於單次輸入。buttonName與axisName相同。

 bool GetKeyDown(string name):獲取按下鍵位後反饋的結果,通常與祕鑰程式碼KeyCode連用。

2.Rigidbody:通過物理模擬控制物體的位置。

本例使用的屬性:

public Vector3 velocity:剛體的速度向量

public Quaternion rotation:剛體的旋轉。接收四元數,通常與Quaternion.Euler一起使用。

 Vector3 angularVelocity:剛體的角速度向量,本例中與Random.insideUnitSphere連用表示剛體以一個隨機角度旋轉。

3.Mathf:常用數學函式的集合類。

本例使用的方法:float Clamp(float value, float min, float max):把值限制在最大值和最小值之間,超出範圍按照給定的最大值和最小值顯示。本案例用於固定遊戲的邊界。

4.Quaternion:表示旋轉的四元數。

本例使用的方法:

  Quaternion Euler(float x, float y, float z):接受X、Y、Z軸旋轉角度的值為菜蔬,並返回一個Quaternion物件

5.Object:Unity所有可引用物件的基類。

本例使用的方法:

Object Instantiate(Object original, Vector3 position, Quaternion rotation):例項化一個克隆物件。

 void Destroy(Object obj, float t = 0.0F):刪除遊戲物件。

6.Collider:所有碰撞器的基類。

本例使用的方法:void OnTriggerExit(Collider other):當碰撞器離開觸發器時,呼叫此方法。

 本例使用的屬性:string tag:獲取碰撞體的標籤,通常用來標誌和查詢遊戲物件。

7.Random:用於生成隨機資料的類。

本例使用的屬性:Vector3 insideUnitSphere返回球半徑內隨機一點的向量

本例使用的方法: float Range(float min, float max):返回最小值和最大值之間的浮點數。

8.Transform:物件的位置,旋轉和縮放。通常與position屬性連用,表示遊戲物件的位置。

9.AudioSoruce:3D中音訊源的表示.通常用 PlayPause and Stop來控制音訊的動作。

10.Text:繪製字型資料到螢幕的預設圖形。其text屬性通常與Text元件中的內容關聯。

11.Debug:開發遊戲時簡化除錯的方法的類.本例中用其Log方法想控制檯輸出內容。

【2】學習中用到的元件

1.rigidbody 剛體:用於通過指令碼為飛船新增作用力。其中常用的選項是Use Gravity,作用是為物體新增或刪去重力。

元件內選項:angular drag:角速度阻力,決定物體旋轉的持續性,如果需要一直旋轉則將去設為0.

2.Mesh Colleder 網格碰撞器:使飛船和障礙物發生碰撞,並觸發事件.需要勾選Is Trigger和Convex(凸面)選項,使其設為觸發器。

備註:unity5以後不再支援非Kinematic剛體的非Convex網格碰撞體。

3.Material 紋理:初始為Default Material,可選其他模式。本例選擇unlit中的Texture,意為不受光照影響的shader。

4.Capsule Collider膠囊碰撞體:形狀形似膠囊,適合放在長條橢圓形物體上。

5.Audio Source音訊元件:設定音訊的效果

元件內選項:

Play on Wake表示音訊在喚醒時自動播放。

AudioClip:音訊的來源。

Loop:是否迴圈。

【3】unity中的物件

1.camera 攝像機:Projection選項為攝像機的投影方式,Orthographic為正交投影,通常用於2D遊戲或者2D UI。

2.quad:邊長為1個單位的正方形平面

【4】處理技巧

1.使用紋理圖片時,應對比著圖片的尺寸進行放大,比如1024*2048的圖片,操作時在Transform中的Scale選項的XY值按照1:2設定。

2.添加了類之後,如果其中的公共屬性未賦值,會報出NullRenferenceException錯誤,此時需要在了類的上面新增可序列化屬性[System.Serializable]。