一.前言
说到Unity的shader,和我们熟悉的C,C++,C#,java等语言不同,C++等语言是属于CPU编程,语法几乎和我们的英语语法很接近了,理解和学习起来很方便。但是Shader使用的是HLSL,GLSL或者CG语言,他们是属于GPU编程的,很多语法结构并不符合我们传统的计算机语言的认知,初学者可能感觉很蹩脚。事实上,哪怕是很多中高级开发者,编写shader也不是很顺手,需要边写,边查阅资料。
因此应运而生了shader的可视化编辑器,其实可视化编辑器最早在虚幻引擎unreal中就得到了应用,包括蓝图,材质编辑器,行为树编辑器等。而Unity引擎这边,也出现了对应的shader编辑器:ShaderForge,AmplifyShaderEditor和ShaderGraph。虽然功能各有优劣,但是节省了我们大量的手写shader的时间,很值得我们去学习。
接下来,我们就开始untiy-shader编辑器的学习。
二.工作原理及优劣
1.Amplify Shader Editor
简称ASE,和shaderforge原理和操作基本一致