2022/06/02

OrbitCameraController

OrbitCameraController for Unity

最近Unityでなんだかんだすることがあり、ちょっと便利なの作ったので。。

GameViewでSceneViewのようにカメラ操作が可能なスクリプトを公開
Gist URL
https://gist.github.com/hiroshi-nishiura/f70838083ad818d38911bfb77beb7557

カメラアングルが重要じゃない開発段階で、キャラの動きやポストエフェクトの確認とかでSceneViewとGameViewの切り替えが面倒。GameカメラをSceneViewに合わせてから実行とか面倒。GameView上でSceneView感覚でぐりぐり出来たらいいのに。という思いで作りました。

このスクリプトをGameカメラオブジェクトに加えると、GameView上でSceneViewとほぼ同じ感覚でカメラ操作ができるようになります。
実行時にSceneViewのアングルをGameカメラに反映させたり、終了時にGameカメラのアングルをSceneViewに反映することができるので、SceneViewとGameViewがシームレスな感じになります。

意識的に変えているところは、Altキーを押す必要があるという点と
SceneViewではできない、BallOrbitとRollが可能なところ。
後、SceneViewカメラを初期化するボタンもあります。

複数カメラにも一応対応してます。カメラの区別はTargetDisplayで判断しているので、操作を分けたい場合は、カメラのTargetDisplayを指定して、GameViewのDisplayを切り替えると別々の操作になります。