私が読んだ書籍のポイントを備忘録としてメモ書き。
今回は「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を使用する
- Mecanimを使用する際の登場人物
- Sprite
- 1枚の画像(アイコン)
- Animation Clip
- 複数枚の画像(Sprite)をまとめたファイル
- Sprite情報とタイムライン(再生速度、再生時間など)情報を持つ
- Animator Controller
- 複数のAnimation Clipをまとめたもの。どのClipを使用するかを選択
- Animator Compornent
- Animator Controllerを指定(セット)する
- Object
- Animator Compornentをattachする
- Sprite
オブジェクトを動かす(スクロール)
- シーンをスクロールさせるにはカメラを移動させればよい。
当たり判定
- 当たり判定 = 衝突検出 + 衝突応答
- 当たり判定には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
- Collision mode : 衝突検出 + 衝突応答
シーンチェンジ
- 事前準備
- 必要なシーンを作成して保存
- File→BuildSettingsでScene in Build欄に使用するシーンをDrag&Drop
- スクリプトファイル側
- using UnityEngine.SceneManagement;を追加しておく
- SceneManager.LoadScene(シーン名)でシーンを遷移
- 現在のシーンをLoadすればシーンを再起動できる
スマホ関連
- 加速度センサーはInput.acceleration.x等で参照可。.xは軸指定