Blender-miHoYo-Shaders - Shaders for Blender attempting to replicate the shading of games developed by miHoYo

Overview

miHoYo Shaders for Blender 3.0 and above

Preview

Preview

preview.mp4
preview.mp4

Usage

  1. Download a release here.
  2. In a new project with your desired character mesh, append whatever materials the .blend file you downloaded will contain.
  3. Replace the original materials of the mesh with the materials from the .blend file you just appended.
  4. Use this script to import your textures.
  5. Constrain the empty object named Head Driver to the head bone of your character with a Child Of constraint.
  6. In the Global Material Properties panel, you may wonder what the Body Y and Hair Y values are supposed to be - those correspond to the ramp textures. Refer to this little infographic I made.
  7. I'll be making a video guide soon. If anyone wants to help out, that'd be appreciated.

Milestones

These shaders aren't meant to be 100% accurate - in fact they will most likely never be until someone blesses us with the decompiled shader code. Until then, what I only aim for is to replicate the in-game looks to the best of my ability.

Genshin Impact

  • Ramp texture implementation (done thanks to Manashiku)
  • Face shading
  • Metallic matcap function
  • Specular function (done with some inspiration from Aerthas' ArcSys shader)
  • Custom light/shadow settings for creative freedom
  • Stable release
  • Constant width rim lighting (until Blender implements real-time compositing/screen shaders, I don't see this feature happening anytime soon, for now have a simple NdotV rim light)
  • Constant width outlines (it's actually possible with Geometry Nodes, but it's far too non-intuitive for the average user to set up, waiting for Blender to implement actual vertex shaders)
  • Outline material

Honkai: Star Rail

  • Ramp texture implementation (done thanks to Manashiku)
  • Face shading
  • Specular function (done with some inspiration from Aerthas' ArcSys shader)
  • Custom light/shadow settings for creative freedom
  • Stable release
  • Constant width rim lighting (see above)
  • Constant width outlines (see above)
  • Outline material

Honkai Impact 3rd

  • Learn how to datamine assets from the game LOL someone please make a tool

Support

Rules

  • The GPL-3.0 License applies.
  • If you use this shader in your project (renders, animations), I'd appreciate being credited - you don't have to do it though.
  • If you use this shader as your main reference for your own shader, please give credit where its due.
  • Please don't redistribute the files, I'd appreciate it more if you linked this GitHub repo instead ^^

Special thanks

This wouldn't be possible if it weren't for ArcSys, Aerthas Veras, Manashiku, the folks over at 知乎专栏 and many more I simply can't cite who choose to share their knowledge and open-source their own shaders. For that, I'd like to give back to the community with what I've learned. A huge thanks to Zekium from Discord as well for contributing the script to automate the importing of textures. With that said, I hope you learn a thing or two. Enjoy!

You might also like...
A calculator developed in Python.
A calculator developed in Python.

Calculadora Uma simples calculadora... ( + − × ÷ ) 💻 Situação do projeto: Projeto finalizado ✔️ 🛠 Tecnologias: Python Tkinter (GUI) ⚙️ Pré-requisito

x-tools is a collection of tools developed in Python

x-tools X-tools is a collection of tools developed in Python Commands\

Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check database.

DVOF_check_tool Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check d

addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe

b3d_mocap_import addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe ==================VIBE================== To use

 A small Blender addon for changing an object's local orientation while in edit mode
A small Blender addon for changing an object's local orientation while in edit mode

A small Blender addon for changing an object's local orientation while in edit mode.

Enhanced version of blender's bvh add-on with more settings supported. The bvh's rest pose should have the same handedness as the armature while could use a different up/forward definiton.
Enhanced version of blender's bvh add-on with more settings supported. The bvh's rest pose should have the same handedness as the armature while could use a different up/forward definiton.

Enhanced bvh add-on (importer/exporter) for blender Enhanced bvh add-on (importer/exporter) for blender Enhanced bvh importer Enhanced bvh exporter Ho

A simple armature retargeting tool for Blender

Simple-Retarget-Tool-Blender A simple armature retargeting tool for Blender Update V2: Set Rest Pose to easily apply rest pose. Preset Import/Export.

Add-In for Blender to automatically save files when rendering
Add-In for Blender to automatically save files when rendering

Autosave - Render: Automatically save .blend, .png and readme.txt files when rendering with Blender Purpose This Blender Add-On provides an easy way t

Expose multicam options in the Blender VSE headers.
Expose multicam options in the Blender VSE headers.

Multicam Expose multicam options in the Blender VSE headers. Install Download space_sequencer.py and swap it with the one that comes with the Blender

Comments
  • feat: Add Setup Wizard (Initial Release)

    feat: Add Setup Wizard (Initial Release)

    Initial Release/Beta Test for the Setup Wizard Tool

    • Added a Setup Wizard Tool (a handful of new setup scripts) to help streamline the import character process
    • Please read the README.md to get a quick understanding of the Setup Wizard Tool
    • I can explain the design and components (in more detail) for this tool to any reviewers

    Open to any and all feedback, suggestions, comments, etc.

    ~~(I realize there are print statements littered here and there...I can clean them up or we can keep them in case we need to troubleshoot issues down the line)~~ Debug print statements should be mostly cleaned up

    Design

    The idea behind the design of this tool is to make it easy to add new components (steps) without breaking other components (steps). We can do this by decoupling each component and making them call a common module (import_order.py) which acts as an invoker that invokes the next step in the process.

    The decoupling of the components also allows us to easily re-arrange steps in the workflow as needed (see config.json). It also makes each component have a single responsibility and reduces the chances that changes in one component will impact another component.

    Flow goes clockwise in diagram:

    1. genshin_setup_wizard
    2. import_order
    3. genshin_import_materials
    4. import_order
    5. genshin_import_charcter_model
    6. import_order

    . . . (and so on)

    (Crude Design Diagram of Setup Wizard Tool flow, a few new components have been added since this diagram was created) crude_design_diagram

    opened by michael-gh1 2
  • The third epic rewrite

    The third epic rewrite

    I think I've finally learned enough programming to tell you all that right now, the Blender shader is incredibly spaghetti and horribly thought out. This third full rewrite should hopefully improve how the shader is structured.

    Some major changes I'll be making:

    • Face shading and main (body/hair) shading will now be merged in one nodegroup. Having the two different shaders in two separate nodegroups is incredibly painful to maintain. I have no idea why I made this decision and hopefully I've learned enough not to make the same mistakes.
    • Taking off the ability to use environment lighting. Genshin's shader was never meant to take in environment lighting. The characters are meant to be lit with one directional light especially for the face shading. As to why I'm removing it, it's just really dumb in my view and adds unnecessary options for the user. Unfortunately, Blender doesn't let us call any form of a shadow pass in the fragment shader. Maybe I can do that with Goo Engine leading us to the next change....
    • We're switching over to Goo Engine. I hope any of you don't use Cycles. Goo Engine has a lot of NPR features that will be incredibly useful for many of us. I'm specifically migrating the shader to it for the depth-based rim lighting.
    • Adding other outputs for custom render passes/AOV passes. If you play around with compositing in Photoshop and similar software, then you're gonna love this change. I plan to rewrite the shader in such a way that it will be very intuitive to integrate with compositing. Some custom output sockets include the lit factor, the emission factor, and maybe more?

    That's pretty much it. I don't know when or if I'll even do this but I wanted to let those people actively using this shader know that huge changes are eventually coming and I hope this future update makes the shader easier for everyone to use. Honestly, I don't even know how this project got to 400 stars. I'm really thankful for the people using it and I'm very sorry that I've been neglecting this project. To be frank I have started hating visual scripting and nodes as a whole (lol), something about looking at them just discourages me and I don't know why. Blender, please add GLSL support owo

    enhancement to do 
    opened by festivize 0
Releases(genshin-v0.8)
Owner
Matsuri
A little festive.
Matsuri
A Blender addon for VSE that auto-adjusts video strip's length, if speed effect is applied.

Blender VSE Speed Adjust Addon When using Video Sequence Editor in Blender, the speed effect strip doesn't auto-adjusts clip length when changing its

Arpit Srivastava 2 Jan 18, 2022
Birthday program - A program that lookups a birthday txt file and compares to the current date to check for birthdays

Birthday Program This is a program that lookups a birthday txt file and compares

Daquiver 4 Feb 02, 2022
How to use Microsoft Bing to search for leaks?

Installation In order to install the project, you need install its dependencies: $ pip3 install -r requirements.txt Add your Bing API key to bingKey.t

Ernestas Kardzys 2 Sep 21, 2022
An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

Brian Peiris 12 Nov 02, 2022
Some scripts for the Reverse engineered (old) api of CafeBazaar

bazz Note: This project is done and published only for educational purposes. Some scripts for the Reverse engineered (old) API of CafeBazaar. Be aware

Mohsen Tahmasebi 35 Dec 25, 2022
Cloud Native sample microservices showcasing Full Stack Observability using AppDynamics and ThousandEyes

Cloud Native Sample Bookinfo App Observability Bookinfo is a sample application composed of four Microservices written in different languages.

Cisco DevNet 13 Jul 21, 2022
A simple package for interacting with the 9kw.eu anti-captcha service.

Welcome to captcha9kw’s documentation! captcha9kw is a smallish Python package for making use of the 9kw.eu services, including solving of interactive

2 Feb 26, 2022
Agora-token-helper - Some help tools for AgoraToken

Agora Token Helper Support AgoraToken version 001 - 006. But for security reason

A basic layout of atm working of my local database

Software for working Banking service 😄 This project was developed for Banking service. mysql server is required To have mysql server on your system u

satya 1 Oct 21, 2021
This bot uploads telegram files to MixDrop.co,File.io.

What is about this bot ? This bot uploads telegram files to MixDrop.co, File.io. Usage: Send any file, and the bot will upload it to MixDrop.co, File.

Abhijith NT 3 Feb 26, 2022
GWCelery is a simple and reliable package for annotating and orchestrating LIGO/Virgo alerts

GWCelery is a simple and reliable package for annotating and orchestrating LIGO/Virgo alerts, built from widely used open source components.

Min-A Cho Zeno 1 Nov 02, 2021
If Google News had a Python library

pygooglenews If Google News had a Python library Created by Artem from newscatcherapi.com but you do not need anything from us or from anyone else to

Artem Bugara 1.1k Jan 08, 2023
Unofficial Python Library to communicate with SESAME 3 series products from CANDY HOUSE, Inc.

pysesame3 Unofficial Python Library to communicate with SESAME 3 series products from CANDY HOUSE, Inc. This project aims to control SESAME 3 series d

Masaki Tagawa 18 Dec 12, 2022
A bot to view Dilbert comics directly from Discord and get updates of the comics automatically.

A bot to view Dilbert comics directly from Discord and get updates of the comics automatically

Raghav Sharma 3 Nov 30, 2022
Larvamatch - Find your larva or punk match.

LarvaMatch Find your larva or punk match. UI TBD API (not started) The API will allow you to specify a punk by token id to find a larva match, and vic

1 Jan 02, 2022
This is the Halloween edition of my Flask Greeting App - HAPPY HALLOWEEEN EVERYONE! :)

HalloweenGreetingApp HAPPY HALLOWEEN EVERYONE! :) This is the Halloween Edition of my Flask Greeting App! Please note, this application is mean to be

Mariya 2 Feb 04, 2022
Hospitality app for ERPNext to manage hotels & restaurants.

Hospitality ERPNext Hospitality module is designed to handle workflows for Hotels and Restaurants. Manage Restaurants The Restaurant module in ERPNext

Frappe 19 Dec 26, 2022
Collection of system-wide scripts that I use on my Gentoo

linux-scripts Collection of scripts that I use on my Gentoo machine. I tend to put all scripts in /scripts directory. It is not likely that you would

Xoores 1 Jan 09, 2022
Includes Chapters for Python Crash Course session.

python-crash-course Includes Chapters for Python Crash Course session. What will you learn: Python Essentials Creating Server Writing REST API Writing

Vineet Rao 3 Feb 17, 2021
Data Structures and Algorithms Python - Practice data structures and algorithms in python with few small projects

Data Structures and Algorithms All the essential resources and template code nee

Hesham 13 Dec 01, 2022