Discover how Kinetix Emote Infrastructure manages core functions for you.
When designing our solution we focused on developing features that will save developers' time to allow them to easily integrate Emotes within their current projects. Each of them are flexible so they match within different devs environments.
One of the many challenges developers face when integrating Emotes or animations is to retarget them on any avatars.
Our Infrastructure manages that with a proprietary system that fit with any animators (Unity's Animator or custom ones).
Kinetix's Animation System
When loading an 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 retarget them with the registered avatar to generate Legacy AnimationClips that perfectly fit your avatar. The process is optimized to keep a constant framerate of your application. Each time a new emote is loaded it is added in the queue of our 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 Emote Infrastructure.
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 or custom animator) this process becomes seamless.
Emotes are mainly used for socializing in-game. However, it's a strong technical challenge to play multiple Emotes simultaneously.
To ensure a successful Emote integration, our infrastructure simplifies the integration by synchronizing the avatar poses. It delivers a great user experience and dynamically manages the memory to fit your limitations.
Kinetix's Smart Networking Solution
The concept is to cache the Peers ID by registering them via our SDK. A KinetixCharacterComponent will be 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 peers 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.
Associating right content with users usually takes a lot of time and implies custom developments.
Kinetix's Emote infrastructure offers an Account management solution to fetch Emotes and their data with your players while guaranteeing their data privacy. It facilitates monetization for you while ensuring that your players will easily retrieve their Emote inventory in-game with no need for them to register to us. This cloud-based solution can be integrated with any games and virtual worlds including blockchain ones.
Kinetix's Account Management
Our Account management tool also allows you to track Emotes usage metrics to further optimize their integration in your game or virtual world.
Our Emote Infrastructure is currently available for Unity and will be coming soon into Unreal Engine.