描述
在我们开发项目的时候,可能会遇到一些特殊的情况,比如场景里面有几个十几个甚至几十个看起来相同的物体,但是其实有几个物体可能在部分组件数值是特殊的,需要经常修改测试,想直观的在Scene标识这个特殊物体。又或者一个正方体(不管如何旋转90度,scene视图看起来都一样),我们想直观的在Scene视图了解这个正方体的朝向,等等。这些需求我们都可以通过自定义Scene视图来实现(其实是实现MonoBehaviour下OnDrawGizmos或OnDrawGizmosSelected方法,实现自定义绘制,并只能在Scene视图下查看)
再比如,我们做一个类似《我的世界》这样的游戏,所有物体的大小位置都是按一个定好的基数。比如定好所有的物体都是1*1*1的,那么他们移动的时候也需要1单位1单位的移动,如图拼积木一般。加入我们有十个这样的物体需要把它拼成一个门的形状,那么一种方法自然是一个个物体去修改他的Inspector下的坐标。这样我们不仅要计算每个点的坐标,还要一个个修改,要是物体更多场景更大就很麻烦。当然我们也可以在Scene视图下拖动物体,但是我们很难精确到每次拖动都是1单位。这时候,我们就可以自定义Scene视图来处理。(实现Editor下的OnSceneGUI方法)