A tool designed to shorten steps needed to import and optimize MMD and Mixamo models into VRChat.
- Optimizing model with one click!
- Creating lip syncing
- Creating eye tracking
- Creating texture atlas
- Creating root bones for Dynamic Bones
- Optimizing materials
- Translating shape keys, bones, materials and meshes
- Merging bone groups to reduce overall bone count
- Auto updater
More to come!
-
Install this Blender plugin if you don't have it already: mmd_tools
-
Download the plugin: Cats Blender Plugin
-
Install the the addon in blender like so:
- Check your 3d view and there should be a new menu item called CATS ....w00t
- If you need help figuring out how to use the tool:
- Hotox
- Shotariya
- Neitri
A vastly improved combination of Neitri and Shotariya's blender plugins, it tries to fix and optimize the armature with one click.
Fixes your model automatically by:
- Reparenting bones
- Removing unnecessary bones
- Renaming and translating objects and bones
- Mixing weight paints
- Rotating the hips
- Joining meshes
- Removing rigidbodies, joints and bone groups
- Removing bone constraints
- Deleting unused vertex groups
- Using the correct shading
Cleans up the bones hierarchy, because MMD models usually come with a lot of extra bones that don't directly affect any vertices.
Imports a mmd model (.pmx, .pmd). This requires mmd_tools in order to work.
Separatres a mesh by materials
Joins all meshes into one
Deletes the selected bones and adds their weight to their respective parents.
Can translate certain entities from any language to english Works by sending a request to the Google translate service. This feature can be slow for entities with a large amount of items.
Eye tracking is used to artificially track someone when they come close to you It's a good idea to check the eye movement in pose mode after this operation to check the validity of the automatic eye tracking creation.
The mesh with the eyes vertex groups
Head bone name
Eye bone left name
Eye bone right name
The name of the shape key that controls wink left
The name of the shape key that controls wink right
The name of the shape key that controls lowerlid left
The name of the shape key that controls lowerlid right
Disables eye blinking. Useful if you only want eye movement.
Disables eye movement. Useful if you only want blinking. IMPORTANT: Do your decimation first if you check this!
Configure eye movement speed
Mouth visemes are used to show more realistic mouth movement in-game when talking over the microphone The script generates 15 shape keys from the 3 shape keys you specified. It uses the mouth visemes A, OH and CH to generate this output. This is still an experimental feature and will be fine tuned over the course of time
The mesh with the mouth shape keys
Shape key containing mouth movement that looks like someone is saying "aa"
Shape key containing mouth movement that looks like someone is saying "oh"
Shape key containing mouth movement that looks like someone is saying "ch". Opened lips and clenched teeth
Controls the strength in the creation of the shape keys. Lower for less mouth movement strength.
Useful for Dynamic Bones where it is ideal to have one root bone full of child bones This works by checking all bones and trying to figure out if they can be grouped together, which will appear in a list for you to choose from. After satisfied with the selection of this group you can then press 'Parent bones' and the child bones will be parented to a new bone named RootBone_xyz
This is a list of bones that look like they could be parented together to a root bone. Select a group of bones from the list and press "Parent bones"
This will clear the group bones list cache and rebuild it, useful if bones have changed or your model
This will start the parent process
Texture atlas is the process of combining multiple textures into one to save processing power to render one's model If you are unsure about what to do with the margin and angle setting, then leave it default. The most important setting here is texture size and target mesh.
Margin to reduce bleed of adjacent islands
Lower for more projection groups, higher for less distortion
Lower for faster bake time, higher for more detail.
Weight projections vector by faces with larger areas
The mesh that you want to create an atlas from
Texture baking and multiple textures per material can look weird in the end result. Check this box if you are experiencing this. If any experienced blender user can tell me how to fix this more elegantly please do let me know!
Lets you reduce overall bone count in a group set of bones This works by checking all bones and trying to figure out if they can be grouped together, which will appear in a list for you to choose from. After satisfied with the selection of this group you can then set a percentage value how much bones you would like to merge together in itself and press 'Merge bones'
This is a list of bones that look like they could be merged together. Select a group of bones from the list and press "Merge bones"
This will clear the group bones list cache and rebuild it, useful if bones have changed or your model
This will start the merge process
There is an auto updater in the plugin so you don't have to keep checking for new version. This is how to check for updates:
- Added: Model: More models are now compatible (if not please report it to us)
- Added: Translations: Now shows how many objects were translated
- Added: Model: New notification when mmd_tools is not installed/enabled
- Fixed: Model: Joining meshes causes models to be decimated weirdly
- Fixed: Model: Rigidbodies and joints not getting deleted
- Fixed: Visemes: Shape keys getting wrongly renamed to name + "_old"
- Fixed: UI: Improved some loading bars
- Fixed: Other bugs
- Added: Model: A lot more models are now compatible (if not please report it to us)
- Added: Bone Merging: A new feature that can reduce huge groups of bones (useful for Dynamic Bones)
- Added: Model: Mixamo models are now fixable!
- Added: Progress notification on several operations
- Added: Model: Joining meshes now applies all unapplied decimation modifiers
- Added: Model: New "Start/Stop Pose Mode" button
- Added: Updater: Development branch added to version selection
- Changed: Functions that need UI context are now excluded from the spacebar menu
- Changed: Separate by Materials: Improved search for the mesh
- Fixed: Undo now works better
- Fixed: Bugs, bugs and bugs
- Added: Armature: More models are now compatible (if not please report it to us)
- Added: Armature: Fix hips now adjusts the upper leg bones to be placed more correctly for full body tracking
- Added: Eye Tracking: Testing of blink and lowerlid shapes
- Added: UI: Custom icons!
- Added: Armature: Added "Import Model" button (shortcut to the mmd_tools button)
- Added: Armature: Added "Separate by Materials" button (shortcut to the mmd_tools button)
- Added: Armature: Fixing Armature now correctly sets the shading
- Added: Updater: New popup when update is available
- Changed: Eye Tracking: Made "Basis" usable again (useful for models with a single shape containing both blinks)
- Changed: Armature Panel renamed to Model
- Fixed: Optimization: Combine same materials now ignores inactive texture slots in it's unique identification
- Fixed: Armature: Fixed multiple toes bug
- Fixed: Even more bugs
See the full changelog here.
- MOAR updates on the armature code
- Texture translation should have an option to rename the filename also
- Automatic lower lid creation for eye tracking
- Manual bone selection button for root bones
Do you love this plugin or have you found a bug? Post a response in this thread or send your feedback to the official discord server of the plugin for real-time communication: https://discord.gg/f8yZGnv and look for people with the developer role ;)