Customize+ Edits Applied in Blender
How to use a Blender Script to read your Customize+ edits!
Something to know before you start!
This method sadly makes you lose all bone parents, but not bone weights! so you will have to re-parent every bone manually. But I personally think that's much easier than Scaling, Rotating, and Positioning manually
Step 1 Locate your .JSON file:
- Your Customize+ template data can be found in %appdata%\XIVLauncher\pluginConfigs\CustomizePlus\templates
- Change the path "\" to "/" for example "%appdata%/XIVLauncher/pluginConfigs/CustomizePlus/templates/example.json"
Step 2 Add the Location to Your Blender Script:
- Using this script Import Customize+ Public, locate the 'json_path' and replace the red text saying 'PUT YOUR .JSON HERE'
Note: Its important you keep the ' at the beginning and end. Leaving those out will lead to errors.
(The text may not be red in the actual script, It is located at the bottom of the script.)
# Update the armature bpy.context.view_layer.update() # Path to the JSON file json_path = 'PUT YOUR .JSON HERE' armature_name = 'n_root' apply_transformations_from_json(json_path, armature_name)
- Save the script with the added .JSON location
Step 3 Blender:
- After you've opened blender, and assuming you have already extracted your model using FFXIV Textools, import your model and DO NOT change any bone names!
- Go into edit mode and hit the A key to select all bones, after doing so right click and select Parent>Clear>Clear Parent. Then return to object mode.
- Next go to the Scripting tab and import the script by hitting the folder icon at the top of the script area.
- After that, select "n_root" aka your armature and hit Text>Run Script.
- I personally use a script called CATS to apply transforms. I don't know where I got this exact version from but be sure to support the makers of it! CATS Github - CATS_version i have installed
- Go to Layout>CATS>Model>Apply as Rest Pose
- Manually re-parent every bone so it all works properly!
And You're done! Hope this helps anyone who was trying to figure out how to get C+ edits onto a model!
2 Comments
Unless CATS is doing something special, the Apply as Rest Pose operation is in vanilla default blender already, without needing any addon for it...
I was having problems with this script not applying rotations on blender 3.6, I was able to fix by replacing:
bone.rotation_euler = (
transforms['Rotation']['X'],
transforms['Rotation']['Y'],
transforms['Rotation']['Z']
)
with
bone.rotation_mode = 'XYZ'
bone.rotation_euler.x = math.radians(transforms['Rotation']['X'])
bone.rotation_euler.y = math.radians(transforms['Rotation']['Y'])
bone.rotation_euler.z = math.radians(transforms['Rotation']['Z'])
adding:
import math
at the very start
and adding:
bone.rotation_mode = 'QUATERNION'
before translation and scaling are applied