【Unity】カメラリセットと障害物回避の実装

カメラリセットはゼルダシリーズではおなじみのキャラクターの向いてる方向にカメラ位置を瞬時に移動するもの。

ついでにカメラ操作でほぼ真下や真上(正確には若干の制限あり)までアングルを変えられるようにした。

カメラがほぼ真上(真下)まできてしまうと、天地がひっくり返って入力した座標の変換がおかしくなる。

加えてカメラの初期位置は完全な水平でもないので、普通にカメラを回してたら角度制限をつけないとうまく行かない。

今回はカメラの台座にパン用のゲームオブジェクトとティルト用のゲームオブジェクトを追加して、それぞれ個別に操作することで対処した。

動画がこちらです。

障害物の回避は、カメラのポジションをニアとファーで二点決め打ちして、ニアポジションからファーにレイを飛ばして障害物があったらカメラをニアポジションに移動するという仕様。

柔軟にスライドさせる方法もあるんだけど、スプラトゥーンなんかもたぶん同じように二点間の移動みたいだし、とりあえずこれで行こうと。

もっといろいろ微調整が必要だけどとりあえず、これで進めていく。

次回はオキュラスリフトに対応させてみようかと考え中。

3年前

コメントを残す

メールアドレスが公開されることはありません。