Unity 2Dのサイドビューゲームで使える基本的なカメラ用スクリプトのご紹介です。
GPTにご協力いただいて基本的なカメラを作成しましたので、下記gitページからダウンロード/コピペしてお使いください。
ソースコードをベースに生成AIへのプロンプトとしてもご利用ください。
2DSideFollowCamera/CameraController.cs at main · KidaiRinboku/2DSideFollowCamera
Contribute to KidaiRinboku/2DSideFollowCamera development by creating an account on GitHub.
適用したサンプルゲームは下記からプレイ可能です(ADキー、左右キー、スペースキーでの操作のためキーボード必須です)
Unity2Dサイドビューでカメラスクロールを実現するCameraController.csの使いかた
- Gitからスクリプトを入手(コピペの場合、貼り付けるScript名を「CameraController.cs」に!)
- CameraController.csをヒエラルキービューのMainCameraにアタッチ
- MainCameraのインスペクタービューの各オプションを設定していく
Camera Follow Move Mode カメラの自動追従を有効にするかどうか
Camera Follow Object カメラが追従対象にするオブジェクト(対象オブジェクトをヒエラルキービューからドラッグドロップで)
Left Wall 左側に設定している壁(ここで指定した壁の右辺を左側視野の限界値としているため、指定した壁は描写されません)
Right Wall 右側に設定している壁(ここで指定した壁の左辺を右側視界の(ry)
GroundLayerMask 地面として扱うレイヤーを設定、追従対象からRayLengthの長さだけ下に向かってこのレイヤーを検知、検知した地面の底辺をカメラ描写範囲のY下方向制限値に(地面の下の亜空間を描写しないために必要)
RayLength (追従対象から下に向かって地面を探す際の距離、ステージ開始時に地面からはじまるのであれば変更不要で10のままでOK.今回は空中から始まるので長くとりました)
これにてカメラの設定完了です。
仕様や注意点
- 開始地点より下方向(地下)に行くタイプのサイドビューには未対応なため、必要な場合には手動またはスクリプトをベースにAIプロンプト等で修正願います
- 地面オブジェクトには共通の地面用Layerが設定されていることを確認してください
- 左右の壁指定について、透明な(描写しない)壁をご指定ください。指定した壁を描写しないように追従する仕様です。壁を描写したい場合にはソースコードを修正願います。
コメント