Code Monkey home page Code Monkey logo

aframe-curve-component's Introduction

aframe-curve-component

Version License

A Curve component to draw curves in A-Frame. The component consists of multiple components:

  • curve: Draws a certain type of a curve and consists of multiple "curve-points"
  • curve-point: Defines the curve based on it's position. Multiple entities are added as children of the curve-entity.
  • draw-curve: Add's a Mesh to the curve to visualize it
  • clone-along-curve: Clones an Entity along the curve (e.g. to build a race track based on track parts)

For A-Frame.

Credits: Initial concept and development has been done by AdaRoseEdwards.

API (curve)

Property Description Default Value
type Type of the Curve to draw. One ff: 'CatmullRom', 'Spline', 'CubicBezier', 'QuadraticBezier', 'Line' CatmullRom
closed Whether or not the curve should be drawn closed (connect the end and start point automatically) false

API (curve-point)

Property Description Default Value

API (draw-curve)

Property Description Default Value
curve A Selector to identify the corresponding curve ''

API (clone-along-curve)

Property Description Default Value
curve A Selector to identify the corresponding curve ''
spacing Spacing between the cloned entities in Meters 1
rotation Rotation of the cloned Entities '0 0 0'
scale Scale of the cloned entities '1 1 1'

Installation

Browser

Install and use by directly including the browser files:

<head>
  <title>My A-Frame Scene</title>
  <script src="https://rawgit.com/aframevr/aframe/master/dist/aframe-master.min.js"></script>
  <script src="https://unpkg.com/aframe-curve-component/dist/aframe-curve-component.min.js"></script>
</head>

<body>
  <a-scene>
    <a-curve id="track1">
        <a-curve-point position="-1 1 -3"></a-curve-point>
        <a-curve-point position="1 1 -3"></a-curve-point>
    </a-curve>
    
    <!-- Draw the Curve -->
    <a-draw-curve curveref="#track1" material="shader: line; color: blue;"></a-draw-curve>
    
    <!-- Clone a Box along the Curve -->
    <a-entity clone-along-curve="curve: #track1; spacing: 0.2; scale: 1 1 1; rotation: 0 0 0;" geometry="primitive:box; height:0.1; width:0.2; depth:0.1"></a-entity>
  </a-scene>
</body>

npm

Install via npm:

npm install aframe-curve-component

Then require and use.

require('aframe');
require('aframe-curve-component');

aframe-curve-component's People

Contributors

protyze avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.