Character Creator 3 Pipeline

Home Forums Asset Forum Modular Multiplayer FPS Engine (Photon 2) Tutorials Character Creator 3 Pipeline

This topic contains 3 replies, has 3 voices, and was last updated by  Omzy 2 months, 2 weeks ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5534

    Omzy
    Participant

    Hi all, just thought I’d share my character pipeline. It uses Character Creator 3, a new product from Reallusion. They have finally made it fairly simple to create high quality characters and get them into Unity quickly with LODs. Most of this guide is applicable to other character systems with a few modifications. It also contains my version of setting up Mars characters which is modified a bit from the default Documentation file.

    It is free to make very basic humanoids, but there is a ‘buy-in’ if you want to have any of the good-looking content. A few hundred dollars will allow you to generate unlimited characters. If you are strapped for cash, you may want to go another route. Be careful in their store–they know how to sell their products very well! If you do buy any content from their store, just remember you will need the Export license to be able to use anything in a commercial game. Here is a link for those interested. https://www.reallusion.com/character-creator/download.html

    Without further ado,

    Character Creator 3 Pipeline
    ————————————————————–

    CC3 →
    Make sure you’ve installed the Autoprocess script from: http://file.reallusion.com/CC_Character_Auto_Settings_Unity.zip
    Once finished creating the character, save your ccProject file
    Select the avatar and Convert to Game Base
    Single Material, 2048 (set your max texture res here)
    Export FBX, Unity 3D preset
    Uncheck Embed textures, check Delete Hidden Mesh
    Check InstaLOD, Keep Original Avatar
    Set Number of LODs to 4 (your choice)
    Export into a folder in your Unity project CC_Assets folder (let it generate materials for your character–Important!)

    Blender →
    Make sure to allow unity CC autoprocessing to generate materials first
    Assuming 1 base mesh (LOD0) and 4 LODs, import all 5 FBX into blender one at a time, make sure to Force connect children and automatic bone orientation
    Set all LOD mesh armature modifiers to Armature
    Drop LOD1-4 armatures into the Armature, as Object
    Drop each mesh of the LODs onto Armature, they will get larger
    Delete LOD1-4 armatures
    Scale down meshes to 0.01
    All meshes will be rotated 90deg so fix that so they all stand up
    Select all meshes and apply rotation and scale
    Now everything is parented properly and scaled
    Check animation by moving time slider
    Delete all animations except 1 calibration anim (delete keyframes and uncheck F)
    Cut all keyframes down to 300 from that animation (dramatically reduces file size)
    Save blend file
    Export FBX, armature and mesh only, no leaf bones, keep animation

    Unity →
    Turn off CC auto processing temporarily
    Replace all blender materials with default materials from CC auto processing
    Delete all except the first calibration anim, rename it, and loop it
    Set to humanoid and Apply changes
    Configure rig, open Head configuration and delete Jawbone from Mecanim (otherwise the mouth hangs open in-game)
    Can turn on CC auto processing again
    Fix hair and double sided objects by modifying the materials
    Ciconia double sided materials work for this (Unity Asset Store)
    Create LOD group with settings 40/30/25/20/2 (adjust based on game)
    Save the Prefab

    Mars →
    In an empty scene, create an empty gameobject named TP_yourCharacterName
    Place the prefab you saved as a child of this empty object
    GameObject->3D Object->Ragdoll, follow wizard
    Fix ragdoll colliders to prevent from overlapping. Thighs set radius to 0.1, Calves 0.08, Upperarm 0.06, Lowerarm 0.04, Head 0.1 (adjust based on game)
    Duplicate prefab, name the new one Ragdoll_yourCharacterName
    Remove all joints and rigidbodies from the Player prefab
    Put all colliders in PlayerCollider layer with Blood tag and set them as triggers
    Have to expand all colliders in hierarchy to multi-tag (expand all shortcut alt+R click parent)
    Add Kit_PlayerDamageMultiplier to all colliders and set ID to same order in hierarchy (0-10)
    Add Kit_ThirdPersonModernPlayerModel to prefab root (TP_yourCharacterName)
    Assign colliders in same order for Raycast Colliders and Ragdoll Collider Copy arrays
    Assign all renderers including LODs to FP shadow only renderers
    Duplicate WeaponInHandsHolder game object and parent to RHand
    Set the holder transform to pos 0, angle 0, 90, 90, scale 1
    Copy NameAboveHeadPos object and SoundVoice and parent to head
    NameAboveHeadPos settings: Pos -0.4, 0, 0, Rot 90, -90, 0, Scale 1.1, 1.2, 1.1.
    Zero out transform of SoundVoice
    Assign all 4 sound prefabs to the root prefab references (SoundFire, SoundReload, SoundOther, SoundVoice)
    Assign WeaponInHandsHolder and NameAboveHeadPos to the root prefab references
    Duplicate NameTrigger into prefab root (Y pos should be about 0.771, near pelvis)
    Assign the Kit_PlayerAnimator to the parent object Animator (the one with the LOD group)
    Make sure Apply Root Motion is OFF
    Assign Animator object to ‘Anim’ property of the prefab root by dragging
    Put Kit_ThirdPersonModernIKRelay on the object with Animator
    Assign Animator object to ‘Ragdoll Go’ property
    Save TP prefab
    For ragdoll prefab, put all colliders in PlayerRagdoll layer and assign tag “Blood”
    Add Kit_FirstPersonRagdoll script and a Photon View component to the root object
    Assign colliders and rigidbodies the same way as the player prefab
    Create a CameraPos transform and parent it to the head. You can create a Camera child to test positioning, but delete the Camera child before continuing
    Assign the CameraPos to the root ‘Camera Pos’ property
    Save Ragdoll prefab into Mars Resources folder
    Assign that prefab to the ‘Ragdoll Prefab’ property in the player TP prefab created earlier
    Create a Kit_PlayerModelInformation scripted object in the GameInformation->Player->Player Models folder using R click -> Create -> MarsFPSKit -> Player Models -> New
    Assign the TP prefab to the ‘Prefab’ property
    Add a Kit_VoiceInformation file for player voice
    Add the Player information file to the Game information settings on the desired Team

    Q. How do I get my complex weapon animations to work on my third person avatar?
    A. To create a TP prefab for a weapon (see Mars’ tutorials), you parent the static weapon to the hand bone. Any weapon rigging you’ve done doesn’t transfer. Unless–you put a rigged version of the weapon in the player’s hand and use the same animator on it. You have to extract the weapon from the animated blend file. To do this, you delete all other meshes and bones except for the weapon bones, then Transform the armature and mesh to the origin (bones should still match relative positions on the weapon). On the TP animation import settings for any animations using the extra bones (reloads), you add a Transform Mask for the extra bones (do not mask the weapon bone itself, that is just parented to the hand). Set the animator controller for the weapon the same as the character (Kit_PlayerAnimator). Position the weapon in player’s hand in the scene and run test animations with a test Animator to position and scale the weapon properly. Now your complex weapon animation should be working as intended.

    #5537

    themars2011
    Keymaster

    Regarding complex third person weapon animations, this method will only work if your first and third person animations are on the same rig! Which is true for Omzy!

    Thank you Omzy for letting us know!

    #5575

    MortalMan1
    Participant

    So what does this look character creator look like in the unity engine and in game. Do you have videos were your using it in your project?

    #5576

    Omzy
    Participant

    Hey MortalMan, it looks good, almost triple A. I don’t have any media readily available at this point and I’ve taken a hiatus from my project as I’m studying for a huge test. You can easily see how the character creator works by using their free trial. Models in-game look nearly as good as in the character editor. Animations use Mecanim, so no surprises there.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.