michael-gh1 / Addons-And-Tools-For-Blender-miHoYo-Shaders

Blender Addons and Tools for streamlining the character model setup when using HoYoverse Shaders.
GNU General Public License v3.0
193 stars 11 forks source link

Material Setup works not properly #80

Closed Rajala1404 closed 4 months ago

Rajala1404 commented 6 months ago

Replicate:

  1. Choose Genshin Impact in the Sidebar image
  2. Press Setup Character Model & Choose Model image
  3. Press Setup Materials and Choose Genshin Shader image
  4. Press Setup Outlines (here are Errors too)
  5. Press Finish Setup and see this Error image In Text:
    Python: Traceback (most recent call last):
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/setup_wizard_operator_base_classes.py", line 38, in execute
    NextStepInvoker().invoke(
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/import_order.py", line 43, in invoke
    invoke_next_step_ui(high_level_step_name, current_step_index, game_type)
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/import_order.py", line 104, in invoke_next_step_ui
    operator_to_execute(
    File "/driveB/home/rajala1404/.local/share/Steam/steamapps/common/Blender/4.0/scripts/modules/bpy/ops.py", line 107, in __call__
    ret = _op_call(self.idname_py(), kw, C_exec, C_undo)
    RuntimeError: Error: Python: Traceback (most recent call last):
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/misc_final_steps.py", line 54, in execute
    NextStepInvoker().invoke(
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/import_order.py", line 43, in invoke
    invoke_next_step_ui(high_level_step_name, current_step_index, game_type)
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/import_order.py", line 104, in invoke_next_step_ui
    operator_to_execute(
    File "/driveB/home/rajala1404/.local/share/Steam/steamapps/common/Blender/4.0/scripts/modules/bpy/ops.py", line 107, in __call__
    ret = _op_call(self.idname_py(), kw, C_exec, C_undo)
    RuntimeError: Error: Python: Traceback (most recent call last):
    File "/home/rajala1404/.config/blender/4.0/scripts/addons/setup_wizard/set_up_head_driver.py", line 20, in execute
    child_of_constraint = head_driver_object.constraints[0]  # expecting 1 constraint head driver
    AttributeError: 'NoneType' object has no attribute 'constraints'
    Location: /driveB/home/rajala1404/.local/share/Steam/steamapps/common/Blender/4.0/scripts/modules/bpy/ops.py:107
    Location: /driveB/home/rajala1404/.local/share/Steam/steamapps/common/Blender/4.0/scripts/modules/bpy/ops.py:107

OS: Arch Linux x86_64 Blender Version: 4.0 (Steam) Same in 3.6

michael-gh1 commented 6 months ago

Hey @Rajala1404, currently there is no support for Blender 4.0. Looks like you mentioned you're getting the same issue when trying it on Blender 3.6 though.

Is the error the exact same when running it in Blender 3.6? Could you provide those error logs, including the errors when running the Setup Outlines step?

What's happening is the Setup Wizard is expecting a Head Origin empty, but it seems like it's not being imported. I suspect the Light Vectors node group is not being successfully imported when running Set Up Materials which is causing the error to show up later on when running Finish Setup (and Setup Outlines)

(this empty) image

I believed I had previously fixed this error (was due to differing OS), but it's possible I did not as I couldn't personally test it due to not having another MacOS or Linux readily available.

Rajala1404 commented 6 months ago

Hey @Rajala1404, currently there is no support for Blender 4.0. Looks like you mentioned you're getting the same issue when trying it on Blender 3.6 though.

Is the error the exact same when running it in Blender 3.6? Could you provide those error logs, including the errors when running the Setup Outlines step?

What's happening is the Setup Wizard is expecting a Head Origin empty, but it seems like it's not being imported. I suspect the Light Vectors node group is not being successfully imported when running Set Up Materials which is causing the error to show up later on when running Finish Setup (and Setup Outlines)

(this empty) image

I believed I had previously fixed this error (was due to differing OS), but it's possible I did not as I couldn't personally test it due to not having another MacOS or Linux readily available.

Ok, I had exact the same Error in both Versions of Blender i even tried ver 3.3 but same error. if I select only the folder of shaders on Setup Material i get an Error (in the moment can't tell the error because have no acces to the PC) but the Error does not pop up if I select the Blend file directly.

michael-gh1 commented 6 months ago

Hmm, if you select the folder and don't pick a specific .blend file then it will attempt to use the file HoYoverse - Genshin Impact - Goo Engine v3.blend. If it doesn't exist (or has a different name), then it would probably throw an error or not import the expected materials.

I would definitely recommend selecting the exact .blend file you intend to use. The previous method, selecting the folder (and not the .blend file) is deprecated and not recommended.

Rajala1404 commented 6 months ago

It looks like the Error only Appers on Specific Models like Furina (No matter if Default folder or the Furina Default) if i use Aether i didnt get any Error but the Model Texture does not exist on both Furina and Aether. Here is an Video: https://youtu.be/wluVsJ1W6-U

michael-gh1 commented 6 months ago

Thanks @Rajala1404, that video helped a lot.

So to start off with, Furina (Default) has an issue on the Setup Wizard-side. Honestly surprised nobody has mentioned it or pinged me about it before! 😂 So thank you for bringing this bug to my attention. I took a look into it and it's because the material name is inconsistent. Her EffectHair's material should end in EffectHair, but it only ends in Effect. I'll get a fix going for it and hopefully have it out soon.

I will also note though that when using Furina (Default) you will need to either:

Or

Now for the harder part — in terms of Aether and Furina (Funingna, the one prefixed with NPC in the FBX filename), I'm not sure what's causing them to not have any textures. The shader is only for Eevee, so I don't expect anything to be fixed by switching to Cycles.

What I think you'll need to do is check out the textures in the materials. Either something is missing or something else is going on. What I would do is initially set your Blender to Rendered and then run through the Setup Wizard, but use the Advanced Setup to see what the character looks like at each point in time.

For example, if you see a character without textures immediately after importing them (Import Character Model) then there is likely something else causing an issue unrelated to the Setup Wizard. Typically when textures are not imported successfully, the character ends up black. So seeing your characters appear all white is unfamiliar to me. The only time I see that is when Blender is initially compiling the shader when you switch to Rendered view.

Rajala1404 commented 6 months ago

@michael-gh1 Thanks i will look for it

michael-gh1 commented 6 months ago

Hey @Rajala1404, you can check out the latest release, v2.2.1 to find the fix for Furina (Default).