使用RGB的十六进制来设置颜色,在工作中减少了颜色的输入次数。在项目使用开发同事从美术同事拿到的颜色表基本上都以十六进制来表示。
本人目前用版本为Unity3d4.6.7,未发现在Color面板中能进行十六进制颜色转换,也未发现能通过编写扩展代码调整Color在Inspector中的GUI显示。
- Unity3d4.6.7
- NGUI3.8.2
下文假设你已经对Untiy3dEditor.Editor和NGUI有基本认识
NGUI作用Unity3d最为热门的UI插件,大部分控件继承基类UIWidget,且已包含了Color属性。下文将修改UIWidgetInspector.cs,将RGB转换为十六进制,并且可以UIWidget的Inspector面板中转换
*最终结果如下图
—java
UIWidgetInspector.cs找到如下方法
static public void DrawColor (SerializedObject so, UIWidget w)
{
if ((w.GetType() != typeof(UIWidget)))
{

本文介绍了如何在Unity3d 4.6.7版本结合NGUI 3.8.2实现十六进制颜色转换,以简化颜色设置过程。由于Unity3d的Color面板不直接支持十六进制转换,作者通过修改UIWidgetInspector.cs文件,为NGUI控件增加了颜色的十六进制显示和转换功能。虽然Unity3d 5.3.3及更高版本已内置此功能,但该方法对于旧版本仍有参考价值。
最低0.47元/天 解锁文章
2593

被折叠的 条评论
为什么被折叠?



