【转】Unity Scene场景自定义坐标轴

来自:https://blog.csdn.net/cheng624/article/details/70859054

多看看别人的代码是没有坏处的,即使学不了人家的大框架,偶尔拾起一些小东西也是可以的。

最近扒了一下DoTween(声明一下源码是自己反编译的,只为学习),看见了如何在Scene场景中添加标注和坐标轴,具体做法是,在你的脚本Editor中,比如你重定义某个mono脚本的Inspector显示中,加入OnSceneGUI函数,使用Handles进行操作。

 

 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     }

 

代码很简单,只是记录方法而已,具体的效果:

 

给开始和结束点添加了一个label, 每个节点添加了一个坐标轴和一个序号。其中蓝色的线使用Gizmos画的,可自行度娘。

转载于:https://www.cnblogs.com/timeObjserver/p/9428669.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值