0.1.0 • Published 2 years ago

aframe-rounded-box-component v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

aframe-rounded-box-component

an A-Frame component and primitive for boxes with rounded edges

Boxes with sharp edges are already part of A-Frame's built-in components and primitives - but those with rounded edges are missing. aframe-rounded-box-component fills this gap and provides both an A-Frame component and primitive for such geometries.

The implementation was inspired by an old discourse posting.

NPM users: please consider the Github README for the latest description of this package (as updating the docs would otherwise always require a new NPM package version)

Just a small note: if you like this work and plan to use it, consider "starring" this repository (you will find the "Star" button on the top right of this page), so that I know which of my repositories to take most care of.

Installation

aframe-rounded-box-component may be used as an ECMAScript module (ESM) or explicitly loaded after the <script> tag for A-Frame itself.

For the ESM variant, install the package into your build environment using NPM with the command

npm install aframe-rounded-box-component

and import it into your code whereever needed

import "aframe-rounded-box-component"

Otherwise, load the plain script file directly

<script src="https://unpkg.com/aframe-rounded-box-component"></script>

Properties

aframe-rounded-box-component is an A-Frame component with the following properties:

Additionally, this module defines an A-Frame primitive named a-rounded-box for this component which maps its attributes width, height, depth, radius and segments to component properties of the same name (see usage below)

Usage

Once loaded or imported, aframe-rounded-box-component may be used as a component of a plain A-Frame entity

<a-scene>
  <a-entity rounded-box="radius:0.3" position="0 0 0"></a-entity>
</a-scene>

Primitive

Alternatively, the primitive a-rounded-box may be used in order to get a more compact code:

<a-scene>
  <a-rounded-box radius="0.3" material="color:green" position="0 1 0"></a-rounded-box>
</a-scene>

Example

Here is a complete example (albeit without the HTML boilerplate)

<script src="https://unpkg.com/aframe"></script>
<script src="https://unpkg.com/aframe-hemisphere-controls"></script>
<script src="https://unpkg.com/aframe-rounded-box-component"></script>

<a-scene embedded
  hemisphere-controls="position:0 0.5 4; target:0 0 0"
  style="width:600px; height:450px"
>
  <a-sky color="#ECECEC"></a-sky>

  <a-plane width="4" height="4" color="#7BC8A4"
    position="0 0 0" rotation="-90 0 0"></a-plane>

  <a-rounded-box radius="0.1" material="color:red"   position="-1.5 1 0"></a-rounded-box>
  <a-rounded-box radius="0.3" material="color:green" position="0    1 0"></a-rounded-box>
  <a-rounded-box radius="0.5" material="color:blue"  position="1.5  1 0"></a-rounded-box>
</a-scene>

Example Screenshot

Build Instructions

You may easily build this package yourself.

Just install NPM according to the instructions for your platform and follow these steps:

  1. either clone this repository using git or download a ZIP archive with its contents to your disk and unpack it there
  2. open a shell and navigate to the root directory of this repository
  3. run npm install in order to install the complete build environment
  4. execute npm run build to create a new build

You may also look into the author's build-configuration-study for a general description of his build environment.

License

MIT License