Skip to content
wikid24 edited this page Feb 19, 2024 · 5 revisions

Frequently Asked Questions:


Q: How do I get better physics working on the skirt? The default one sucks.

A: I agree! Physics is hard to get right and implement (and time-consuming). Good news is that this plugin does a lot of the hard work for you (but it can be still time consuming). The first thing I'd recommend is reading the theory behind how MMD's rigid bodies & joints work in Blender so that it doesn't seem so overly confusing.

In the conversion guide you'll need to insert some steps after step 7.

Note: Blender tends to crash when there is anything related to physics involved. SAVE OFTEN, especially before you press 'Play' to animate a model.

Using the Rigid Body panel, find the all the rigid bodies that start with "j_sk" and delete them. image

Then'll need to use the Skirt panel to generate a new skirt, but there are quite a few steps involved and it's probably the longest part about rigging a FFXIV Model in Blender.

image

Guide coming soon! In the meantime, here's:

I did these a long time ago (the UI looks different and the steps have changed a bit but hopefully it will suffice for now until a proper guide is created).

Try to line the bones up close to the mesh when generating the skirt (after generating the skirt, you can manually move a bone's location if it's not close enough to the mesh). The skirt bones don't need to exactly be lined up with the mesh but they do need to be close otherwise you risk having clipping issues with the legs going through the skirt unintentionally. Generally speaking, the closer the bones are to the skirt's mesh, the better your rigid bodies will line up with the mesh when they are created, therefore the physics will look better.

Note: When playing an animation, if you are running into issues with legs literally going through the mesh (not the same as small 'clipping') and assuming you lined up the bones to the mesh closely, I find that usually the easiest solution is to add more bone parents:

image

I've found that adding 20 to 26 bone parents usually fixes the legs going through the skirt.

That being said, try to limit the amount of bones/rigid bodies that are needed for physics, as the more skirt bones that you add, the more physics calculations Blender has to do in order to animate the rigid bodies, so it will slow down your PC when trying to animate the physics in real-time.

After you're finished with tweaking the physics settings, you can bake the physics into the animation (using MMD Tools) so that Blender does not need to calculate the physics any more. Since baking the physics into an animation is a time-comsuming process, I generally only bake my physics in once I'm happy with the results of my tweaking and I'm close to the rendering an output file out of Blender.


Q: My character's skirt isn't complete all around, there are cuts in-between. How do I fix?

image

A: You may run into skirts like this that are not perfectly round, or are split into many pieces.

There are a few ways to fix:

  • Delete skirt bones (before generating the rigid bodies)
  • Delete the rigid bodies (before generating the joints)
  • Delete the horizontal joints

Or you can use a combination of all three.

In this example we delete the horizontal joints that are connecting the rigid bodies together.

Note: Whenever you need to change anything related to adding or removing bones/rigid bodies/joints, make sure Physics is turned OFF in MMD Tools (or use this shortcut), otherwise you risk breaking your model:

image

Using the Rigid Body panel shift+select (or control+select) the rigid bodies that you need to remove the joints from. These tools will help you make it easy to select what you need to:

image

Then go to the Joints panel and click on 'Get Joints from Rigid Bodies', then click on 'Horizontal' to filter ONLY horizontal joints.

image

With the joints you want selected, you should now be able to delete them.

After you're finished making your modifications, SAVE your .blend file(just incase Blender crashes), turn physics ON again, and press play to see if it made a difference. If not, UNDO you steps, or turn Physics off again and play with the model until you get your desired results.


Q: I am using the new skirt method but I still get clipping on the legs with the skirt. What gives?

A: Assuming you did all the steps correctly and the rigid bodies are lined up correctly with their respective meshes, the last available option is to increase the width/length on the skirt's rigid bodies OR increase the width of the leg rigid bodies. Or both. This can be done using the rigid body transform 'Bulk Apply', 'Bone Chain', or 'All Bone Chains' tools.

  • Bulk Apply will apply the the rigid body's settings you change EXACTLY the same for all selected rigids.

  • Bone Chain and All Bone Chains will apply a 'gradient' so of the selected rigid bodies, the highest bone parent's rigid body will get that (starting) value, and lowest bone child's rigid body will get that (ending) value.

Perhaps maybe a visual explanation is better for the differences between each tool:

Desktop.2023.03.14.-.21.51.07.10.Dvr-00.00.01.787-00.01.17.034.mp4

