Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/msub2/aframe-exokit-avatars

A wrapper for the Exokit Avatars system in an A-Frame component.
https://github.com/msub2/aframe-exokit-avatars

avatar avatars exokit vr webxr

Last synced: 16 days ago
JSON representation

A wrapper for the Exokit Avatars system in an A-Frame component.

Awesome Lists containing this project

README

        

# A-Frame Exokit Avatars

This A-Frame component provides an easy way to integrate a full-body IK avatar in WebXR through [my fork](https://github.com/msub2/avatars) of the [Exokit Avatars](https://github.com/exokitxr/avatars) system.

## Usage

The following is the most basic scene setup that will load in an avatar:

```html




A-Frame Exokit Avatars

















```

## Considerations

- If implementing some form of touchpad or thumbstick movement, ensure your avatar is not parented under the player/camera rig object, as this will prevent the leg IK from functioning properly.
- By default, the `tracked-controls` component in A-Frame reports controller pose based on target ray space by default instead of grip space (refer to the [WebXR Device API](https://immersive-web.github.io/webxr/#dom-xrinputsource-targetrayspace) for more details). It's more than likely there might be some noticeable offset in the hand positions from where your controllers are. There is currently an [open PR](https://github.com/aframevr/aframe/pull/5040) to let grip space be used for pose reporting, but in the meantime you may want to apply some manual offset to your controller pose to compensate.

## Schema

| Property | Type | Description | Default Value |
| ----------- | -------- | ---------------------------------------------------------------- | ------------- |
| model | model | A selector or path to an avatar model | |
| thirdPerson | boolean | Whether this is an avatar for a different player than the user | false |
| player | selector | An element representing the player/camera rig | #player |
| head | selector | An element representing the main camera of the scene | #head |
| leftHand | selector | An element representing the tracked left hand | #leftHand |
| rightHand | selector | An element representing the tracked right hand | #rightHand |
| fingers | bool | Whether or not to animate finger poses (point, grip) | true |
| hair | bool | Whether or not to animate hair | true |
| decapitate | bool | Whether or not to remove the head of the model | false |
| visemes | bool | Whether or not to animate visemes on the model (mouth, blinking) | true |
| muted | bool | Whether or not to passthrough mic audio into the page. | true |
| debug | bool | Whether or not to render debug meshes. | false |