# aframe-skeletor

> Inverse Kinematics for AFRAME

Latest version **0.0.7** (published 2020-08-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install aframe-skeletor
pnpm add aframe-skeletor
yarn add aframe-skeletor
bun add aframe-skeletor
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.7 |
| Published | 2020-08-18 |
| First published | 2020-08-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 9.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Ago Blinking |
| Maintainers | a_goblin_king |

## Links

- npm: https://www.npmjs.com/package/aframe-skeletor
- npm.io page: https://npm.io/package/aframe-skeletor

## Recent versions

- 0.0.7 (latest) — 2020-08-18
- 0.0.6 — 2020-08-18
- 0.0.5 — 2020-08-17
- 0.0.4 — 2020-08-17
- 0.0.3 — 2020-08-17
- 0.0.2 — 2020-08-17
- 0.0.1 — 2020-08-17

## README

# aframe-skeletor

<p align="center">
<img src="./docs/img/legend.png"/>
</p>

Inverse Kinematics for aframe.io using [three-skeletor](https://github.com/agoblinking/three-skeletor).

<p align="center">
<img src="./docs/img/walking.gif"/>
</p>

# **WARNING**

There is going to be some breaking API changes for bit until things settle down.

# Install

```
npm install aframe-skeletor
```

or use one of the /dst/ builds

# API

```js
	schema: {
		// ball joint constraint
		ball: {
			type: 'number',
			default: undefined,
		},

		// hinge joint constraint
		hinge: {
			type: 'number',
			default: undefined,
		},

	  // what the end of the joint chain should be affected by
		target: {
			type: 'selector',
		},

		// set as the base of a joint chain
		root: {
			type: 'bool',
			default: false,
		},

		// shows debug visuals around joints
		debug: {
			type: 'bool',
			default: true,
		},
	},
```

# Quick Start

```html
<html>
	<head>
		<script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
	</head>
	<body>
		<a-scene>
			<!-- this hand is the mover or effector -->
			<a-entity
				id="hand"
				animation="property: position; from: 0 0 -1; to: 0 0 1; loop: true; dir: alternate;"
			/>

			<!-- this is the root of the joint chain with a ball joint-->
			<a-entity skeletor="root: true; ball: 180">
				<!-- this is the cap of the joint chain with a hinge joint to the target
				-->
				<a-entity skeletor="target: #hand; hinge: 90; debug: true" />
			</a-entity>
		</a-scene>
	</body>
</html>
```

# Usage

## [goblin-life](https://goblin.life/legend)

Used for character IK in [goblin.life](https://goblin.life)!

# Playlist

- [Spotify](https://open.spotify.com/playlist/1sy0OGu2TTXLTiZ7zMdcoB?si=R0hXnZI_RSetxiD9Axh8Pg)

---
_Source: https://npm.io/package/aframe-skeletor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
