Unity Tutorial - Survival Shooter 實作

Version 5.1

Unity官網上的教學Survival-Shooter-Project實作

Outline

記錄

Chap02

  • Drag, AngularDrag:阻力大小角阻力
    • 設定Infinity會使移動完成(放開鍵盤)後立刻停止
  • GetComponent<T> Get type T component from this object
  • Rigidbody(剛體):屬於物理運動的物件
  • Update 和 FixUpdate
  • Anim.SetTrigger(String): 啟動animator的trigger
  • Input.GetAxisRaw("Horizontal");, Input.GetAxisRaw("Vertical");:鍵盤輸入
  • Input.mousePosition:滑鼠位置
  • floorHit:滑鼠對應到遊戲中地板的位置,用投影方式算出
  • Quaternion四元數,用來旋轉

Chap03

  • offset = transform.position - target.position;: camera 和 player 的距離(固定)
  • Vector3.Lerp: 內插法移動至 player位置+offset

Chap04

  • hitParticles: 屬於ParticleSystem(粒子系統)
    • 被打的特效
  • Nav Mesh Agent(尋路agent)
    • Use Windows → navigation to bake

Chap05

  • Handle Slide Area: 控制UI.Slide的移動,移除後無法變更Slide

Chap07

  • OnTriggerEnter (Collider other) 被其他Collider碰到時自動呼叫
    • OnTriggerExit (Collider other) 離開
  • GetComponentInChildren: 可以拿child的object
  • GameObject.FindGameObjectWithTag ("Player");: 拿取其他object
  • capsuleCollider.isTrigger = true;: 模擬被Trigger的情況 → 會依序呼叫OnTriggerEnterOnTriggerExit
  • Rigidbody.isKinematic = true;:使其得到物理性質(預設即有,只是之前關掉了)
  • Destroy (gameObject, 2f);: 在2秒後將呼叫者摧毀
  • Input.GetButton("Fire1"): 滑鼠左鍵或left control
  • LineRenderer: 線渲染器渲染有寬度並可以被賦予貼圖的線,可設置顏色,寬度
    • gunLine.SetPosition((int) index, Vetor3 position)
      • 依照index順序的端點畫出線
  • timer += Time.deltaTime in Update: 計算經過時間
  • Physics.Raycast((Ray)shootRay,(RayCastHit)out shootHit,(float)range,(int)shootableMask): 計算shootHit(擊中的地方),限制在shootableMask上
    • shootableMask = LayerMask.GetMask ("Shootable");
  • transform.forward: 物體面對的方向

Chap09

  • InvokeRepeating ("Spawn", delayTime, loopTime);: Call "Spawn" function after delayTime and continue calling after loopTime
  • Instantiate: 產生物件

Chap10

  • 物件會照Hierarchy的順序render到螢幕
  • Application.LoadLevel(Application.loadedLevel);: 重新載入此場景(scene)

遇到的問題

Chap02

PlayerAC -- 設定箭頭時要取消勾選Has Exit Time

Chap04

Bake: set Width Inaccuracy % to 1 -- Unity5 找不到 → 不影響

Chap05

CanvasGroup → 直接在 Add Component 處尋找