Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add Setup Wizard (Initial Release) #1

Merged
merged 247 commits into from Aug 29, 2022
Merged

Conversation

michael-gh1
Copy link
Owner

@michael-gh1 michael-gh1 commented Aug 29, 2022

Initial Release for the Setup Wizard Tool

IMPORTANT NOTE:

Originally this was for: festivities/Blender-miHoYo-Shaders#3, but I decided to decouple my fork from the Festivity's Shader repo (as these scripts could be later bundled into an addon).

I have merged my forked branch of Festivity's Shaders repo into this new repository (to keep historical commits) and removed his shaders. Hence why you will see Festivity's commits in this PR.

  • 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

Patch Notes since Previous Version (festivities/Blender-miHoYo-Shaders@b167537)

Fixes

• Fixed deleting empties used for Head Driver
• Fixed fbx import missing automatic_bone_orientation

Features

• Added Setup Head Driver component
• Added Make Character Upright script
• Added force_connect_children when importing character models
• UV1 map will be added when importing character models
• Characters will now be reset to their A-pose when importing character models
• Added Make Color Management 'Standard'

Refactoring

• Character-Material mapping now lives in a json file, character_material_mapping.json (before it existed in 3 files and adding a new character, like Nahida, would need to be done in 3 places)

  • Character-Material mapping refactored and are now accessed through the character model's original materials.

michael-gh1 and others added 28 commits August 21, 2022 15:28
…Shaders into Add-New-Setup-Scripts-And-File-Explorer-Windows
@michael-gh1 michael-gh1 merged commit c658374 into main Aug 29, 2022
@michael-gh1 michael-gh1 deleted the Add-Setup-Wizard branch November 23, 2022 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants