FlailingFog / KK-Blender-Porter-Pack

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

Plugin Updates #398

Closed MediaMoots closed 12 months ago

MediaMoots commented 1 year ago

Updates to KKBP Exporter: GUI Revamp: #220 image

3 New options:

Bug Fixes:

Issues: Keep Current Pose breaks the mesh when Use KKBP Armature is selected (possibly because the addon expects a t-pose) KKBP Armature: image Koikatsu Armature: image

FlailingFog commented 1 year ago

Cool! These are good updates.

  • material names are all unique now.

Is this applied to all outfits? I noticed when exporting multiple outfits that an "02" or "03" is appended to the first outfit, but not the other outfits. I also noticed the 02 is appended to the KK_MaterialData json, but is missing from the KK_CharacterColors json. This is making something not load during the importcolors.py script (probably can't find the colors because it doesn't have the 02 at the end).

Keep Current Pose breaks the mesh when Use KKBP Armature is selected (possibly because the addon expects a t-pose)

This might be caused by the bone drivers. Is is possible to save the exporter options to a new json file? If the blender plugin knows that Keep Current Pose was checked, it could set the armature to the PMX armature automatically.

MediaMoots commented 1 year ago

Is this applied to all outfits?

It should be, it works like this: For example, there is this outfit that has a tie option image image

So, that means there should be a way to separate these to meshes automatically. But it wasn't possible to do that before because the tie and the shirt had the same material name and the same parent so even the postfix id was the same.

Now that the materials are unique it will allow the system to separate these 2 meshes. image image

The material with the 00 postfix is the tie.

missing from the KK_CharacterColors json

tbh, KK_CharacterColors is pretty much depreciated now, the MaterialData.json has all the data from CharacterColors and more, so, I'll try and migrate the addon to use the MaterialData json instead.

Is is possible to save the exporter options to a new json file?

Good idea :) I'll do that.

FlailingFog commented 1 year ago

tbh, KK_CharacterColors is pretty much depreciated now, the MaterialData.json has all the data from CharacterColors and more, so, I'll try and migrate the addon to use the MaterialData json instead.

Okay, that's understandable. I wound up trying to do the migration myself today, but I don't believe MaterialData and CharacterColors completely match up. It looks like "ShaderPropColorValues" in MaterialData is supposed to line up with "colorInfo" and "shadowcolor" from CharacterColors, but sometimes the number of entries doesn't match (for example cf_m_hair_b_08_00 on Chika) and sometimes only the red color is placed into the second element of the ShaderPropColorValues array (for example cf_m_top_inner01 on Chika).

Example of too little / too many elements in MaterialData

cf_m_hair_b_08_00 3900 00 MaterialData: "ShaderPropColorValues":[{"r":0.6904761791229248,"g":0.4949585795402527,"b":0.3205782175064087,"a":1.0},{"r":0.6285715103149414,"g":0.476688027381897,"b":0.46244901418685915,"a":1.0},{"r":0.7887006402015686,"g":0.8095238208770752,"b":0.7565192580223084,"a":1.0},{"r":0.29047614336013796,"g":0.20822393894195558,"b":0.13486391305923463,"a":1.0},{"r":0.8304498195648193,"g":0.8662278056144714,"b":0.9411764740943909,"a":1.0}]

cf_m_hair_b_08_00 3900 00 CharacterColors: "colorInfo":[{"r":176,"g":126,"b":81,"a":255},{"r":160,"g":121,"b":117,"a":255},{"r":201,"g":206,"b":192,"a":255}],"patternColors":[],"shadowColor":{"r":211,"g":220,"b":240,"a":255}}

Example of irregular entry in MaterialData

cf_m_top_inner01 8390 MaterialData: "ShaderPropColorValues":[{"r":0.10000000149011612,"g":0.0,"b":3.0,"a":3.0},{"r":0.6862744688987732,"g":0.7703529596328735,"b":1.0,"a":1.0},{"r":1.0,"g":1.0,"b":1.0,"a":1.0}]

cf_m_top_inner01 8390 CharacterColors: colorInfo":[{"r":229,"g":229,"b":229,"a":255},{"r":92,"g":110,"b":132,"a":255},{"r":229,"g":229,"b":229,"a":255},{"r":186,"g":29,"b":45,"a":255}],"patternColors":[],"shadowColor":{"r":174,"g":196,"b":255,"a":255}}

Here's the files I was using. What do you think? Am I just reading the MaterialData file incorrectly?

MediaMoots commented 1 year ago

@FlailingFog Sorry, yup, you are right, its missing a lot of data. Please test this DLL.

KKBP_Dev.zip

It exports the Create Material colors (the material used for Color Maps in KK) image image image

Please let me know if the plugin works and if there's any missing data because its been a bit since i tested it.

MediaMoots commented 1 year ago

It also exports the config image image

FlailingFog commented 1 year ago

@MediaMoots Thanks! This looks like it's got everything. I'll try doing the migration using your dev version.

FlailingFog commented 12 months ago

I believe everything works, so I'm going to merge this. Thanks again for these updates!

prismacolorgold commented 2 months ago

hi, I read the #339, and I am looking for exporting in the studio. is there a shortcut for it?

I only see the "keep current pose" in the maker, There are studio poses that I cant drag and drop it to the maker.