Beta - Help - Custom Avatars

## Where can I get avatars?

https://vrcmods.com/item/5822

https://www.deviantart.com/search?q=mmd%20base

https://rezilloryker.gumroad.com/l/MYutV

https://booth.pm/en/search/Fbx?in\_stock=false&max\_price=0

https://sketchfab.com/3d-models/categories/characters-creatures?date=week&features=downloadable&sort\_by=-likeCount

https://blendswap.com/blends/category/5

https://opengameart.org/art-search-advanced?keys=&title=&field\_art\_tags\_tid\_op=or&field\_art\_tags\_tid=Rigged+Mesh&name=&field\_art\_type\_tid%5B%5D=10&sort\_by=count&sort\_order=DESC&items\_per\_page=24&Collection=

## So I need to use unity to build custom avatars?

Yeah, custom avatars need to be built into Unity assetbundles before they can be loadable by APS. This means you'd need to use Unity editor and the APS\_SDK to create the asset.

Export the character as a .fbx and manually adding a APS\_SDK component is most recommended and typically works with any humanoid avatar, Importing any humanoid using the APS\_SDK: https://youtu.be/oEwkhIr4ffw

However you can also use the (legacy) Avatar Builder to create the avatar by selecting a .blend of the model. Here are some examples of using the avatar builder to import standardized rigs:

* Importing a Mixamo rig tutorial: https://youtu.be/ykJ7O0Bs8oQ
* Importing a Rocketbox rig tutorial: https://youtu.be/ZfpbS3cZXDk
* Importing a Reallusion cc3 rig tutorial: https://youtu.be/US4zInM82EM
* Importing a Makehuman rig tutorial: https://youtu.be/7ozKPSKj6xk

See also SDK - Importing Custom Avatars

## What is generated when exporting a scene?

After you build a scene in APS and it writes the files needed to import into blender then you can check the avatar's linked .blend file by opening it in blender.

You can check or edit any of your characters prior to importing them into the SceneLoader by opening the character's file in the directory where the exported files where placed.

Also if you create your own custom avatars using the CustomAvatarBuilder on GitHub then the mesh files would still exist and would be imported by the .py script in the SceneLoader.blend. (edited)

Not all scenes export a mesh, but if you look in mocapAssets folder: **%USERPROFILE%\appdata\LocalLow\Animation Prep Studios\AnimationPrepStudio\_Lite\VR\_MocapAssets**

You will see some .scene files that also have a .blend file associated, and that is the scene mesh that will be used, so in theory you could add any missing "scene mesh" essentially to aid your automation process..

## Under the hood

Under the hood there are essentially two avatars/models that are generated when you run the CustomAvatarBuilder. One of the 'avatars' (game-engine avatar assetbundle) is used by APS as the mocap avatar (only the skeletal information is what is important and none of its aesthetics are used in blender or the sceneloader). The second 'avatar' (blender template avatar) however is a processed .blend model that very closely resembles the original .blend model (and should include particle hair) - this is the 'avatar' that is appended to the scene by the SceneLoader.blend when it loads the scene compilation via the Python automation script.

Here is a diagram I hope will show the two avatars and how they are used by APS, you should see both avatars labeled as AVATAR #1 and AVATAR #2 respectively - if you add particle hair to the Original Modle.blend then it should be included with the Processed Model.blend and ultimately would be used in the final render by the SceneLoader:

## Where in the asset bundle folder is the blender file which gets used in the scenebuilder script?

"Avatar builder question: Where in the asset bundle folder is the blender file which gets used in the scenebuilder script? I want to add particle hair and all the other goodies that Unity can't handle so they will come into Blender when I run the script."

There are two ways you can modify the render avatar. First is to modify the compressed .blend that is copied when building the custom avatar. In the folder that is generated and placed in VR\_MocapAssets, look for a compressed model file (eg. avatar\_name.blend.gz) and unzip it, edit it, then re-zip it (as a .gz).

Similarly, you can modify the model per each exported scene, the model is not compressed so you can just edit it directly (or replace it with a modified model). be mindful not to alter the skeleton as it needs to match the game avatar skeleton exactly.

"Thanks, I was able to add the model with particle hair and more advanced textures to the .gz file. It worked in scenebuilder script too!"

"I'm figuring this out as I go but it looks like I can do the full animation in APS and then simply export the scene and the character is ready to go."

"I am thinking I need some kind of retargeting rig or other means to slap onto the avatar in Blender to clean up the animation or make adjustments in the skeleton movement as the avatar interacts with props and other avatars (characters in my case)."

## 3rd party shaders on custom avatars

Custom avatars support 3rd party shaders (eg. UnityChanToonShader). Custom shaders may be included when building avatars using the latest APS\_SDK! I often use Reflex 2 and UnityChan toon shaders when creating avatars, but I'm sure many other shaders would be compatible.

## What you need to do after importing avatar for the first time

"How do I set up an avatar for first use? (the message that appears after activating a new avatar for the first time)"

It means a profile .cfg did not exist for that avatar yet so it loaded defaults, but the defaults might not be optimal so the users is encouraged to go to kinematics profile and adjust some of the values on the avatar for best scale/fit, knee bend angle, hip type/gender, spine stiffness, eye sacade speeds, facecap weights, etc.. it's just a general message.

## Facial emotions

How do i make my char have different facial emotions? is the only way thru the face app?

When building avatars with the APS\_SDK you can add custom emotes that can be used live or for recording in APS using the emotion morphing tool. This is so that users without facecap sensors can still add emotes, or so you can create emotes using body blendshapes. The emote morph tool also allows editing emotions post recording, so even if you use facecap, the emote morph tool can still be used to add additional emotions to the avatar!

To add a emote when building a custom avatar just select the "emotions" gameobject and add an EmotionBuilder component, then set the weights and enter a name for the emote and save:

TODO: Add video emotes.mp4