Unity Shader 如何配置宏

Unity中有专门开启和关闭自定义宏的位置:PlayerSettings-OtherSettings-Configuration-Scripting Define Symbols

是不行的。。。

但是,其实根本就没有开启和关闭,压根就是很随意

很多时候造成的情况是:

- 别人接手你的项目,根本玩不转

- 每次“开启”-“关闭“,都是让人痛苦的过程,而大部分情况都需要测试单个shader,可以说根本没法单侧了

- 扩展性很差,需要提前规划(这也是为什么后人玩不转,后人不可能完全理解你的规划,而且你能保证自己的规划100%就是对的吗??)

不要问哥为什么知道的

不想吐槽再多,反正一般不建议用

当然,如果你写的是hello-world游戏,当我没说

 

我说不要用,你非要用,就给你看下怎么用的吧

	struct appdata_lightmap
	{
		float4 vertex : POSITION;
		half2 texcoord : TEXCOORD0;
		half2 texcoord1 : TEXCOORD1;
	#if _FANCY_STUFF
		half3 normal : NORMAL;
		#if _NORMAL_MAP
			half4 tangent : TANGENT;
		#endif
	#endif 
				};

明显这个老哥,就这个shader里面,也不止这一处用到了_NORMAL_MAP这个宏定义

所以,你需要建立一个.cginc文件

#define _NORMAL_MAP

 

然后,

			#include "Lighting.cginc"
			#include "AutoLight.cginc"
            #include "ORGEInclude.cginc"
			fixed4 _Color;

 

一个自动化构建,就很容易把这个配置,关掉了(建议打印要做好)

感受一下,没开挂之前

还是没开挂,只是换了下角度(和人一样 ,换一个角度看事情,才能感受到差异,至于能不能短时间感悟,看个人造化)

 

开挂后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值