日々是好日~every day is a good day~

日常の中の非日常の備忘録

【Unity】カメラの追従範囲の設定とタイルマップの壁

前回『プレーヤーを追従するカメラ』ではタイルマップの背景以外の所もプレーヤーは移動でき それを追従してカメラも背景外の所を映していました

今回はカメラの追跡する範囲を設定し プレーヤーが範囲の外に移動できないようにタイルマップの壁を作ります

1.CM vcam1のインスペクターのAss Extensionの▼をクリック

2.CinemachineConfiner2Dを選択

3.ヒエラルキーの+をクリックして空のオブジェクトを作成を選択

4.名前をConfinerに変更し コンポーネントを追加をクリックしてPolygon Collider 2Dを選択

5.Polygon Collider 2Dのポイント/パス/要素0/サイズを4にする

6.緑のポッチをドラッグして四隅に合わせる

その後インスペクターの数値を合わせるときれいな四角形になる

7.レイヤーの▼をクリックしレイヤーの追加を選択

8.空いているところにConfinerを作成

9.ヒエラルキーのConfinerをクリックしインスペクターのレイヤーを先ほど追加したConfinerにする

10.編集/プロジェクト設定を選択

11.2D 物理を選択し下の方へスクロールしてマトリックス表のConfinerの列のチェックをすべてはずす

12.ConfinerをCinemachine Confiner 2DのBounding Shape 2Dへドラッグ&ドロップ

これでカメラの追従範囲の設定ができました

次にタイルマップで壁を作ります

1.Playerのコンポーネントを追加をクリックしBox Collider 2Dを追加

2.Gridを右クリックし2Dオブジェクト/タイルマップ/矩形を選択

3.名前をWallに変更し コンポーネントを追加をクリックしてTilemap Collider 2Dを選択

4.ウィンドウ/2D/タイルパレットを選択

5.タイルパレットのペンマークをクリックし適当なマップチップを選択して壁にしたい所に貼り付ける

6.PlayerのRigidbody2DのボディタイプをDynamic 重力スケールを0にする

これで実行するとプレーヤーは壁に当たると止まり カメラは設定した範囲しか映さないようになります

(再生できなくなっていたので2024.1.25に修正しました)