【Unity Editor拡張】Camera選択時にSceneビューにグリッドを描画する
Sceneビューにグリッドを出したくなったので作りました。
ソースコード
CameraEditor.cs
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Camera))]
public class CameraEditor : Editor
{
void OnSceneGUI()
{
//SceneビューのCamera取得
Camera camera = SceneView.GetAllSceneCameras()[0];
//グリッド線の中心座標
Vector3 pos = camera.transform.position;
//Debug.DrawLine()は原点から離れすぎるとなぜか表示されなくなるので中心を原点に近づける
pos += camera.transform.forward * pos.magnitude;
float size = 99999f;
Debug.DrawLine(pos - camera.transform.right * size, pos + camera.transform.right * size, Color.yellow);
Debug.DrawLine(pos - camera.transform.up * size, pos + camera.transform.up * size, Color.yellow);
//Sceneビュー更新
EditorUtility.SetDirty(target);
}
//Cameraからフォーカスが外れたときに実行
void OnDisable()
{
//Sceneビュー更新
EditorUtility.SetDirty(target);
}
}
参考
UnityのSceneViewにラベルやボタンを表示する - テラシュールブログ
http://tsubakit1.hateblo.jp/entry/2014/07/26/220458
けいごのなんとか - SceneViewクラスについて
http://anchan828.hatenablog.jp/entry/2013/03/13/004726
Author And Source
この問題について(【Unity Editor拡張】Camera選択時にSceneビューにグリッドを描画する), 我々は、より多くの情報をここで見つけました https://qiita.com/r-ngtm/items/f7c561714e42caa6bb20著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .