【转】Unity Scene场景自定义坐标轴
生活随笔
收集整理的這篇文章主要介紹了
【转】Unity Scene场景自定义坐标轴
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【轉(zhuǎn)】Unity Scene場景自定義坐標(biāo)軸
來自:https://blog.csdn.net/cheng624/article/details/70859054
多看看別人的代碼是沒有壞處的,即使學(xué)不了人家的大框架,偶爾拾起一些小東西也是可以的。
最近扒了一下DoTween(聲明一下源碼是自己反編譯的,只為學(xué)習(xí)),看見了如何在Scene場景中添加標(biāo)注和坐標(biāo)軸,具體做法是,在你的腳本Editor中,比如你重定義某個(gè)mono腳本的Inspector顯示中,加入OnSceneGUI函數(shù),使用Handles進(jìn)行操作。
?
1 void OnSceneGUI() 2 { 3 if (_target.nodes.Count > 0) 4 { 5 //allow path adjustment undo: 6 Undo.RecordObject(_target, "Adjust Path"); 7 8 //path begin and end labels: 9 Handles.Label(_target.nodes[0], "'" + _target.name + "' Begin"); 10 Handles.Label(_target.nodes[_target.nodes.Count - 1], "'" + _target.name + "' End"); 11 12 //node handle display: 13 for (int i = 0; i < _target.nodes.Count; i++) 14 { 15 _target.nodes[i] = Handles.PositionHandle(_target.nodes[i], Quaternion.identity); 16 if (i != 0 || i != _target.nodes.Count - 1) 17 Handles.Label(_target.nodes[i], i.ToString()); 18 } 19 if (GUI.changed) 20 { 21 EditorUtility.SetDirty(_target); 22 } 23 } 24 25 }?
代碼很簡單,只是記錄方法而已,具體的效果:
?
給開始和結(jié)束點(diǎn)添加了一個(gè)label, 每個(gè)節(jié)點(diǎn)添加了一個(gè)坐標(biāo)軸和一個(gè)序號(hào)。其中藍(lán)色的線使用Gizmos畫的,可自行度娘。
posted on 2018-08-06 09:57 時(shí)空觀察者9號(hào) 閱讀(...) 評(píng)論(...) 編輯 收藏
總結(jié)
以上是生活随笔為你收集整理的【转】Unity Scene场景自定义坐标轴的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018.8.5 复习笔记
- 下一篇: 【转】C++11多线程的基本使用