[Unity] Unity3D研究院之材质Shader通用面板

查看:867 |回复:0 | 2021-4-16 10:11:28

您需要 登录 才可以下载或查看,没有账号?注册

x

技美在调shader的时候可能不太擅长C#编辑面板的代码,所以有了这篇文章。我封装了一个通用的着色器GUI面板,这样就可以不需要写C#代码了,实现的过程中试图解决了这几个问题。

1.视图解决分组面板展开与缩进
2.if标签与原生标签的混合

我看了下编辑器下C#的代码自定义MaterialPropertyDrawer虽然也可以实现分组,但是无法与原生标签嵌套混合,所以改变了一下思路,在面板中如果有if标签,并且Foldout没有展开不进行绘制。

直接上代码
01.png
02.png


实现展开效果

shader的GUI代码,使用foldout和if标签来实现分组,与原生标签进行混合排版


shader的底部写上 CustomEditor “CustomShaderGUI”

这样以后就技美就不需要在写任何GUI面板了代码了,shader面板的原生标签可以参考这里 https://docs.unity3d.com/ScriptReference/MaterialPropertyDrawer.html

以上代码我在项目中简单的测试过,欢迎大家提出一键与建议~
                                                                                                                                  

评分

参与人数 2活跃度 +31 展开 理由
愚不是渔 + 16 【感谢】楼主分享的内容!很棒!
蒙薪忑哮虱 + 15 【感谢】楼主分享的内容!很棒!

查看全部评分

2021-4-16 10:11:28  
 赞 赞 0

使用道具 登录

0个回答,把该问题分享到群,邀请大神一起回答。

CG 游戏行业专业问题

图文教程技术文章技术文库手机游戏引擎手游引擎
显示全部 9
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表