首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > 不写GUI面板自由拓展Lit着色器
2022
03-17

不写GUI面板自由拓展Lit着色器

在URP中PBR的材质是Lit.shader,由于项目组需要拓展不得不仿照它的写法在写一堆C#的代码来配合面板的显示,一方面容易出BUG另一方面非常麻烦。

首先复制一个Lit.shader改成MyLit.shader放到Asset目录下,Properties属性面板中下面写入

 

[ext]标签用于区分这个属性是我们新加的还是URP自带的。

[Foldout]标签用于面板展开关闭

[if(xxx)]标签表示将一种效果所用到的属性归类。

在Shader的最下面使用自己的面板

CustomEditor “LitShader”

由于原版的LitShader.cs是内部类,需要拷贝出来一份,我这里使用partial类将它们分开。如下代码所示

 

OK,面板已经拓展在原版Lit.shader下面了,开关启动Toggle就可以不需要在写GUI面板了。

不写GUI面板自由拓展Lit着色器 - 雨松MOMO程序研究院 - 1

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

留下一个回复

你的email不会被公开。