自己的实践步骤如下:
1.从unity官网上,下载与自己使用的unity版本相同的builtin_shaders包。解压包,得到四个文件夹。
2.打开DefaultResourcesExtra文件夹,找到Standard.shader。导入自己的工程,把Standard文件名改为CustomStandard,shader里面也要改。这时在面板上选择shader,可以看到自定义的CustomStandard。
3.我自己的项目需要修改的是输入,于是从CGIncludes文件夹里,找到UnityStandardInput.cginc,导入工程。把文件名改为UnityCustomStandardInput.cginc。按照自己的需求,对文件进行修改。保存。
4.CGIncludes文件夹里找到以下4个文件,导入工程。少一个都得不到结果。
打开UnityStandardMeta.cginc和UnityStandardCore.cginc两个文件,找到#include “UnityStandardInput.cginc”, 改为自己修改过的#include “UnityCumtomStandardInput.cginc”。
至此结束,给材质选择CustomStandard,能够得到我想要的效果。
注意:
一、关于导入的cginc文件,在论坛上看到有人需要导入更多其他文件。我想具体需要导入哪些文件,应该因不同需求、项目渲染设置等因素而有所不同。
二、论坛上有人说要把导入的文件,和修改的shader都放在Resources文件夹下才能得到结果,我这里不需要。提出来供大家参考。