Discover how the Kinetix SDK manages core functions to facilitate your emote workflow.
When designing our SDK we focused on developing features that make you save time and allow you to easily integrate Emotes within your game. Each of the Core Package modules are flexible so they match with any dev environment.
One of the many challenges developers face when integrating Emotes or animations in game is to play them on any avatars. It is even more complex when a game or 3D digital world includes different avatars, with eventually different skeletons. At Kinetix, emotes (user-generated emotes & emotes from the Emote Library) are created on Kinetix's Standard Avatar. To play them on your custom avatar, we have developed a proprietary retargeting algorithm that transfers any 3D animation (emote) to any 3D humanoid character.
The Kinetix SDK includes a technology that manages retargeting with a proprietary system that fit with any animator system (Unity, Unreal Engine, and custom animator systems).
Kinetix's Animation System
When loading a humanoid avatar, Kinetix's Core Package calls the associated Emotes to handle the retargeting. The process consists of downloading the GLB file of the Emotes and retargeting them with the registered avatar to generate Legacy AnimationClips that perfectly fit your avatar(s).
The retargeting process is optimized to keep a constant frame rate of your application. Each time a new emote is loaded, it is added in the queue of the retargeting module and perform N actions per frame.
To avoid the conflict between generation of humanoid AnimationClip at runtime and the Animator, we developed a proprietary Animation System composed of "KinetixCharacterComponent", "ClipSampler" and "BlendAnimation" scripts. They are automatically added at the GameObject of your animator when you initialize your SDK.
That way, when a player triggers an Emote in-game, our core package samples at runtime the pre-generated AnimationClip. It guarantees to always play high-quality Emotes with constant level of performance. Once you have registered your animator, (Unity's animator, Unreal Engine's animator or custom animator) this process becomes seamless.
Emotes are a key asset to improve gamers' immersion and socialisation. However, it is also a great technical challenges to play multiple Emotes simultaneously.
To ensure a successful and immersive Emote integration, our technology handles the full Emote integration by synchronizing the avatar poses and dynamically managing the memory to fit your limitations. Thus the smart networking module guarantees a great gamer experience with emotes.
Kinetix's Smart Networking Solution
The concept is to cache the Peers ID by registering them via our SDK. A KinetixCharacterComponent is added to both local and remote players. Using a simple implementation, you will be able to get the current pose of the local player and apply it to the remote player.
To ensure real-time communication between clients our solution compresses the volume of messages that are shared by only serializing poses from played Emotes. This technique is +200 times more lightweight than sharing Emotes files.
Managing and distributing the right content to the right gamer usually takes a lot of time and implies custom developments.
Kinetix's SDK include an Account management solution to fetch Emotes and their data with your gamers while guaranteeing their data privacy. It facilitates content distribution and monetization for you while ensuring that your gamers will easily retrieve their Emote in their inventory in-game in a seamless way. This cloud-based solution can be integrated by any games and virtual worlds.
Kinetix's Account Management
This Account management module also lets you track Emotes usage metrics and optimize Emotes distribution in your game accordingly (all metrics accessible from Developer Portal).