FlailingFog / KK-Blender-Porter-Pack

Plugin pack for exporting Koikatsu characters to Blender.
310 stars 29 forks source link

How to reduce material without using Material Combiner #356

Closed higeinu3594 closed 1 year ago

higeinu3594 commented 1 year ago

How to reduce material without using Material Combiner

Can I use KKBP to reduce the material of a loaded character?

The Material combiner is exactly what I need, but I just can't use it. I tried the texture bake function and it didn't give me the results I wanted.

It is time consuming to create 50~100 materials each time when setting up in UE5. Is there a better way?

I am using the textures as is for the male characters since they are originally few materials. I need to think about resolution and UV placement, but first I am looking for a way to reduce the number of materials.

Looking forward to hearing back from you!

blender_UHbNRHu3LY UnrealEditor_NYdiTPVFpZ CharacterCreator_Acffiu9UBG UnrealEditor_x1MLb6l8uX blender_6ou8rkt3VQ blender_IST9FNpb3b blender_MiBVcONmSI

johnvo0918 commented 1 year ago

basically what material combiner does is that it combines all texture into 1 atlas thus it only use 1 material UNLESS you specify transparent material and hair material. What are the errors are you getting when you bake ? Because bake just turns all the maintex, shader, etc etc into a texture. Also know that since it's a baked texture, you can load it up in photoshop and edit it by hand.

FlailingFog commented 1 year ago

Can I use KKBP to reduce the material of a loaded character?

Sorry, there's no way to do it with KKBP. Material Combiner is the only way I know how to do it. If you can't get Material Combiner to work, you may be able to use the scripting tools in Unreal Engine to create a script that automatically sets up the 50-100 materials for you based on the image filenames.

higeinu3594 commented 1 year ago

As for the Material Combiner error.

  1. Pop-up does not appear.
  2. specifying the material I want to combine does not work as I want it to. 3.[Body] has never succeeded.

In part 3 of the KKBP instructional video, the Atlas image was saved and adapted.

By chance, a popup appeared and when I pressed save, the resolution of Atlas was (64x64) and I thought it was wrong somewhere, but I didn't know which was wrong.

I tried Outfit 00, which is a different character.

  1. same Check 2.Suit+gloves 3.Suit+gloves Save Atlas 4.Select Back wing then Save Atlas 5.Other selection (circle boot showd) 6.Save Atlas

I don't think it will look the same if it's the same material, but if it's a different UV or Texture, it will overwrite the selected material. I've seen similar symptoms in the comments of the video, so I know I'm doing something wrong, but I don't know what's wrong. blender_1 blender_2 blender_3 blender_4 blender_5 blender_6

The only saving grace is that if they are the same, there is no breakdown. (Wing gloves, etc.)

higeinu3594 commented 1 year ago

Sorry for all the questions.

I would like to ask about scripting tools in UE5. I'm using GenshinShader right now and I just got the result of UE5. The material is created on UE5 and the image created in Koikatsu is adapted to GenshinMaterial. (Diffse and Opashity)

I create animations with DCC tools and make videos with UE5.

I want to use UE5 as a rendering tool, so I will definitely introduce meshes.

Is it worth introducing the scripting tool in UE5 even if I have never dealt with it at all?

I know this is far from KKBP, but if you can answer, I look forward to hearing back from you.

MediaMoots commented 1 year ago

@higeinu3594

You could write custom HLSL shaders in UE5 based on xukmi's shaders.

https://github.com/xukmi/KKShadersRecreated and https://github.com/xukmi/KKShadersPlus

And implement the shader code with a custom shader node: https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/ExpressionReference/Custom/

For rendering I suggest this article: http://blog.theoroy.com/2017/04/27/anime-look-cel-shading-in-ue4/

All this is really advanced stuff though, monsters be here.

MediaMoots commented 1 year ago

@higeinu3594

As for scripting, all the data you need is stored in the exported json files. However, once the character is processed by KKBP and Blender, the data may not be valid anymore.

In that case you could write a simple Editor Utility UMG BP that imports meshes, creates material instances and sets the correct textures based on file name to the material.

higeinu3594 commented 1 year ago

Thanks for letting me know.

As for Cel Shading, I was able to create outlines in UE5 that were missing from Blender with the overwrite material.

Texture baking took a bit of work, but I was able to do it, and now I'm going to start creating animations and making videos.