Skip to content

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

Notifications You must be signed in to change notification settings

TigerHix/PrimoToon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PrimoToon.mp4

PrimoToon


GitHub license
GitHub stars Discord GitHub issues


This README.md is WIP


Temporary 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!

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.

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

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 assets nor 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.

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HLSL 59.4%
  • GLSL 24.1%
  • C# 16.5%