写Shader的IDE工具合集

写了一段时间shader,觉得还是有必要找个合适的IDE,以达到事半功倍的效果,提高效率。

1.最早官方的MonoDevelop编辑器

2.Visual Studio

3. Visual Studio Code +扩展组件unity3d-pack

其中unity3d-pack包含ShaderlabVSCode(Free)

4.Visual Studio 2017 + HLSL Tools for Visual Studio

安装教程

5.Visual Studio +ShaderlabVS

官方商店介绍

6.Sublime Text + Unity-Shader

介绍安装教程
构建这个插件作者的教程
对于设置环境变量很麻烦可以直接设置成对应的程序运行地址

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 = "D:/Program Files/Sublime Text 3";
            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 + " \t " + startInfo.Arguments);

                return true;
            }
            else
            {
                Debug.Log("Not Found Enviroment Variable 'SublimeText_Path'.");

                return false;
            }
        }

        return false;
    }

}

总结

第6种方案是我目前正在使用的。没有最好的工具,只有适合你的工具,可以都尝试下。参考里面也有把自己的写的shader加入到一个库中,这样更方便。

附:参考

Shader着色器代码辅助工具
Unity3D研究院之方便找和写URP的shader
UPR Unlit Texture example

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shader是指直接使用编程语言(比如GLSL)来编写和修改渲染效果的程序。而ASE Shader是一种可视化工具,用于创建和修改shader效果的。下面是关于如何用ASE Shader修改手shader的解答。 首先,ASE Shader提供了一种直观的可视化界面,可以用于创建、修改和调整shader效果。通过拖拽节点和参数的方式,可以更方便地构建和调整shader的功能。 要使用ASE Shader修改手shader,首先需要将手shader导入到ASE Shader中。可以在ASE Shader的界面中找到一个适合的节点类型,比如Custom Node,在该节点中可以编写GLSL代码。 然后,将手shader的代码复制粘贴到Custom Node节点中,并确保代码在正确的位置上。此时,可以在ASE Shader的界面中看到手shader的效果。 接下来,可以使用ASE Shader的节点和参数来修改shader效果。ASE Shader提供了许多节点类型,例如颜色、纹理、数学运算等,可以根据需要添加和连接这些节点来实现不同的效果。通过调整参数和连接节点,可以轻松地修改手shader的外观和行为。 最后,当完成修改后,可以将修改后的shader代码导出,并应用到相应的渲染管线中。可以选择将shader代码导出为GLSL代码或其他格式,具体取决于使用的渲染引擎或平台。 总之,使用ASE Shader可以方便地修改手shader。通过可视化界面、节点和参数的方式,可以更直观地修改shader效果,并且可以随时导出和应用修改后的shader代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值