Kinetix Documentation
Website
  • 🖐ïļWelcome
  • 🕚About Kinetix
  • 🖌ïļUser-Generated Emote
    • ðŸĪ–Video-to-animation AI
    • ðŸĪļKinetix Emote Standards
    • ðŸĶīRetargeting
    • 🏂Kinanim (Emote streaming)
    • 🖊ïļTry the User-Generated Emote feature
  • INTEGRATION
    • ðŸĪ·SDK or API: what to choose
    • ðŸĪĐKinetix SDK
      • ⚙ïļSDK - Core Package
      • ðŸ§ĐSDK - Sample scene
      • 🧑‍ðŸ’ŧTested & approved Game Engines for the SDK
      • ðŸ’ŧSDK Integration in Unity
        • ⮇ïļSet-up Unity & Import the SDK
          • 🔑Get your Game authentification API Key
          • ⚙ïļSetup your Unity environment
          • 🔧Install the Kinetix SDK in Unity
          • âŒĻïļSDK Initialization - Unity
        • ⚡Quickstart - Unity SDK
        • ðŸĶ‹SDK Core Modules activation - Unity
          • 🔐Account Management in Unity
          • 💃Animation System - Unity
            • ðŸŽĒUnity's Animator System
            • ðŸŽĻCustom Animation System
            • ðŸŒģRoot Motion
              • RootMotion + NavMeshAgent
            • 🎞ïļFrame Controller
            • 💊IK Controller
            • ðŸŦĨAvatar Mask
          • ðŸ“ķNetwork - Unity SDK
            • Photon PUN
            • Photon Fusion
        • 🕚User-Generated Emote integration (Unity)
          • Embedding the PWA in your Unity application
          • Validation / Retake
        • 🚧How to update Kinetix SDK in Unity?
        • 📕SDK API Reference - Unity
          • KinetixCore
          • KinetixCore.Account
          • KinetixCore.Animation
          • KinetixCore.Metadata
          • KinetixCore.Network
          • KinetixCore.UGC
        • 📂Unity SDK Changelog
      • ðŸ•đïļSDK Integration in Unreal Engine
        • ⮇ïļSet-up Unreal Engine & Download the SDK
          • 🔑Get your Game authentification API Key
          • ⚙ïļSet up your Unreal Engine environment
          • 🔧Install the Kinetix SDK in Unreal
          • âŒĻïļUE SDK Core Package Initialization
        • ⚡Quick Start
        • ðŸĶ‹SDK Core Modules activation - Unreal
          • 🔐Account Management - UE
          • 💃Animation System - UE
            • Local player system in Unreal Engine
            • Avatar system in Unreal Engine
            • Without uploading an avatar (deprecated)
              • Animation in a Third Person Template
              • Animation in an existing project
          • ðŸ“ķNetwork - UE SDK
        • 🕚User-Generated Emote integration (UE)
        • 📕SDK API Reference - UE
          • KinetixCore
          • KinetixCore.Account
          • KinetixCore.Animation
          • KinetixCore.Metadata
          • KinetixCore.Network
        • ⮆ïļUpdating from 0.3 to 0.4
        • 📂UE SDK Changelog
    • 😍Kinetix API
      • 🔑Get your Authentification API key
      • 🔌API routes
      • 🊝API Webhooks
      • 🏓Possible Return Codes
  • Management
    • 🚊Developer Portal
      • ðŸ‘―Avatar Upload
      • ðŸ‘ŪUGC Moderation
    • 🖌ïļUGE: Guides & Best Practices
      • 📐User-Generated Emote specifications
      • 👌Video recording best practices
      • ðŸ‘ŧUser-Generate Emote Use Cases
  • SUPPORT
    • 📎Bugs reports & features requests
    • ❓FAQ
      • FAQ: General questions
      • FAQ: Unity SDK
      • FAQ: Unreal Engine SDK
    • ðŸĪ•Troubleshooting
    • 📚Glossary of terms
Powered by GitBook
On this page
  • What is retargeting?
  • Kinetix's Proprietary Retargeting Algorithm
  • Additional Bones
  • Bone Mapping
  • Contact-Aware Retargeting

Was this helpful?

Export as PDF
  1. User-Generated Emote

Retargeting

With Kinetix's proprietary retargeting algorithm, emotes created using the User-Generated Emote feature can be played on any humanoid avatar.

PreviousKinetix Emote StandardsNextKinanim (Emote streaming)

Last updated 1 year ago

Was this helpful?

What is retargeting?

Emote retargeting is a powerful technique in the world of 3D animation. It allows you to transfer an animation from one avatar to another, regardless of their size, proportions, or skeletal structure. Instead of creating a unique animation for each character, emote retargeting streamlines the process by adapting a single emote to fit various avatars.

Kinetix's Proprietary Retargeting Algorithm

Each character in a 3D animation typically has a skeletal structure with bones and joints. All the Emotes from the Kinetix Emote Library and User-Generated Emotes are created for a specific and standard character with a standard skeleton.

Kinetix's proprietary algorithm is able to transfer the motion from Kinetix's standard avatar to the target's avatar, almost fully automatically. The algorithm will proactively identify the correspondence between the bones of the target skeleton and those of the source skeleton, and the user will then need to confirm and correct errors if necessary. Once the Bone Mapping is done, Kinetix's Retargeting Algorithm will adapt the motion to the target avatar's bones proportions to ensure that the movement is smooth and great.

Here is what the Kinetix Standard Skeleton looks like:

Mandatory bones:

Additional Bones

Hand bones

Bone Mapping

Bone Mapping is a crucial, semi-automated part of the retargeting process. It allows our AI to understand the target's skeletal structure and adapt the motion from the Kinetix Standard Avatar to the target avatar.

In a matter of seconds, our algorithm presents the results of this mapping, allowing the user to review and fine-tune the automatic bone mapping. This empowers users to correct any incorrectly assigned bones and map any unassigned bones, resulting in precise skeletal adaptation for animation, thereby saving time and ensuring animation accuracy.

Contact-Aware Retargeting

When target avatars feature intricate designs, such as unusual bone structures, very particular bone lengths, complex morphologies, or incorporate wearables, it can potentially lead to issues like inter-penetrations that diminish the overall output quality.

To address this concern, Kinetix has devised a unique retargeting method that factors in the character's mesh, proactively anticipating and mitigating contact errors. In this process, the algorithm strategically positions 45 key points among the character's vertices, effectively capturing the character's comprehensive morphology.

After correctly positioning the key points, our algorithm takes charge of the retargeting process. As usual, it seamlessly transfers the motion from the source's joints and bones to the target's skeletal structure, but this time, the motion is optimized while adhering to the constraints set by the key points.

Here is an output sample that highlights the value of the Contact-Aware retargeting:

Kinetix's skeleton main bones.
Kinetix's skeleton "additional bones".
Kinetix's hand bones. Bone 0 is the closest to the palm, while bone 2 is always at the extremity of the finger.

When a user , Kinetix's Bone Mapping algorithm will analyze the skeleton of the character and identify his bones and joints. Our AI will try to figure out which bone from the uploaded skeleton matches the original bone from the source skeleton, and repeat this identification process for the whole skeleton.

🖌ïļ
ðŸĶī
imports an avatar
Kinetix's Bone Mapping on the Developer Portal
Example of vertex key points
Key points help us compute the different morphologies
Our algorithm makes sure the character's belly and arms do not go under the ground.