Unity基本操做

主要內容:html

Unity操做git

<h2 id="1">調試</h2> 在某函數內進行`Debug.Log(...)`可實現調試檢測,例如: ``` public class Player : MonoBehaviour {github

// Use this for initialization
void Start () {
    Debug.Log("Hello");
}

// Update is called once per frame
void Update () {
	Debug.Log(" World");
}

} //在控制檯查看調試信息ide

<h2 id="2">碰撞體</h2>
前提:碰撞二者都有碰撞器 Collider ,至少一物體有剛體 Rigidbody(詳細前提見 [Unity-Manual-Colliders](https://docs.unity3d.com/Manual/CollidersOverview.html) )

// 碰撞觸發檢測 private void OnCollisionEnter(Collision collision) { print(collision.collider); //獲取碰撞體+碰撞器類型 print(collision.collider.name); //碰撞體名稱 print(collision.collider.tag); //碰撞體標籤 }函數

// 碰撞結束檢測 private void OnCollisionExit(Collision collision) print("OnCollisionExit");學習

// 碰撞持續檢測 private void OnCollisionStay(Collision collision) print("OnCollisionSaty");this

<h2 id="3">觸發器</h2>
存在於碰撞體collider頁面欄,勾選is Trigger 則表示物體爲觸發器(能夠穿過),不然物體爲碰撞體。

<h2 id="4">視角</h2>
遊戲視角的移動

<h3 id="4.1">鍵盤視角平移</h3>
對`Main Camera`建立腳本,在`Update`內調用:`transform.Translate()`實現視角移動

<h2 id="5">光照貼圖</h2>
燈光是實時計算的(默認設置:`Light|Mode|Realtime`),對不變更的燈光進行貼圖能夠節省資源,在`Windows|Rendering|Lighting Setting` 打開了`Lighting Setting` 頁面點擊 `Generate Lighting` 實現燈光貼圖。

<h2 id="6">遊戲對象</h2>

關於Gameobject的一些列操做


<h3 id="6.1">訪問對象</h3>

在腳本內建立一個字段,例如子彈`bullet`:`public Gameobject bullet;`,在Unity頁面經過將`Prefab`賦到腳本內`bullet`一欄,從而實如今腳本內經過`bullet`字段訪問到`Prefab`。

<h3 id="6.2">實體化遊戲對象</h3>

實例化用到了`GameObject.Instantiate(m_object, m_transform.position,m_transform.rotation)`
- GameObject.Instantiate():建立實體化函數
- m.object:所建立的預製體
- m_transform.position,m_transform.rotation:預製體位置及旋轉角度,默認下爲`transform.position,transrotation`說明地址爲腳本所在對象的位置;也可自行修改

用法:

//建立對象 b 接收實體化的預製體 bullet GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);3d

<h3 id="6.3">獲得組件</h3>

//rgd 獲得對象 b 的剛體組件 Rigidbody rgd = b.GetComponent<Rigidbody>();調試

<h3 id="6.4">對象的移動</h3>


<h2 id="7">交互類</h2>
<h3 id="7.1">鼠標輸入</h3>
`Input.GetMouseButtonDown()`:讀取鼠標按下狀況,括號內容即爲鼠標不一樣狀態:
- 0:左鍵
- 1:右鍵

<h3 id="7.2">鍵盤輸入</h3>

`Input.GetAxis("")`:返回鍵盤輸入的浮點數值
- Horizontal:讀取鍵盤AD左右移動的值(反映在Unity中的X方向)
- Vertical:讀取鍵盤WS上下移動的值反映在Unity中的Y方向)

用法:`float h = Input.GetAxis("Horizontal");`
相關文章
相關標籤/搜索