GithubHelp home page GithubHelp logo

danil0v3s / primotoon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from festivities/primotoon

0.0 0.0 0.0 566 KB

Shader for Unity (Built-in Rendering Pipeline) attempting to replicate the shading of Genshin Impact developed by miHoYo. This is for datamined assets, not custom-made ones nor the MMD variants.

License: GNU General Public License v3.0

C# 81.45% HTML 3.07% GLSL 8.69% HLSL 5.99% ShaderLab 0.80%

primotoon's Introduction

PrimoToon.mp4

PrimoToon


GitHub license
GitHub stars Discord GitHub issues


Video guide

Video guide

Temporary text guide

Make sure ALL your textures EXCEPT the ramp textures have Texture Type set to Default, Compression set to High Quality, and Generate Mip Maps ticked. The ramp textures should have no compression and mip mapping to prevent artifacting and precision issues.

All ramp textures should have Wrap Mode changed from Repeat to Clamp. The specular ramp texture must have the sRGB (Color Texture) property unticked.

All lightmaps, normal maps, and the face shadow texture should have their sRGB (Color Texture) property unticked. Keep in mind with what I've said earlier, the normal map should have the Texture Type set to Default. IGNORE THE NORMAL MAP TEXTURE TYPE!

For weapon dissolve/VFX, you must have these common textures:

  • Eff_WeaponsTotem_Grain_00.png ---> Weapon Pattern
  • Eff_WeaponsTotem_Dissolve_00.png ---> Weapon Dissolve
  • Eff_Gradient_Repeat_01.png ---> Scan Pattern

All of the above textures should have sRGB (Color Texture) unticked and the dissolve texture's Wrap Mode set to Clamp. Both the dissolve and scan line (Eff_Gradient_Repeat_01.png) textures should have no compression and mip mapping.

Unity projects in the Built-in Rendering Pipeline default to the Gamma option for color management. This is not what Genshin Impact uses. To avoid color inaccuracy, make sure that the Color Space is set to Linear in the Project Settings.

Genshin Impact models have custom tangents within them. If your model is properly ripped, you'll want to make sure that the Tangents property is set to Import instead of the default Calculate Mikktspace. If your model does not have the custom tangents, you can easily regenerate them with this script.

Contact / Issues

Rules

  • The GPL-3.0 License applies.
  • If you use this shader as is in avatars for VRChat, renders, animations or any form of medium that does not directly modify the shader, I'd appreciate being credited - you don't have to do it though.
  • If you use this shader as the main reference for your own shader, please give credit where it's due.
  • In compliance with the license, you are free to redistribute the files as long as you attach a link to the source repository.

Contributing

My code is most likely horrible given that this is my first programming project so I'd appreciate any help! Just create a pull request and I'll do my best to get to it ^^

Special thanks

All of this wouldn't be possible if it weren't for:

Disclaimer

This shader isn't meant to be 100% accurate - what I only aim for is to replicate the in-game looks to the best of my ability. Some calculations are exactly how the game does things, some are my own thrown into the mix.

While the shader is developed primarily for datamined assets, this repository does not endorse datamining in any way whatsoever and will never directly provide the tools in extracting from game files.

Since you've read this far...

Using this shader is completely free if it's not already evident from the license BUT - if and only if you have something to spare and would like to support me, then you can do so on my Ko-fi here. I appreciate every tip and each one motivates me to keep on improving the shader.

primotoon's People

Contributors

festivities avatar melioli 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.