Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jesstelford/aframe-frustum-lock-component

Lock an entity to the camera frustum in A-Frame.
https://github.com/jesstelford/aframe-frustum-lock-component

Last synced: 28 days ago
JSON representation

Lock an entity to the camera frustum in A-Frame.

Awesome Lists containing this project

README

        

# Looking for maintainers

I have recently [started a new business](https://cete.io), which means I no longer have time to maintain this project.

Please [reach out](https://github.com/jesstelford) if you are interested in updating this component to the latest versions of aframe and resolving the open issues ❤️

## Frustum Lock aframe component

Adding `frustum-lock` to your entities will automatically scale them to fill the
entire camera view.

Entities with this component should be children of a `camera` entity,
which will also lock them to the background of the camera.

Create Augmented Reality (AR) scenes by pairing with the
[`aframe-video-billboard`](https://www.npmjs.com/package/aframe-video-billboard)
entitiy & component.

### Schema

| attribute | type | default | description |
|---|---|---|---|
| widthProperty | string | `width` | The given property will be set to the frustum width. |
| heightProperty |string | `height` | The given property will be set to the frustum height. |
| depth | number | `10` | Distance along the z-index to calculate frustum dimensions, and to positoin entity. |
| throttleTimeout | number | `100` | Frustum calculations are performed on resize and enter/exit vr. This throttles the calculations to every throttleTimeout milliseconds. |

### Installation

#### Browser

Install and use by directly including the [browser files](dist):

```html

My A-Frame Scene



aframeFrustumLockComponent(window.AFRAME);





```

#### npm

Install via npm:

```bash
npm install aframe-frustum-lock-component
```

Then register and use.

```js
var aframe = require('aframe');
var aframeFrustumLockComponent = require('aframe-frustum-lock-component');
aframeFrustumLockComponent(aframe);
```