Core by Alter is a cross-platform core tech and an SDK powering Alter SDK and consisting of a real-time 3D avatar system and facial motion capture. It's built from scratch for web3 interoperability and the open metaverse. Easily pipe avatars into your game, app or website. It just works. Check out the included code samples to learn how to get started. Try live web demo or TestFlight.
Please star us ⭐⭐⭐ on GitHub—it motivates us a lot!
📋 Table of Content
🤓 Tech Specs
🚉 Supported Platforms
- iOS 13+
-
- Android 8+
- WebGL 2
-
- macOS (Soon)
- Windows (Soon)
- Unity (Soon)
- Unreal (Soon)
✨ Avatar Formats
- Head only
- A bust with clothing
- A bust with clothing and background (Soon)
- Accessories only (for e.g. AR filters) (Soon)
- Full body (Soon)
🤪 Motion Capture
✨ Features
42
tracked facial expressions via blendshapes- Eye tracking including eye gaze vector
- Tongue tracking
- Light & fast, just
3MB
ML model size ≤ ±50°
pitch, ≤ ±40°
yaw and ≤ ±30°
roll tracking coverage- 3D reprojection to input photo/video
- Platform-suited API and packaging with internal optimizations
- Simultaneous back and front camera support
- Powered by mocap4face
🤳 Input
- Any webcam
- Photo
- Video
- Audio
📦 Output
- ARKit-compatible blendshapes
- Head position and scale in 2D and 3D
- Head rotation in world coordinates
- Eye tracking including eye gaze vector
- 3D reprojection to the input photo/video
- Tongue tracking
⚡ Performance
50 FPS
on Pixel 460 FPS
on iPhone SE (1st gen)90 FPS
on iPhone X or newer
💿 Installation
Browser/Javascript
To run one of the provided examples, go to the js-example project and use npm install
and npm run {exampleName}
(e.g. npm run renderAvatar
or npm run deSerialization
). See package.json
for list of all examples.
Do not forget to get your API key at studio.alter.xyz and paste it into the code. Look for "YOUR-API-KEY-HERE".
NPM Installation
Install the dependency via npm
or yarn
command.
npm install @0xalter/alter-core@0.15.0
If you are using a bundler (such as Webpack), make sure to copy the assets from @0xalter/alter-core
to your serving directory.
See our Webpack config for an example of what needs to be copied.