今回は少しワールドを広げ、Rubyをいい感じに画面に収めるカメラワークを作成していく。
Cinemachine
WindowメニューからPackageマネージャーを開いて、UnityRegistryからChnemachineをインストールする。

ヒエラルキーから2D Cameraを追加する

作成されたVirtualCameraを選択して以下のように調整する。

実行してみよう。カメラがFollowに設定したRubyを追従してくれることがわかる。
Mapを広げる
世界が狭すぎるのでTilemapを編集して世界を広げよう。(Tile Paletteを使って編集)

実行してみよう。画面の端まで行くと地形のない部分が青く表示されてしまっている。

描画範囲の設定
カメラ範囲外を写さないようにAddExtensionからCinemaChineConfiner2Dを追加する。(*Confineは閉じ込めるの意味)

次に境界線を設定するコライダーを設定していく。
ヒエラルキー+からCreate Emptyを選択し、名前をConfinerとして、transform をリセットしておく。

AddComponentからPolygonCollider2Dを作成する。

今回は4角形ポリゴンが1つあればよいので頂点を5から4に変更する。

エディトコライダーを押して頂点を4角に配置したあと、細かい数値をインスペクタから調節する。

VirtualCameraを選択して、BundingShape2Dのろころに今作成したConfinerを登録する。

実行してみよう。開始と同時にキャラが画面外に押し出されてしまった。
これはコライダー同士が干渉しているためだ。

Confinerは干渉しないように設定していく。Polygon Collider 2Dの
LayerOverridesからExcludeLayersでEverythingを選択する。
これで何とも接触することがなくなった。

実行してみよう。キャラが押し出されることなく、カメラワークも適切になったことがわかる。
今回はシネマシーンを使ったカメラワークを 作成した。
次回はパーティクルを使ったエフェクトを学習する。
コメント