1.0.11 • Published 7 years ago

aframe-sticky-cursor-component v1.0.11

Weekly downloads
7
License
MIT
Repository
github
Last release
7 years ago

Sticky Cursor

An A-Frame component to move cursor along object's surface.

DEMO PAGE (link)

DEMO

Demo Video on Gfycat

API

PropertyDescriptionDefault Value
fuseTrigger 'click' event after staring at somethingtrue
fuseTimeoutTime required staring until click event triggered1000
cursorIdid of the cursor#cursor
hoverDistancedistance to hover cursor above normal face (in meters)0

Usage

<!-- Camera and Cursor Setup -->
<a-entity id="cursor" scale="0.02 0.02 0.02" geometry="primitive: sphere" material="side: double; color: yellow; shader: flat">
    <a-animation begin="cursor-fusing" dur="1500" easing="ease-in" attribute="material.color" fill="forwards" from="#FFF" to="#F00"></a-animation>
    <a-animation begin="click" dur="1" easing="ease-in" attribute="material.color" fill="backwards" from="#F00" to="#FFF"></a-animation>
</a-entity>
<!-- Attach Raycaster and sticky-cursor to camera (because thats where the ray gets casts from) -->
<!-- TODO - Allow connecting to controllers. -->
<a-camera raycaster sticky-cursor="fuse: true; fuseTimeout: 1500; cursorId: #cursor; hoverDistance: 0;"></a-camera>

Installation

browser

<head>
  <title>My A-Frame Scene</title>
  <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script>
  <script src="https://cdn.rawgit.com/casonclagg/aframe-sticky-cursor-component/master/dist/aframe-sticky-cursor-component.min.js"></script>
</head>

<body>
  <a-scene>
    <a-entity id="cursor" scale="0.02 0.02 0.02" geometry="primitive: sphere" material="side: double; color: yellow; shader: flat">
        <a-animation begin="cursor-fusing" dur="1500" easing="ease-in" attribute="material.color" fill="forwards" from="#FFF" to="#F00"></a-animation>
        <a-animation begin="click" dur="1" easing="ease-in" attribute="material.color" fill="backwards" from="#F00" to="#FFF"></a-animation>
    </a-entity>
    <a-camera raycaster sticky-cursor="fuse: true; fuseTimeout: 1500; cursorId: #cursor; hoverDistance: 0;"></a-camera>
  </a-scene>
</body>

npm

Install via npm:

$npm install aframe-sticky-cursor-component

Then register and use.

require('aframe');
require('aframe-sticky-cursor-component');

Shoutouts

This component is basically a mashup of the aframe's 0.4.0 cursor component and Jun Ito's Crawling Cursor Component

Van gogh Room by ruslans3d is licensed under CC Attribution

Vincent van Gogh too.

TODO

rotation is weird on flat surface

Use model cursor demo, look straight down onto the floor and walk forward, strafe and move the view around slowly. Rotation is weird.

Relevant? https://github.com/mrdoob/three.js/issues/1486

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago