123456911 发表于 2021-2-25 09:50

ShaderToy转换成ShaderLab(Unity)

文章目录
前言一、ShaderToy To ShaderLab
1.工具介绍2.URP管道
总结参考
前言

本文主要介绍如何通过工具将ShaderToy的Shader代码转为Unity的CG代码。ShaderToy是国外知名的图形网址,是可以提供我们学习和实际开发中借鉴的很好的网站。因为ShaderToy上展示的着色器完全是用GLSL编写的,可以使用WebGL在浏览器中运行,但在unity中,我们需要转为CG语言去写,手动转比较耗费时间,刚好在国外网站上看到这个工具,并通过自己的实践,发现该工具还是可行的,不过转换体量较大的时候容易出错, 读者可根据shadertoy的代码自己修复下,也可以完善工具。ShaderToy是GLSL语言,读者需要具备GLSL语言的读写能力。
一、ShaderToy To ShaderLab

1.工具介绍

可以通过这个github网址直接去阅读工具的使用:
笔者也简单介绍下步骤:
【1】 从http://www.shadertoy.com复制着色器,ctrl +A把着色器的代码拷贝上。例如:



【2】从Window \ ShaderMan中打开ShaderMan工具



【3】为我们的着色器选择名称



【4】从http://shaderToy.com导入着色器



【5】然后点击Convert,会生成下图,有几个报错,对比shadertoy的着色器代码,修复下即可,改工具转体量较大会出错,读者可自行优化这个工具。




2.URP管道

使用urp(Universal Render Pipeline )的读者,可以参考学习这个github的地址:
总结

虽然说这个工具是不够完善的,但比手动转效率高,读者可自行去优化这个工具,使其更加完善。
参考

贺老师 发表于 2021-2-25 09:59

这下可以去shadertoy下载很多资源了~~
页: [1]
查看完整版本: ShaderToy转换成ShaderLab(Unity)