カメラの位置をスライダーで移動させるエディタ拡張
エディタ拡張の内容
スクロールが多い横スクロールタイプのアクションゲームやシューティングゲームだとカメラの移動が結構面倒臭いのでスライダーで移動出来る様に作成。Z軸方向に 0〜1000 の範囲で移動させる事が出来ます。
Main Cameraでのみ使える様に作成して有ります。
Main CameraのInspectorでこちらのスライドを変更する事で移動させる事が出来ます。
作成方法
ProjectビューでEditorフォルダを作成し、その中にプログラムのファイルを置く。C#とJavaScriptの両方のプログラムを作りましたのでお好きな方をお使い下さい。
【C#の場合】
以下のプログラムを CameraCustom というファイルで保存。
using UnityEngine; using UnityEditor; using System.Collections; [CustomEditor (typeof(Camera))] public class CameraCustom : Editor { public override void OnInspectorGUI() { if (this.target == Camera.mainCamera) { GUILayout.BeginHorizontal(); GUILayout.Label("Position Z"); Camera mainCamera = Camera.mainCamera; if (mainCamera != null) { Vector3 pos = mainCamera.transform.position; pos.z = EditorGUILayout.Slider(pos.z, 0, 1000); mainCamera.transform.position = pos; } GUILayout.EndHorizontal(); } } }
【JavaScriptの場合】
以下のプログラムを CameraCustom というファイルで保存。
#pragma strict @CustomEditor (Camera) class CameraCustom extends Editor { function OnInspectorGUI() { if (this.target == Camera.mainCamera) { GUILayout.BeginHorizontal(); GUILayout.Label("Position Z"); var mainCamera : Camera = Camera.mainCamera; if (mainCamera != null) { var pos : Vector3 = mainCamera.transform.position; pos.z = EditorGUILayout.Slider(pos.z, 0, 1000); mainCamera.transform.position = pos; } GUILayout.EndHorizontal(); } } }
関連情報
Unity - Extending the Editor
http://unity3d.com/support/documentation/Components/gui-ExtendingEditor.html