Skip to content

Features

Yusarina edited this page Mar 30, 2024 · 26 revisions

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.

Features (Click to Expand)

  • Quick Access The Quick Access Panel has a few options so you can quickly do some common things in blender.

    Screenshot 2024-01-30 151715

    Import/Export Model
    • 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"
    • 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.

    Join all meshes

    • Join all meshes together.

    Combine Materials

    • Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.
    Start Pose Mode
    • Lets you test how bones will move.
    Pose to Shape Key
    • Saves your current pose as a new shape key.
    Apply as Rest Pose
    • 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

    Atlas Tab

    Texture atlas

    Texture atlas is the process of combining multiple textures into one to drastically reduce draw calls and therefore make your model much more performant

    Create Atlas
    • Combines all selected materials into one texture. If no material list is generated it will combine all materials.
    Generate Material List
    • Lists all materials of the current model and lets you select which ones you want to combine.
    Useful Tips:
    • 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:

    Bones Tab

    The bones tab has several things to help optimizations your bones and weights and etc.

    Screenshot 2024-02-09 151058

    Bone merging

    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'

    Refresh list
    • Clears the group bones list cache and rebuild it, useful if bones have changed or your model.
    Merge bones
    • Starts the merge process.

    Merge Weights

    • Deletes the selected bones and adds their weight to their respective parents.

    Delete Zero Weight Bones

    • 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.

    Delete Constraints

    • Removes constrains between bones causing specific bone movement as these are not used by VRChat.

    Duplicate Bones

    • Duplicate selected bones and their weights and renames them to _L or _R.

    Connect Bones

    • Connects all bones to their respected children.

    Materials and Meshes Tab

    Screenshot 2024-01-30 152101

    Combine Materials

    • Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.

    Convert Textures to PNG

    • Converts all textures files into png files, the can help with transparency and compatibility issues.

    Join all meshes

    • Join all meshes together.

    Join all meshes

    • Joins currently selected meshes together.
    Remove Doubles
    • Merges duplicated faces and vertices of the selected meshes.
  • MMD Options

    MMD Options:

    Screenshot 2024-02-09 145818

    Fix MMD Model
    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
      Fix Materials
    • Applies some vrchat related fixes, fixes shaders and etc.

      Combine Materials

    • Combines Similar materials, this can reduce draw calls in Unity and VRChat. Your avatar should visibly look the same after using this.

      Remove Rigid Bodies and Joints.

    • 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.

  • Creating lip syncing

    Visemes (Lip Sync)

    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.

  • Automatic decimation (Legacy) (while keeping shapekeys)

    Decimation

    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.

    Save Decimation
    • This will only decimate meshes with no shape keys.
    Half Decimation
    • This will only decimate meshes with less than 4 shape keys as those are often not used.
    Full Decimation
    • This will decimate your whole model deleting all shape keys in the process.
    Custom Decimation
    • This lets you choose the meshes and shape keys that should not be decimated.
  • Creating custom models easily

    Custom Model Creation

    This makes creating custom avatars a breeze!

    Merge Armatures
    • 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
      • 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!
    Attach Mesh to Armature
    • 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!
  • Translating shape keys, bones, materials and meshes.

    Model Options

    Screenshot 2024-01-30 153346

    Translation
    • Translate certain entities from any japanese to english. This uses an internal dictionary and Google Translate.
    Separate by material / loose parts / shapes
    • Separates a mesh by materials or loose parts or by whether or not the mesh is effected by a shape key
    Recalculate Normals
    • Makes normals point inside of the selected mesh
    • Don't use this on good looking meshes as this can screw them up
    Flip Normals
    • Flips the direction of the faces' normals of the selected mesh.
    Apply Transformations
    • Applies the position, rotation and scale to the armature and its meshes.
  • Parenting Bones. ### Bone parenting

    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

    To parent
    • 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"
    Refresh list
    • Clears the group bones list cache and rebuild it, useful if bones have changed or your model
    Parent bones
    • Starts the parent process
  • Auto updater and the ability to use the development version.

    Settings and Updates

    SettingsSection

    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.

  • Applying shapekey to basis (ex: open mouth -> close mouth)

    Shape Key

    Apply Shape Key as Basis

    • Applies the selected shape key as the new Basis and creates a reverted shape key from the selected one.
  • Repair and Optimise Shapekeys

    Repair Shape Keys 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.
  • Generate Twist Bones
    • Generate Twist Bones

    Generate Twist Bones

    • Attempts to generate an twist bone for a selected bone.
  • Eye Tracking Panels

    Avatars Eye Tracking Panel

    Screenshot 2024-03-04 200811

    Eye Tracking for VRChat SDK3:

    Screenshot 2024-03-04 200831

    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

    Legacy Eye Tracking (For games like ChilloutVR or other games that need it):

    Screenshot 2024-03-04 200827

    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.

    Disable Eye Blinking

    Disables eye blinking. Useful if you only want eye movement.

    Disable Eye Movement

    Disables eye movement. Useful if you only want blinking. IMPORTANT: Do your decimation first if you check this!

    Eye Movement Speed

    Configure eye movement speed

  • Export Shapekey Translation to CSV

    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.

    Screenshot 2024-03-04 201704

    Export Translations to CSV

    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.

    Custom CSV Export Location

    This allows the user to select an custom CSV export location.

  • Remove Rigid Bodies and Join Global

    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.

Clone this wiki locally