天天看點

用SublimeText當Unity Shader的編輯器

用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 (如下圖所示)

用SublimeText當Unity Shader的編輯器

此時,輕按兩下 shader 可能仍無法直接打開 Sublime Text。你需要關閉 Unity,重新開機桌面程序 —— 讓環境變量生效(任務管理器 kill 掉程序 explorer.exe,然後再建立任務 explorer.exe)

第二個功能,安裝Sublime Text的插件

安裝 package,Sublime Text菜單 Preferences –> Browse Packages,将zip檔案解壓到該目錄下,重命名檔案夾為 Unity-Shader,如下圖所

用SublimeText當Unity Shader的編輯器

修改源碼 unityShader.py,原因代碼寫的有問題,并沒有讀取 User 的配置,一直報錯“U5_Shader_path no set”。我檢視源碼,發現按作者寫的設定了Shader_path沒用,原因見代碼

用SublimeText當Unity Shader的編輯器

上面畫圈的那裡,代碼寫的有點迷糊,如果使用 U5,為啥還要設定 Shader_path呢?

知道報錯的原因,直接改檔案:UnityShader.sublime-settings

上面的K:/xxx,改成你自己的路徑,然後就可以愉快的用起來了,是支援跳轉的。Shader_path是Unity内置的着色器,以.cginc結尾。在Unity Setup Path/Editor/Data/CGIncludes 目錄下

用SublimeText當Unity Shader的編輯器

繼續閱讀