Avatar system in Unreal Engine
How to use the new Avatar system in Unreal
In addition to a local player, you can register "Avatars" to play emotes on your NPCs for example.
If you already registered the rig in the previous steps, you can go directly to "The code"
Register your model
Go on https://portal.kinetix.tech and upload your model as a .fbx file.
Add and setup your avatar to correctly.
Animations generated BEFORE adding your avatar will not work with your newly added avatar.
After your avatar is successfully processed you can create new emotes and play them directly to your character in engine.
Your setup is done. Click on "Display ID" and copy it.
Now let's get back to Unreal.
The code
Make sure you initialized the KinetixCore as shown in UE SDK Core Package Initialization
Register your avatar
You can configure your pawn like any other. The only required setup now is to register your AnimInstance.
And inside Avatar UUID's field just paste the avatar ID you have in your clipboard.
Make sure you configured an AnimBlueprint on your SkeletalMesh
Get the metadatas
After that get back the metadatas of an animation ID with GetAnimationMetadataByAnimationID
"InAnimationID" was filled with one animation ID given by "GetUserAnimationMetadatas"
Fill the reference skeleton
Before loading an animation, we have to fill the skeleton that will be used to decompress the animation.
Load the animation
After that, you can use the received metadatas to laod the animation
The avatar ID is still the one in your paperclip
Play the animation
And after that just play the animation on your avatar
"New Anim Instance Guid" is the returned value given by "RegisterLocalAnimInstance" and "EmoteToPlay" the animation id used to retreive the metadatas
Blendshapes support
Starting with 0.7, we added the support of Morph Targets (aka Blendshapes). It's based on the ARKit's implementation (also used in LiveLink) you can find the dictionnary here : https://developer.apple.com/documentation/arkit/arfaceanchor/blendshapelocation
Blendhsape support is enabled by default but if you to toggle it you can go to:
Project Settings -> Game -> Kinetix Settings and toggle off the checkbox "Enable Morph Targets"
Last updated