I’ve been taking some time to go back to Character Creator 3 and really try to learn what it has to offer. To this end, I’m working through a lot of tutorials both on their official site and from other freelancers on Youtube. I started from the end of the pipeline though for the sake of some project deliverables we needed ASAP. A project required two generic characters with the same animations, so I started by finding out all I could about exporting characters from CC3 to Unity as efficiently as possible. From the tutorials, I was able to figure out a lot of the things I was missing from the export settings.
First, as a thing to prep the models for export, CC3 actually contains a lot of stuff to smooth the integration to Unity. The “Game Base” button does all the reduction I had previously been doing manually, reducing the polycount on the model, combining the textures to lessen the image load and deleting the faces. There were also specific game eyes and teeth that could be used instead of the default set that were much lower poly and easier to use. From there, CC3 has a specific export for Unity that cleans up aspects of the rig and blendshapes. Below is an image comparing the raw, unoptimized generic character I imported and the optimized CC3 character. Despite very little change in overall quality, the optimized character is FAR fewer polys and textures, meaning it will run better in VR.
An important step that I kept not understanding till I watched the tutorials and read a bit more was using the CC3 plugin for Unity. This pipeline tool can be downloaded from the Reallusion site and includes 3 packages. A base one and then one for HDRP and LDRP pipelines. I just used the base package. After adding it to the project, a folder is created specifically for CC3 characters. You must drag the CC3 export files into that folder for it to register them right, but when you do the character is set up pretty much perfectly for Unity implementation with a proper animation controller and all textures applied. Another major benefit of this automatic processing is that it sets up the rig as Humanoid, which means that all other Humanoid animations (such as those downloaded from Mixamo) are compatible.
An additional step that was required once the character was in Unity, both base and unoptomized, was to change the shader for the hair. It defaults to a fade shader that is too transparent so you see the scalp beneath the hair. Instead, I applied the Ciconia double sided cutout shader recommended by one of the CC3 tutorials. It’s a free plugin and gives the hair enough definition while retaining transparency. It does come out very jagged though, so we may need to look into some amount of AA if possible.
An additional option within the export that seems very important to utilize is CC3’s InstaLOD. This provides quick LOD reductions automatically. After checking the box to keep the original avatar and setting up a few levels of detail, the character export now includes multiple “remesh” models in the base prefab. These should be an automatic setup, but unfortunatley something about the renaming of the remeshed models causes Unity to not read them right. Setting up the LOD_Group component in Unity itself is simple though: just add the component and then select each section and drag the remeshed models into them.
In summary, the pipeline from CC3 to Unity is very smooth and useful as long as you understand the steps.
- Finish setting up your character entirely in CC3.
- Use the wearable poly reduction and “Convert to Game Base” to make an efficient version of the character.
- Export for Unity 3D, do not embed media and do include at least the T-Pose motion as the top motion.
- In Unity, make sure the CC3 package has been installed
- Drag the character files into the “CC_Assets” folder (make sure Auto Processing is on under Tools -> Character Creator Setup)
- Put the character prefab into the scene.
- Add whatever humanoid animations needed and change hair shader to something better looking (recommended Ciconia double sided shader).
Leave a Reply