-
Notifications
You must be signed in to change notification settings - Fork 7
Features
Please note the features list is for the latest LTS blender version that cats support, which is currently blender 3.6.x, some features may not be on older versions of blender or even newer versions of blender as our priority is the latest LTS version. Not a non LTS version of blender like blender 4.0/4.1.
-
Quick Access
The Quick Access Panel has a few options so you can quickly do some common things in blender.-
Imports a model of the selected type with the optimal settings
- Supported types:
- MMD: .pmx/.pmd
- XNALara: .xps/.mesh/.ascii
- Source: .smd/.qc/.vta/.dmx
- VRM: .vrm
- FBX: .fbx
- DAE: .dae
- ZIP: .zip"
- Supported types:
-
Exports a model as to an selected type.
- Supported types:
- FBX for Unity or can be used in other engines.
- Resonite, Exports as a GLTF, ensure your model is to scale in blender and import as meters in Resonite.
- Supported types:
- Join all meshes together.
- Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.
- Lets you test how bones will move.
- Saves your current pose as a new shape key.
- Applies the current pose position as the new rest position. This saves the shape keys and repairs ones that were broken due to scaling
-
-
Optimization
Texture atlas is the process of combining multiple textures into one to drastically reduce draw calls and therefore make your model much more performant
- Combines all selected materials into one texture. If no material list is generated it will combine all materials.
- Lists all materials of the current model and lets you select which ones you want to combine.
- Split transparent and non-transparent textures into separate atlases to avoid transparency issues
- Make sure that the created textures are not too big, because Unity will downscale them to 2048x2048. Split them across multiple atlases or reduce the individual texture sizes. This can be easily done in the MatCombiner tab.
- You can tell Unity to use up to 8k textures. Do so by selecting the texture and then choose a different Max Size and/or Compression in the inspector:
The bones tab has several things to help optimizations your bones and weights and etc.
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'
- Clears the group bones list cache and rebuild it, useful if bones have changed or your model.
- Starts the merge process.
- Deletes the selected bones and adds their weight to their respective parents.
- Cleans up the bones hierarchy, deleting all bones that don't directly affect any vertices.
- Keep bones with _twist check box keeps any bones with _twist or Twist in their name, it is off by default.
- Removes constrains between bones causing specific bone movement as these are not used by VRChat.
- Duplicate selected bones and their weights and renames them to _L or _R.
- Connects all bones to their respected children.
- Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.
- Converts all textures files into png files, the can help with transparency and compatibility issues.
- Join all meshes together.
- Joins currently selected meshes together.
- Merges duplicated faces and vertices of the selected meshes.
-
MMD Options
IMPORTANT: FIX MMD MODEL SHOULD ONLY BE USED FOR NEW MMD/VRM MODELS WHICH HAVE NOT BEEN SET UP FOR UNITY, DO NOT USE THIS IF YOUR MODEL HAS ALREADY BEEN SET UP FOR UNITY (BROUGHT OF GUMROAD, BOOTH OR SOMETHING) OR IF YOU ARE CREATING YOUR OWN MODEL.
-
Fixes your model automatically by:
- Reparenting bones
- Removing unnecessary bones
- Renaming and translating objects and bones
- Mixing weight paints
- Rotating the hips
- Removing bone constraints
- Deleting unused vertex groups
-
Applies some vrchat related fixes, fixes shaders and etc.
-
Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.
-
This will remove all Rigid Bodies and Joints from your model, this should be use if you planning of putting your MMD model into VRChat as these are not used by VRChat.
-
-
Automatic decimation (Legacy) (while keeping shapekeys)
This feature will soon be a legacy feature in favour of users either using blender built in tools or Tuxedo.
You can read more about this feature here.
Decimate your model automatically.
- This will only decimate meshes with no shape keys.
- This will only decimate meshes with less than 4 shape keys as those are often not used.
- This will decimate your whole model deleting all shape keys in the process.
- This lets you choose the meshes and shape keys that should not be decimated.
-
Creating custom models easily
This makes creating custom avatars a breeze!
- Merges the selected armature into the selected base armature.
-
How to use:
- Use "Fix Model" on both armatures
- Select the armature you want to fix in the list above the Fix Model button
- Ignore the "Bones are missing" warning if one of the armatures is incomplete (e.g hair only)
- If you don't want to use "Fix Model" make sure that the armature follows the CATS bone structure (https://i.imgur.com/F5KEt0M.png)
- DO NOT delete any main bones by yourself! CATS will merge them and delete all unused bones afterwards
- Now you have two options:
- Only move the mesh:
- Uncheck the checkbox "Apply Transforms"
- Move the mesh (and only the mesh!) of the merge armature to the desired position
- You can use Move, Scale and Rotate
- CATS will position the bones according to the mesh automatically
- OR move the armature (and with it the mesh):
- Check the checkbox "Apply Transforms"
- Move the armature to the desired position
- You can use Move, Scale and Rotate
- Make sure that both meshes and armatures are at their correct positions as they will stay exactly like this
- If you want to merge multiple objects from the same model it is often better to duplicate the armature for each of them and merge them individually
- Only move the mesh:
- Select the base armature and the armature you want to merge into the base armature in the panel
- If CATS can't detect the bone structure automatically: select a bone you want to attach the new armature to
- E.g.: For a hair armature select "Head" as the bone
- Press the "Merge Armatures" button -> Done!
- Use "Fix Model" on both armatures
- Attaches the selected mesh to the selected armature.
-
How to use:
- Move the mesh to the desired position
- You can use Move, Scale and Rotate
- INFO: The mesh will only be assigned to the selected bone
- E.g.: A jacket won't work, because it requires multiple bones.
- E.g.: A ring on a finger works perfectly, because the ring only needs one bone to move with (the finger bone)
- Select the base armature and the mesh you want to attach to the base armature in the panel
- Select the bone you want to attach the mesh to in the panel
- Press the "Attach Mesh" button -> Done!
- Move the mesh to the desired position
-
Translating shape keys, bones, materials and meshes.
- Translate certain entities from any japanese to english. This uses an internal dictionary and Google Translate.
- Separates a mesh by materials or loose parts or by whether or not the mesh is effected by a shape key
- Makes normals point inside of the selected mesh
- Don't use this on good looking meshes as this can screw them up
- Flips the direction of the faces' normals of the selected mesh.
- Applies the position, rotation and scale to the armature and its meshes.
-
Parenting Bones.
### Bone parentingUseful 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
- 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"
- Clears the group bones list cache and rebuild it, useful if bones have changed or your model
- Starts the parent process
-
Auto updater and the ability to use the development version.
This plugin has an auto updater. It checks for a new version automatically once every day. This is also where you can install dev version, a most recent build of bug fixes and beta features. Dev version is updated automatically to your machine. Dev version changes very often in response to bugs and issues reported in the issues page on github or on the cats discord server.
-
Repair and Optimise Shapekeys
Repair Shape Keys
- Attempts to repair shape keys which can get broken by some blender operations.
Optimise Shape Keys
- Moves all shapeekey affected geometry into it's own mesh, decreasing gpu cost, you need to combine all meshes for this to be effective.
-
Eye Tracking Panels
Rotate eye bones so they point straight up and have zero roll, simplifying the eye-tracking setup in Unity for VRChat.
This feature was a pull request by Mysteryem on the original Cats project so i ported it over. Original request https://github.com/absolute-quantum/cats-blender-plugin/pull/599
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 the testing tab after this operation to check the validity of the automatic eye tracking creation.
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
-
Export Shapekey Translation to CSV
To allow easier translations for aminations and etc in Unity you can now export your translations to an CSV file. the way the file is formatted is mesh/object,original,translated so mesh first, the original translation then the translated one.
As default this is unchecked, however when checked it will export a CSV file whenever the user translates anything to an CSV file located in your documents - Cats.
This allows the user to select an custom CSV export location.
-
Remove Rigid Bodies and Join Global
By default this is checked, when doing any action in Cats it will automaticlly remove Rigid Bodies and joints, this is due to a blender issue which will break them if there are not in the view_layer. However this create an issue for MMD users, therefor when unchecked it will not remove any Rigid Bodies or Joints anymore.
Please note this does not effect custom armature creation as this will still remove Rigid Bodies and Joints as there will not be merged when merging armatures.
Please do not report any issues for Blender version below 3.6. Cats does work for 4.0 however it is not my current priority so updates for 4.0 could be slow.