Cinemachine Colliderで近すぎるときに3人称から1人称になるようにするアイデア

カメラ

現在、サンドボックス系のゲームを作っています。とりあえず3人称視点でやっていますが、そのうち1人称視点にも自由に切り替えられるようにしたいと思っています。

とりあえずブロックを敷き詰めて、Unityちゃんを置いてみました。

カメラは、「Cinemachine Virtual Camera」コンポーネントを利用しています。

さらにカメラに「Cinemachine Collider」を利用し、ボックスの中に入ってしまわないようにしています。

近すぎて周りが見えなくなる問題

穴を掘っていくと頭が邪魔で前が見えない。
さらにカメラを下げると

なにも見えない・・・。なんとかいい方法がないものか・・・。

解決策:Follow対象を変える

現在のFollowはUnityちゃんのモデルを設定しています。なのでモデルの前にFollow対象を置けば、カメラがUnityちゃんの前に行き自然と1人称視点になるのではないか・・・。と考えました。

というわけで空のオブジェクトを作成し、Followを設定しました。

それでまた穴を掘ってみました。

影とかないのでわかりにくいですね。スイマセン・・・。

カメラを回転させて壁側にいくと・・・

めちゃくちゃわかりにくいですが、さっきまでUnityちゃんの頭になっていたところが壁が出るようになりました。これで掘っていける。

他に設定を変えた値

Lens内のVertiacal FOV

Followを変更したことで、Unityちゃんの表示位置がずれてしまったので微調整

BodyはFraming Transposer

記載していませんでしたがBodyは「Framing Transposer」を利用しています。

Tracked object Offset

Followを変更したことで、位置がずれてしまったので微調整

まとめ

個人的には、あまり満足はいっていません。目的は達成しているのですが、もうちょっと自然な動きをできるようにパラメータを調整していこうと思います。

本当なら、近づいたら透明にするようにしたいのですが、どうやらシェーダーを使う方法があるようでシェーダーはまだ勉強中なのでまたその対応は後でやろうと思います。

カメラワークってゲームでは肝の部分なんですけど、市販のゲームのカメラワークのすごさに驚かされます。

コメント

タイトルとURLをコピーしました