
๐ง Avatoon



Avatoon is a lightweight React Three Fiber component for rendering animated 3D avatars with real-time viseme-driven lip-sync. It supports lifelike head movements, morph target control, and optional goal-based gestures (e.g., flexing, sleeping), making it ideal for voice assistants, interactive characters, or storytelling apps.
โจ Features
๐ค Real-time lip-sync using phoneme-viseme mapping
๐ง Subtle head motion animation while talking
๐ GLTF model support via
useGLTFโ๏ธ Plug-and-play with React Three Fiber + Drei
๐ฏ Goal-based gestures like "Muscle" or "Sleep"
๐ฆ Installation
๐ Usage
To run example:
๐งฉ API
Avatoon(props)
Avatoon(props)Prop Type Default Description
glbUrl string (required) URL to the .glb avatar file (T1 or T2) goal string "Normal" Goal-based motion preset: "Muscle", "Sleep", etc. onRenderComplete () => void undefined Callback fired when avatar finishes rendering visemeJson VisemeData undefined JSON structure for syncing visemes with audio playback showPlayVoiceButton boolean false If true, renders a play/stop voice button in the scene๐ค Avatar Types
T1 (Static Face - Realistic)
Most photorealistic
No facial morphing
Lightweight

T2 (Blendshape Face - Expressive)
Separate eyeballs and mouth
Supports morph targets / ARKit visemes
Slightly less realistic but animatable

๐ Types
๐ค Contribution
Pull requests are welcome! If you'd like to suggest improvements or fix issues, feel free to fork and submit.
๐ก๏ธ Author
Khaled Alam
0 likes ยท 4 views ยท Jul 14, 2025
Developed Avatoon, a React component for animated 3D avatars with real-time lip-sync.