用Visual Studio写shader实在蛋疼,那可能就会有人要问了,为啥不用插件可视化制作shader呢?因为我是新手,新手还是老老实实敲代码,慢慢来…
所以试着在网上找找,有没有类似的插件或者编辑器,被我找到了,也基本符合我的要求。
我想实现的效果如下:双击xxx.shader打开Sublime Text,可在Sublime Text中对常用的函数进行提示,并支持函数的跳转。
这就分为二个功能:
1、双击shader文件打开Sublime Text;
2、使用Sublime Text来编辑shader;
第一个功能,比较简单,在Assets目录下建立“Editor”目录(如果已存在,请忽略),放置 ShaderEditor.cs,代码如下:
然后,你需要设置 Sublime Text的环境变量 SublimeText_Path (如下图所示)
此时,双击 shader 可能仍无法直接打开 Sublime Text。你需要关闭 Unity,重启桌面进程 —— 让环境变量生效(任务管理器 kill 掉进程 explorer.exe,然后再新建任务 explorer.exe)
第二个功能,安装Sublime Text的插件
安装 package,Sublime Text菜单 Preferences –> Browse Packages,将zip文件解压到该目录下,重命名文件夹为 Unity-Shader,如下图所
修改源码 unityShader.py,原因代码写的有问题,并没有读取 User 的配置,一直报错“U5_Shader_path no set”。我查看源码,发现按作者写的设置了Shader_path没用,原因见代码
上面画圈的那里,代码写的有点迷糊,如果使用 U5,为啥还要设置 Shader_path呢?
知道报错的原因,直接改文件:UnityShader.sublime-settings
上面的K:/xxx,改成你自己的路径,然后就可以愉快的用起来了,是支持跳转的。Shader_path是Unity内置的着色器,以.cginc结尾。在Unity Setup Path/Editor/Data/CGIncludes 目录下