【読書メモ】Unityの教科書(6)

私が読んだ書籍のポイントを備忘録としてメモ書き。
今回は「Unityの教科書」から。

Chapter 6 Physicsとアニメーション

Physics

  • PhysicsはUnityに標準で付属している物理演算。
  • オブジェクトを物理挙動に従って『簡単』に動かせるようにするもの。
    使用は必須ではない(自分で挙動を指定してもよい)
  • Physicsを使って物理挙動をさせるには次の2つのcomponentを
    InspectorのAdd componentでattachする
    • Rigidbody : 力の計算(重力、摩擦など)
    • Collider : 衝突処理
  • 重力の影響を受けなくするには、
    Rigidbody componentのBody Type をKinematicにする

Find method

  • ゲームシーンからオブジェクトを探す
    • オブジェクト名で検索
      • Find(オブジェクト名) : 1個だけ
    • タグ名で検索
      • FindWithTag(タグ名) : 1個だけ
      • FindGameObjectsWithTag(タグ名) : 複数マッチ
    • タイプ名で検索
      • FindObjectOfType(タイプ名) : 1個だけ
      • FindObjectsOfType(タイプ名) : 複数マッチ

オブジェクトを動かす

  • Physics使用時は座標を直接書き換えずに力を加える
    • AddForceメソッドを使用
    • 座標を直接書き換えると当たり判定に失敗することがある
  • Spriteを反転するには拡大率を負の値にする

オブジェクトを動かす(アニメーション)

  • スプライトアニメーションを実現する2種類の方法
  • Mecanimを使用する際の登場人物
    • Sprite
      • 1枚の画像(アイコン)
    • Animation Clip
      • 複数枚の画像(Sprite)をまとめたファイル
      • Sprite情報とタイムライン(再生速度、再生時間など)情報を持つ
    • Animator Controller
      • 複数のAnimation Clipをまとめたもの。どのClipを使用するかを選択
    • Animator Compornent
      • Animator Controllerを指定(セット)する
    • Object
      • Animator Compornentをattachする

オブジェクトを動かす(スクロール)

  • シーンをスクロールさせるにはカメラを移動させればよい。

当たり判定

  • 当たり判定 = 衝突検出 + 衝突応答
  • 当たり判定には2種類のモードがある(Is Triggerで選択)
    • Collision mode : 衝突検出 + 衝突応答
      • 双方のObjectにColliderとRigidbodyをattach
      • OnCollision~2Dなどが呼ばれる。~はEnter,Stay, Exit
    • Trigger mode : 衝突検出のみ
      • 双方のObjectにColliderをattach。Rigidbodyは一方のみattachで良い
      • OnTrigger~2Dなどが呼ばれる。~はEnter,Stay, Exit

シーンチェンジ

  • 事前準備
    • 必要なシーンを作成して保存
    • File→BuildSettingsでScene in Build欄に使用するシーンをDrag&Drop
  • スクリプトファイル側
    • using UnityEngine.SceneManagement;を追加しておく
    • SceneManager.LoadScene(シーン名)でシーンを遷移
    • 現在のシーンをLoadすればシーンを再起動できる

スマホ関連

  • 加速度センサーはInput.acceleration.x等で参照可。.xは軸指定