zoukankan      html  css  js  c++  java
  • 【Unity】使用sublime编辑unityshader

    用VS编辑shader时候,安装HLSL插件,还是很少提示,不会代码补全,高亮也比较少。

    用VS Code也不会代码补全,也不会跳转,试了试sublime,似乎是更好一些,没有用过sublime,把安装和设置步骤总结一下。

    一、下载安装sublime

    1.下载: http://www.sublimetextcn.com/Sublime%20Text3_64.exe

    2.安装:

     我安装之后就是已经汉化的了,这里不需要汉化。

    3.设置环境变量

    (这里设置环境变量是为后面配置unityshder跳转使用)

    设置Sublime Text的环境变量 SublimeText_Path

    二、设置Unity的Shader文件双击跳转sublime

    1.在Assets的Editor文件夹中添加ShaderEditor.cs,代码如下:

    using UnityEngine;
    using UnityEditor;
    using System;
    
    public class LuaTxtEditor
    {
    
        //http://www.xuanyusong.com/archives/3702 
        [UnityEditor.Callbacks.OnOpenAssetAttribute(1)]
        public static bool step1(int instanceID, int line)
        {
            return false;
        }
    
        [UnityEditor.Callbacks.OnOpenAssetAttribute(2)]
        public static bool step2(int instanceID, int line)
        {
            string strFilePath = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID));
            string strFileName = System.IO.Directory.GetParent(Application.dataPath) + "/" + strFilePath;
    
            if (strFileName.EndsWith(".shader"))
            {
                string strSublimeTextPath = Environment.GetEnvironmentVariable("SublimeText_Path");
                if (strSublimeTextPath != null && strSublimeTextPath.Length > 0)
                {
                    System.Diagnostics.Process process = new System.Diagnostics.Process();
                    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    startInfo.FileName = strSublimeTextPath + (strSublimeTextPath.EndsWith("/") ? "" : "/") + "sublime_text.exe";
                    startInfo.Arguments = """ + strFileName + """;
                    process.StartInfo = startInfo;
                    process.Start();
    
                    //Debug.Log(startInfo.FileName + " 	 " + startInfo.Arguments);
    
                    return true;
                }
                else
                {
                    Debug.Log("Not Found Enviroment Variable 'SublimeText_Path'.");
    
                    return false;
                }            
            }
    
            return false;
        }
    
    }

    2.重启Unity,即可实现shader双击跳转

    三、安装sublime的unityshader插件,实现高亮和代码补全

    1.下载sublime的插件:

    github中下载zip即可: https://github.com/cjsjy123/Unity-Shader

    或者通过我已上传的压缩包直接下载:https://files.cnblogs.com/files/weigangblog/Unity-Shader.zip

    2.安装插件:

    将压缩包解压到sublime安装目录的Data中的Package目录,或通过sublime面板的 首选项--浏览插件 查看目录。

    随后就可以在 首选项--插件设置 中看到UnityShader

    3.设置插件解压目录下的UnityShader.sublime-settings文件

    {
        // must set the path and version  u5 or u4
        "Unity_Version":"U5",
        "Shader_path": "D:/Program Files/Unity2018.4.21/Editor/Data/CGIncludes",
        "U5_Shader_path":"D:/Program Files/Unity2018.4.21/Editor/Data/CGIncludes"
    }
    Shader_path和U5_Shader_path是Unity安装文件夹下的CGIncludes文件夹

    随后再打开unity的shader就会显示高亮,并且可以自动补全。

  • 相关阅读:
    圆角矩形“RoundRectShape”使用详解
    SVGImageView
    actionbarsherlock示例
    [百度]服务号和订阅号的区别
    [学习]ulimit
    [Cnbeta]BAT财报对比
    【百度】大型网站的HTTPS实践(三)——HTTPS对性能的影响
    【百度】大型网站的HTTPS实践(二)——HTTPS加密算法介绍
    【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理
    [华商韬略] 拉里·埃里森(Larry Elison) 的传奇人生
  • 原文地址:https://www.cnblogs.com/weigangblog/p/14463510.html
Copyright © 2011-2022 走看看