Unity基本操做

主要內容: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-Colliderside

// 碰撞觸發檢測
 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的一些列操做調試

訪問對象

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

實體化遊戲對象

實例化用到了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);

獲得組件

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

對象的移動

交互類

鼠標輸入

Input.GetMouseButtonDown():讀取鼠標按下狀況,括號內容即爲鼠標不一樣狀態:

  • 0:左鍵
  • 1:右鍵

鍵盤輸入

Input.GetAxis(""):返回鍵盤輸入的浮點數值

  • Horizontal:讀取鍵盤AD左右移動的值(反映在Unity中的X方向)
  • Vertical:讀取鍵盤WS上下移動的值反映在Unity中的Y方向)

用法:float h = Input.GetAxis("Horizontal");

相關文章
相關標籤/搜索