You can see on Sample Video 1 that there is clipping on Thancred's legs through the skirt (I did leave this in the video intentionally). This is because the Rigid bodies with the skirt are colliding with the rigid bodies on the legs, unfortunately because the leg's rigid bodies are smaller than the leg's mesh, it is causing clipping to occurr.

In this example below, increase the rigid body width/radius/size until it is slightly larger than mesh using these tools (I'd use the 'Bulk Apply' tool in this specific example): image


Q: Can I get rid all these extra bones (other viera ear bones,miquote ears on a non-miqote character, equipment attachment points that are not used, etc.) that my character does not use?

A: Yes you can get rid of them! In the Miscellaneous Tools panel, run these two commands:

  • Flag unused bones as 'unused'
  • Delete 'unused' bones

image

In general it is safer to run this step immediately after Step 1 in the conversion guide (before starting to manipulate all the bones on the model).


Q: When I play an animation, the arms don't line up exactly to the animation or clip/collide into the head/body/other hand at certain parts. How do I fix this?

A: The FFXIV bone structure isn't exactly lined up with a standard MMD model's A-Pose (the 'rest pose'). In general, FFXIV shoulders / arms / forearms / wrists are longer than a regular MMD model and it requires changes to the FFXIV bone structure. I've implemented an 'experimental' feature that adjusts the shoulder / arm / forearm / wrists positions. You'd need to run this step immediately after step 4 in the conversion guide:

image

Note: This is an experimental feature so it's not guaranteed to work exactly, as I haven't found a proper solution yet, but it does seem to work better in some cases then others. For example, on one MMD animation it ended up twisting the bone arm in a weird way, but on another animation it fixed all my hand/arm clipping issues, so your mileage may vary.


Q: Why are the textures all weird and black? They don't look like this in game.

image

A: Textools unfortunately doesn't export ALL of the texture files needed to render some textures properly for some gear (like dyed gear or metallic gear).

Using Textools, you'd need to individually export each affected body part's normal/multi/colorset texture(read: DDS files) and use this Blender Plugin & video guide to fix it.

You'll need to perform this immediately after step 1 in the conversion guide. On step 2, uncheck this box: image


Q: I want to export my model to PMX Format. How do I do that?

A: Everything that is needed to export to PMX format is included in this plugin.

Immediately after step 4 on the conversion guide, run this command:

image

Next, after step 9 in the conversion guide, follow these steps:

  1. On the Export MMD Preparation Panel -> Click on Add Display Panels

image

  1. On the MMD Tools Plugin -> Bone Order Panel -> Click on that weird square shape on the bottom
  2. Click on the arrow to expand the menu
  3. Click on Add Missing Vertex Groups from Bones

image

  1. Back in FFXIV MMD Tools Plugin, click on all of these buttons

image

  1. On the MMD Tools Plugin -> click on Model -> Export

image

The character should now be fully rigged and exported into PMX Format. From here you can treat this file exactly as a normal MMD Model and import it directly into MMD program OR edit it using PMX Editor.


Q: My FFXIV chracter's clothing is overlapping! It doesn't look like that in game.

image

A: This is because FFXIV uses a system of cutting clothes into smaller pieces, then it uses special shape keys to adjust the size for the remaining pieces.

For example a glove may go all the way up to the biceps, while the chest gear may go all the way up to the wrist. This can be fixed by deleting the extra chest clothing pieces, then leveraging the built-in shape keys to adjust the remaining clothes' size.

To fix this, we need to go into MMD Tools -> Morph Tools -> Vertex tab, and play with the shape key sliders that show up in this section setting the values from 0 to 1.

I play with these sliders and set the values to 1 until I find a slider that fixes my clothing issue.

To fix any FFXIV clothing, the value should either be 0 or 1 (nothing in-between).

image

In this example, setting this particular slider to 1 (shp_kat) fixed my issue.

Please note you may have MULTIPLE sliders under this section that need to be set to 1.

image

An alternate way is by going into each individual mesh and using Blender's Shape Key panel, but personally I find it easier to do this using MMD Tools since MMD Tools groups all the meshes for your model's shape keys together under one easy-to-use panel:

image


Q: There are other parts of my model that I want to apply physics to. How do I do it?

A: There are a few ways to do it, and depending on the method some are easier than others.

For breast physics, I would recommend using UuuNyaa's Plugin as it is very easy to use. But only if you are staying in Blender as this will not work if you want to export to PMX format.

I will go over an example of how to manually add physics using the MMD method using Bones,Rigid Bodies and Joints, as this method will work if you want to export to PMX format. The first thing I'd recommend is reading the theory behind how MMD's rigid bodies & joints work in Blender so that it doesn't seem so overly confusing.

In general these are the high-level steps required:

  1. Create the Bones you would like to apply physics to
  2. Weight paint the bones for the mesh
  3. Create the rigid bodies and configure the rigid body parameters
  4. Create the joints between the rigid bodies and configure the joint parameters
  5. Create a joint to attach the rigid body stem to a 'collision-based' rigid body so it stays attached to your model's skeleton

You would want to do this after step 7 on the Conversion Guide

In this example we will go over creating physics for a FFXIV model's hair pony tails, we will use this Au Ra model found in Sample Video 3.

First thing I will say is make sure Physics is turned OFF whenever you are changing/adding bones/rigid bodies/joints on anything related to physics. Once you are done making changes, SAVE OFTEN (as Blender likes to crash a lot whenever Physics are involved) and then you can turn Physics ON again.

Part 1: Create the Bones you would like to apply physics to

With the Au Ra model, find the hair mesh you would like to change. There should already be some bones attached that are weight painted on it. If your model does not have an existing bone to use on the place you would like add physics, create one from where you would like the physics to start on the mesh.

image

Next, we will extrude some bones from the existing bone that will match the shape of the mesh. Go to 'edit' mode for the bones. If you are lucky and there are bones on both side of your model (left and right, the bone names should end with 'l' and 'r'), you can use the 'X Axis Mirror' to cut the amount of work in half. Select the tail of the bone (ONLY the tail, not the entire bone) and press 'E' to extrude. You can manipulate the bone tail position by selecting it and pressing 'G' on the tail.

image

Repeat this process for however many bones you would like the hair physics to have, until you are finished. The more bones you add, the more detailed the physics will look. But I am lazy, so I only add a few bones :)

