文章目录
- 前言
- 一、ShaderToy To ShaderLab
-
- 1.工具介绍
- 2.URP管道
- 总结
- 参考
前言
本文主要介绍如何通过工具将ShaderToy的Shader代码转为Unity的CG代码。ShaderToy是国外知名的图形网址,是可以提供我们学习和实际开发中借鉴的很好的网站。因为ShaderToy上展示的着色器完全是用GLSL编写的,可以使用WebGL在浏览器中运行,但在unity中,我们需要转为CG语言去写,手动转比较耗费时间,刚好在国外网站上看到这个工具,并通过自己的实践,发现该工具还是可行的,不过转换体量较大的时候容易出错, 读者可根据shadertoy的代码自己修复下,也可以完善工具。ShaderToy是GLSL语言,读者需要具备GLSL语言的读写能力。
ShaderToy
一、ShaderToy To ShaderLab
1.工具介绍
可以通过这个github网址直接去阅读工具的使用:工具github地址
笔者也简单介绍下步骤:
【1】 从www.shadertoy.com复制着色器,ctrl +A把着色器的代码拷贝上。例如:https://www.shadertoy.com/view/3lsSzf 上的
【2】从Window \ ShaderMan中打开ShaderMan工具
【3】为我们的着色器选择名称
【4】从shaderToy.com导入着色器
【5】然后点击Convert,会生成下图,有几个报错,对比shadertoy的着色器代码,修复下即可,改工具转体量较大会出错,读者可自行优化这个工具。
2.URP管道
使用urp(Universal Render Pipeline )的读者,可以参考学习这个github的地址:urp ShaderToy
总结
虽然说这个工具是不够完善的,但比手动转效率高,读者可自行去优化这个工具,使其更加完善。
参考
ShaderMan
shadertoy-to-unity-URP
ShaderToy