Giter VIP home page Giter VIP logo

honkaistarrailtoonshader's Introduction

HonkaiStarRailToonShader

效果图:(更新于2024年1月10日)

图片

What's This?

这是一个基于Unity引擎URP管线的仿制星穹铁道风格的卡通渲染项目。

Thanks

此Shader根据 Bilibili@给你柠檬椰果养乐多你会跟我玩吗 大佬的视频制作,另外根据 Github@stalomeow 大佬的 StarRailNPRShader 工程加入了后处理部分(bloom、tonemapping),在此非常感谢各位大佬们无私的技术分享。

Installation & Usage

只需将/Shaders路径下解压对应版本的文件夹到你的Assets即可在材质球中看到添加的shader。 在开始之前,你至少需要准备如下的贴图,如果不知道如何获取他们,可以参考B站 @小二今天吃啥啊 的这个教程,链接

图片
图片

(1)RGBA通道的身体BaseColor Map (2)RGBA通道的身体ILM Mask Map (3)身体ShadowCoolRamp (4)身体ShadowWarmRamp (5)面部BaseColor Map (6)面部阴影SDF阈值图+ILM Mask Map(7)头发BaseColor Map (8)RGBA通道的头发ILM Mask Map (9)头发ShadowCoolRamp (10)头发ShadowWarmRamp

Texture Import Setting

为什么我要特此说明这个问题?根据反馈,有的人在使用shader时候发现一些不正确的效果,这通常容易被认为是错误的代码导致的,真相是他们并没有使用正确的纹理导入设置,如下图,ramp阴影的交界处出现了我们不希望看到的锯齿而且看上去很奇怪。

图片

1、除了表达颜色的贴图如Base Texture和Ramp Texture等颜色贴图以外,其他用于数值计算的贴图在Texture Import Settings中需要取消勾选sRGB,保证贴图在线性空间中。

图片

2、鉴于Ramp贴图的特殊性,需要在导入设置中关闭“生成MipMap”,并将压缩改为“高质量”以获得更高精度。

图片

完成上述设置后,效果终于正确了!Done Well!

图片

*Important Information

此shader根据 bilibili@给你柠檬椰果养乐多你会跟我玩吗 大佬教程制作的《崩坏:星穹铁道》的卡通着色器(ToonShader),非常感谢这位大佬的教程,并在此基础上个人增加了些有趣的功能,如增加了keyword提高性能,支持自定义描边颜色(基于材质),曝光控制等,仅适用于Unity的URP管线,为了使深度边缘光正常工作,请在Univer Render Pipeline Asset中开启 Depth Texture,如果要用于其他游戏或者MMD记得自己给lightmap.a通道赋个值,ramp图可以用ps画也可以用文件夹附带的工具,切记在ramp贴图的导入设置中关闭“Generate Mipmaps"避免渲染错误。

下一步计划研究shader部分怎么加入tonemapping和平滑法线,再加一套程序化的lightmap+ramp纹理生成插件拓展该着色器的泛用性,有兴趣可以考虑follow,请自觉遵守开源协议,测试模型版权归MiHoYo所有,祝君使用愉快,如果觉得不错可以给个star,有任何想法和建议欢迎提issue或提pr。

Enjoy Yourself!

Links

欲了解更多作者相关信息欢迎访问: 米游社@爱莉小跟班gaolxBilibili@galing2333

honkaistarrailtoonshader's People

Contributors

gaolingx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.