image

Part 2: Weight paint the bones for the mesh

Next we will apply weight painting to all the bones. Go to 'object' mode and select the armature, then control+click on the mesh. Then go to 'weight-painting' mode.

image

Shift + Click on all the bones that need weight painting, then go to the menu option that says Weights -> Assign Automatic from Bones

image

The hair should now be weight painted. You can check if they are weight painted correctly by control+clicking on a bone and seeing if the weight paint is applied properly in all the correct areas. If not, you will have to manually fix the weight paint (Don't ask me how, there are lots of videos on the internet and it is a tedious process).

Part 3: Create the rigid bodies and configure the rigid body parameters

Now that we have weight painted the bones, we will create the rigid bodies. Go back to 'object' mode, then select the armature and go to 'edit' mode. Control+click on all of the hair bones so they are all selected that you would like to apply physics to. In the FFXIV MMD Tools -> Rigid Bodies panel, select Create: From Selected Bones.

image

Configure the shape of the rigid bodies, as well as the parameters.

For this particular example I selected:

  • Rigid Body Shape: Capsule
  • Make sure the collision group is a different from than the skeletion (I used '9' because I know it's currently not used by any other rigid body groups)
  • Make sure the collision group mask is selected to ignore itself (I set the collision group mask to ignore all rigid bodies from group 9)
  • Make sure the rigid body type is 'Physics'

Here is the menu options that I used:

image

image

Your rigid bodies should now be configured. You can always change the settings later using the 'Bulk Apply'/'Bone Chain'/'All Bone Chain' options in the FFXIV MMD Tools Rigid Bodies panel.

Part 4: Create the joints between the rigid bodies and configure the joint parameters

Next we will create joints between the rigid bodies. With the rigid bodies selected, go to the Joints panel and select Create: From Selected Rigid Bodies.

image

You can configure always the settings later using 'Get Joints from Rigid Bodies' and 'Bulk Apply' on the Joints panel.

image

Part 5: Create a joint to attach the rigid body stem to a 'collision-based' rigid body so it stays attached to your model's skeleton

Last thing to do is attach the hair stem rigid bodies to the head rigid body. Control + Click on the hair stem and the 'head' rigid body. Then click on Create: ** From Selected Rigid Bodies **

image

You're all done! Turn Physics ON and Press Play to see if everything is working as expected. If not, Turn Physics OFF, make your changes and then turn it on again.


Q: I want to add new facial expressions or change the existing facial expressions. How?

A: First thing I would recommend doing is looking at this MMD Facial Expression Reference guide as these are the reference charts I used when creating MMD facial expressions.

The facial expressions I created for FFXIV characters were fine-tuned manually (it doesn't use any data from Square Enix) so there is always room for improvement!

Ok, so before getting into the how to change facial expressions, I need to go into some theory discussion on how Facial Expressions work in Blender's MMD Tools.

Vertex Morphs (shape keys) vs Bone Morphs:

  • Shape keys are a Blender concept are used for controlling a mesh's verticies
  • MMD Facial animations are animated using shape keys (or 'Vertex Morphs' as MMD Tools calls them) under the .placeholder object in Blender
  • When you animate facial expressions in Blender, those shape keys have special names in Japanese that are used by VMD/MMD motion files for animation.
  • 'Vertex Morphs' manipulate a mesh's verticies, while 'Bone Morphs' manipulate multiple pose bone's transform data.
  • Bone Morphs is an intermediary step to creating shape keys. It allows someone in Blender to manipulate a pose bone's location & rotation data. When you press this 'Morph' button in MMD Tools, those Bone Morphs are then copied and converted into shape keys that are stored in the .placeholder object:

image

  • A bone morph is simply a way of storing multiple pose bone location/rotation data in a collection.
  • For example, the 'left wink' bone morph-- It is a collection of two pose bones, the 'left upper eyelid' and 'left lower eyelid' being rotated on the Z axis from the rest position.
  • Bone Morphs can always be converted into shape keys, but it is impossible to convert a shape key back into a bone morph... Meaning, if you want to modify a shape key, you're stuck manually modifying the verticies of a mesh at that point.
  • I heavily leverage the Bone Morphs. It only works because I have an assumption that all models within the same races have similar face shapes. For example, I assume that all lalafell have all the same massive eye sockets, and all roegadyn have tiny eye sockets. As a general rule it seems to work well enough.

The bone morph data for each race is stored in a CSV File that contains a few columns of data:

  • Bone Morph Name
  • Pose bone Name
  • Location/rotation changes for each pose bone in XYZ Euler format ( not in 'Quaternion' because 'Quaternion' sucks :) )

It is easy enough to read and access the data if you have Excel by pressing on this button:

image

You can also see these exact same numbers used in MMD Tools if you:

  1. Change the pose bone facial data to XYZ Euler using this button:

image

  1. Go into MMD Tools, and check the Bone Morphs section:

image

That being said, if you wanted to add or change the bone morph data, There are a few ways to do it:

  1. You can always modify these files, save it, and then press the 'Generate' button
  2. Manually do it via MMD Tools using the tools they provide:

image

image


Q: When I start an animation, the model quickly transports to a location and messes up all the physics causing my character's boobs/skirt/hair/tail to warp in weird ways! How to fix?

A: When physics are applied to any animations in blender, the time that it takes to move from one frame to the next frame is important. A lot of VMD motion animation files start by transporting a charater to a specified spot very quickly. This is controlled by the 'margin' setting when importing an animation.

image

By default the margin will be set to '5'. Margin is the starting MMD animation frame offset from frame 0. Meaning, if frame 0 is the 'rest' position for your model, and 5 is the MMD animation 'start' frame, this gives Blender exactly 5 frames to move a model, and transport the physics along with it... Which causes physics to warp your model in weird ways.

To fix this, upon importing a VMD motion file, set the margin to '30' or higher. Using multiples of 30 are ideal, as all VMD animations (well, all the keyframes anyway) are animated at 30 fps. What this will do is give Blender more time to 'safely' move a model with physics on so that they can settle easily before the VMD animation starts on frame 30.

And if you're using a multiple of 30 it is easy to tell that the MMD animation starts on a specific second. For example if I set the margin to 120, and I render out a video at 30 fps, I can easily tell that I need to sync the music to the video on the 4 second mark.


Q: Why are the leg meshes not following the leg bones? What kind of witchcraft is this??

image

A: There are certain 'special' bones that were invented due to how Inverse Kinematics work in MMD. Inverse Kinematics are great as they allow you to animate a whole leg by using a single 'controller' IK bone, but once you apply them, it means you can no longer physically move the 'controlled' bones (and therefore the mesh) directly anymore.

Someone in the MMD world invented these 'special' bones that allows you to move a mesh even after IK was applied to the bones. This is so that if IK is not achieving the desired leg movement, you can always apply a slight nudge here or there in the right direction by adjusting these special bones.

These bones (at least, in this plugin) are called:

  • waist_cancel_l
  • waist_cancel_r
  • leg_l_D
  • leg_r_D
  • knee_l_D
  • knee_r_D
  • knee_2_l_D
  • knee_2_r_D
  • toe_l_EX
  • toe_r_EX

The problem is that sometimes these special bones tend to cause more issues on some VMD motion files than others. I've found (in at least two VMD motion files) that the culprit was waist_cancel_l and waist_cancel_r. To adjust these, you can turn down the 'influence' of these special bones to the mesh or turn it off completely.

To do this, Select the Armature, go to 'pose' mode, then find the bones special bones you want to adjust (for this example we are using waist_cancel_l and waist_cancel_r) bones. Select the bone, go to 'bone constraints' and turn the 'Influence' down to 0.

image

All fixed :)


Q: Physics is turned on -- Why is my character's skirt/tail going through the floor?

image

A: The first thing I'd recommend is reading the theory behind how MMD's rigid bodies & joints work in Blender so that it doesn't seem so overly confusing.

Done reading? Ok. So you have 'collision-based' rigid bodies, and 'physics-based' rigid bodies. All of the skirt/tail rigid bodies are 'physics-based'. The issue is that they have nothing to collide into. Right now, the tail rigids pass right through our imaginary floor.

To fix this, we need to create a 'collision-based' rigid body that simulates an actual floor for the 'physics-based' rigid bodies to interact with.

The best bone to use to simulate a floor is the 'root' bone, since it naturally should be directly below your model at all times, and also it's already on the xyz 0,0,0 point so we don't need to move it around anywhere.

Anyway, the steps:

  1. Turn Physics OFF.
  2. Go to 'edit' mode, then select the 'root' bone.
  3. Click on Rigid Body Create -> From Selected Bones

image

  1. On the rigid body settings, change the Shape to 'Box'

image

  1. With the Rigid Body selected, Under Rigid Body Transform -> Select Bulk Apply
  2. Change the following settings and press 'OK':
  • Location Z to 0
  • Size Z to 0
  • Size Y and X to anything you want, as long as it's below your model at all times

image

If done properly, should now have something that looks like this:

image

You're all done. Now Turn Physics ON again and observe that your physics-based rigid bodies will no longer pass through the imaginary floor (as it has a real collision-based rigid body to interact with now).

image

If you notice any weird issues such as the floor being too 'sticky' when the tail or skirt collide with it, you can try setting the 'friction' parameter to 0 on the floor rigid body to see if that changes anything.

image


Q: Why does my characters hair have bald patches! HALP!

image

A: This is because Blender is using the wrong UV Map. To fix:

  1. Go the the "Shading" tab in blender
  2. While in "Object" mode, select the hair material with the bald patches in the viewport
  3. Add a "UV Map" node

image

  1. You should see a node with the name "Diffuse" on it. Connect the UV Map node's "UV" output to the Diffuse node's "Vector" input
  2. Set the UV Map node's dropdown to "uv2"

image

All fixed!

image


Q: The Rigid Body Collision Group Masks are not working! What am I doing wrong?

285059516-4302226c-5e1e-4d33-a79d-8ef0428c45c7

collision.group.masks.not.working.mp4

A: Upon pressing the 'Physics' button in MMD Tools, there is a small window on the bottom left hand side of your screen that will show up that says "Build Rig"

There will be a Field in it that says "Non-Collision Distance Scale". Set this value to 10. It fixed some boob physics issues for me. Don't ask me how it works, I have no idea. :)

image

collision.group.masks.working.mp4

Q: I want to automate doing something complex in Blender, but I don't know how!

A: Lol not really a question, but use ChatGPT to write you some Blender code scripts!! Seriously, it has saved my bacon a ton of times, infact, the majority of this addon was built with ChatGPT assisting every step of the way.

How to use: In ChatGPT, start a prompt with 'In Blender using python, I want to...' and see what it says. image

image

image

I won't be answering any code-related questions if you decide to use it, however I will leave some crucial infomation if you decide to start writing any code in Blender:

  • Find out what Blender version of ChatGPT was trained on. The information that it gives might be out of date for older versions. (Ask ChatGPT, 'What is the latest version of Blender you were trained on?')
  • Blender API Documentation - Documentation for ALL the code in Blender. Bear in mind the Blender version that you are using might not line up with the documentation here. Always check the Blender version listed. FYI Here's the API doc for 3.6
  • Cheat Sheet I made for someone else on editing nodes via code, but it might be useful to someone else out there: image image
Clone this wiki locally