Unityでカメラ切り替えをするスクリプトを書いたよ。5つのカメラを数字キーで切り替え

Unity

 

バーチャル3Dクリエイター神部まゆみです(*^-^*)

 

Unityでカメラ切り替えをするスクリプトを書いたから、自分用にメモしておくよ。

「動けばいい」と考えて書いただけだからスマートなコードじゃないけど、参考にできれば参考にしてね。

機能:キーボード上の1~5キーを押すことでカメラを切り替えできる

こんな感じ。

 

カメラの配置はこんな感じで。

 

動画を作るときに視点変更する用に作った感じ。

Unityでカメラ切り替えをするスクリプト

unity 2020.1.1で作成しました。

 

 

力技で書いただけだからもっと短く書けると思うけど、私は動画撮るのに使いたいだけだから動けばいいやって感じで。

特に50行目以降は繰り返しだから、for文か何かで回してゴッソリ削れそう( ̄▽ ̄;)

使い方とか注意点など

カメラの名前を合わせるか書き換える

5つまでのカメラ切り替えに対応していて、カメラの名前は

  • Maincamera
  • Camera2
  • Camera3
  • Camera4
  • Camera5

としてあるのでこれに合わせるか、適宜書き換えてください。

使わないカメラを操作するコードはコメントアウトしたほうがいいかも ※しなくても一応動くっぽい

そのままでも一応動くみたいだけど、存在しないカメラを参照することになるから、 NullReferenceException: Object reference not set to an instance of an object のエラーが出る。

私みたいに動画撮りたいだけなら無視でもいいとは思うけど、ゲーム開発とかする場合はエラーは潰しておいた方がいいと思う。

ゲーム開発みたいにやることがたくさんあるとエラーもたくさん出る可能性があるから、問題の切り分けが難しくなってくるからね。

一応コードには注釈をコメントで書いておいたよ。

使い方は、適当に空のオブジェクトを作成してアタッチすればOK

1~5キーじゃなく他のキーに割り当てたい場合は、unityのKeyCodeを見て書き換えればOK

KeyCode - Unity スクリプトリファレンス
Key codes returned by Event.keyCode. These map directly to a physical key on the keyboard.

カメラのTarget DisplayはすべてDisplay1で

ターゲットディスプレイを切り替えるのではなく、単純にインスペクターでカメラをオンオフする方式なので…。

んーこれ作ってから後で気付いたんだけど、あんまりスマートなやり方じゃないね(;^_^A

まぁ動いてるからいいけど、Target Display切り替えの方法を調べたら改めて書き直すかも。

 

 

参考にしてみてね。

 

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