2.0.5 • Published 6 years ago

gaze-event v2.0.5

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

gaze-event

Gaze event listeners for webvr threejs project.

It observe basic gaze actions for mesh targets in your three.js project,such as gazeEnter, gazeLeave, gazeTrigger and gazeWait.

  • gazeEnter: Emit in first animation frame when target is gazed;

  • gazeLeave: Emit in last animation frame when target is gazed;

  • gazeTrigger: Emit in each animation frame when target is gazed;

  • gazeWait: Emit in a animation frame when target has gazed for a while;

See the example.

Installation

First,Make sure you have included the three.js for your project.

  1. yarn add gaze-event or npm install --save gaze-event

  2. import GazeEvent from 'gaze-event' or const gazeEvent = require('gaze-event) in project with module bundler.

Of course,You can also use <script src="gaze-event/index.js"></script> without module bundler.

How to use

// init scene, camera, renderer
...
// create crosshair here
// camera.add(createCrosshair());
// create cube
var cube = new THREE.Mesh( geometry, material );
scene.add(cube);

// Step1: init gazeEvent
var gazeEvent = new GazeEvent();

// Step2: add event listener for the cube
gazeEvent.on(cube, 'gazeEnter', function(target) {
    target.material.opacity = 0.5; // emit in first frame when the cube is gazed
});
gazeEvent.on(cube, 'gazeLeave', function(target) {
    target.material.opacity = 1; // emit in last frame when the cube isn't gazed
});
gazeEvent.on(cube, 'gazeTrigger', function(target) {
    target.rotation.y += 0.02; // emite in each frame when the cube is gazed
});

// Step3: update gazeEvent to observe the cube in each animation frame
function animateLoop() { // animate loop for requestAnimationFrame
    ...
    // update gazeEvent
    gazeEvent.update(camera);
    renderer.render(scene, camera);
}

API

constructor

create a GazeEvent instance.

var gazeEvent = new GazeEvent();

on(target,actionType,callback)

add a gaze action listener for a mesh target, actionType can be 'gazeEnter'||'gazeLeave'||'gazeTrigger'||'gazeWait'

gazeEvent.on(target,'gazeEnter')

off(target,actionType)

remove a gaze action listener for a mesh target.

gazeEvent.off(mesh,'gazeEnter');

removeAll()

remove all gaze listeners.

gazeEvent.removeAll();

Need Help

Ask questions here.

Any Advise

PR welcome here.

Contributors

YoneChen yorkchan94@gmail.com

License

MIT

Please Star this Project if you like it! Following would also be appreciated!

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.0

7 years ago