主要內容:html
Unity操做:git
在某函數內進行Debug.Log(...)
可實現調試檢測,例如:github
public class Player : MonoBehaviour { // Use this for initialization void Start () { Debug.Log("Hello"); } // Update is called once per frame void Update () { Debug.Log(" World"); } } //在控制檯查看調試信息
前提:碰撞二者都有碰撞器 Collider ,至少一物體有剛體 Rigidbody(詳細前提見 Unity-Manual-Colliders )ide
// 碰撞觸發檢測 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");
存在於碰撞體collider頁面欄,勾選is Trigger 則表示物體爲觸發器(能夠穿過),不然物體爲碰撞體。函數
遊戲視角的移動學習
對Main Camera
建立腳本,在Update
內調用:transform.Translate()
實現視角移動this
燈光是實時計算的(默認設置:Light|Mode|Realtime
),對不變更的燈光進行貼圖能夠節省資源,在Windows|Rendering|Lighting Setting
打開了Lighting Setting
頁面點擊 Generate Lighting
實現燈光貼圖。3d
關於Gameobject的一些列操做調試
在腳本內建立一個字段,例如子彈bullet
:public Gameobject bullet;
,在Unity頁面經過將Prefab
賦到腳本內bullet
一欄,從而實如今腳本內經過bullet
字段訪問到Prefab
。code
實例化用到了GameObject.Instantiate(m_object, m_transform.position,m_transform.rotation)
transform.position,transrotation
說明地址爲腳本所在對象的位置;也可自行修改用法:
//建立對象 b 接收實體化的預製體 bullet GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);
//rgd 獲得對象 b 的剛體組件 Rigidbody rgd = b.GetComponent<Rigidbody>();
Input.GetMouseButtonDown()
:讀取鼠標按下狀況,括號內容即爲鼠標不一樣狀態:
Input.GetAxis("")
:返回鍵盤輸入的浮點數值
用法:float h = Input.GetAxis("Horizontal");