読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unityエディタのシーンビューカメラの小ネタ

シーンビューのカメラについての小ネタ。

常時特定のオブジェクトを追跡する

確かUnity 4.2辺りからシーンビューのカメラが特定のオブジェクトを常時追跡するようにする機能が追加されてました。

対象のオブジェクトを選択しShift + Fを押すと、以降は別のオブジェクトを選択しない限り対象のオブジェクトを追跡します。

 

f:id:tsubaki_t1:20140816224642g:plain

主人公をシーンビューから常に見たい場合は重宝するかもしれません。

 

シーンビューのカメラを操作する

シーンビューのカメラはUnityEditor.SceneView.lastActiveSceneView.cameraからアクセス出来ます。これで特定の方向を向けるも良し、そのカメラ情報を取得するも良しです。

複数のシーンビューがある場合*1、SceneView.GetAllSceneCameras()で取得するのが良さそうです。

 

今回は、シーンのカメラを元に特定のカメラの座標を動かすエディタ拡張を紹介します。このエディタ拡張を使用すると、現在のシーンビューの角度・座標へ特定のカメラを移動させます。

シーンビューは動かすのが楽なので、カメラに特定のアングルを見せる際に便利かもしれません。

f:id:tsubaki_t1:20140816232952j:plain

シーンビューの位置カメラの位置を元にカメラを動かす

 

このスクリプトの使い方は以下のとおり。

  1. Editorフォルダを作成しそこに本スクリプトを配置する。
  2. Window>Camera>FollowSceneCamera を選択する
  3. カメラ名のボタンを押すと、そのカメラがSceneカメラと同じ位置に移動する

f:id:tsubaki_t1:20140816233506j:plain

上のスクリプトと同じ事が出来るエディタ機能

指摘感謝!!!

確かに対象のカメラを選択しGameObject>Aligin With Viewを指定すると、シーンビューと同じ位置・同じ方角にカメラが移動する。

*1:例えば4split等のレイアウト