diff --git a/src/assets.html b/src/assets.html
index f360e20..d0ac264 100644
--- a/src/assets.html
+++ b/src/assets.html
@@ -81,7 +81,7 @@
diff --git a/src/components/floor-shader.js b/src/components/floor-shader.js
index bcf77d5..91ee4bb 100644
--- a/src/components/floor-shader.js
+++ b/src/components/floor-shader.js
@@ -1,4 +1,4 @@
-AFRAME.registerShader('floor-shader', {
+AFRAME.registerShader('floorShader', {
schema: {
src: {type: 'map', is: 'uniform'},
normalMap: {type: 'map', is: 'uniform'},
diff --git a/src/components/saber-intersection.js b/src/components/saber-intersection.js
index b10953c..64e9557 100644
--- a/src/components/saber-intersection.js
+++ b/src/components/saber-intersection.js
@@ -1,26 +1,29 @@
AFRAME.registerComponent('saber-intersection', {
dependencies: ['raycaster__game'],
init: function () {
+ this.hiddenIntersection = {x: 999, y: 0, z: 0};
this.saberHit = {
- 'rightHand': {active: false, position: null, raycaster: null},
- 'leftHand': {active: false, position: null, raycaster: null}
+ rightHand: {active: false, position: null, raycaster: null},
+ leftHand: {active: false, position: null, raycaster: null}
};
this.intersecting = false;
+ this.saberEnterFunc = this.saberEnter.bind(this);
+ this.saberLeaveFunc = this.saberLeave.bind(this);
},
pause: function () {
this.el.removeAttribute('raycastable-game');
- this.el.removeEventListener('mouseenter', this.saberEnter);
- this.el.removeEventListener('mouseleave', this.saberLeave);
+ this.el.removeEventListener('mouseenter', this.saberEnterFunc);
+ this.el.removeEventListener('mouseleave', this.saberLeaveFunc);
},
play: function () {
this.el.setAttribute('raycastable-game', '');
- this.el.addEventListener('mouseenter', this.saberEnter.bind(this));
- this.el.addEventListener('mouseleave', this.saberLeave.bind(this));
- this.material = this.el.object3D.children[0].material;
- this.saberHit['rightHand'].raycaster = document.getElementById('rightHand').components['raycaster__game'];
- this.saberHit['leftHand'].raycaster = document.getElementById('leftHand').components['raycaster__game'];
+ this.el.addEventListener('mouseenter', this.saberEnterFunc);
+ this.el.addEventListener('mouseleave', this.saberLeaveFunc);
+ this.material = this.el.getObject3D('mesh').material;
+ this.saberHit.rightHand.raycaster = document.getElementById('rightHand').components.raycaster__game;
+ this.saberHit.leftHand.raycaster = document.getElementById('leftHand').components.raycaster__game;
},
saberEnter: function (evt) {
@@ -31,19 +34,19 @@ AFRAME.registerComponent('saber-intersection', {
saberLeave: function (evt) {
const hand = evt.detail.cursorEl.id;
this.saberHit[hand].active = false;
- this.material.uniforms[hand == 'rightHand' ? 'hitRight' : 'hitLeft'].value = {x: 999, y: 0, z: 0};
- this.intersecting = this.saberHit['rightHand'].active || this.saberHit['leftHand'].active;
+ this.material.uniforms[hand == 'rightHand' ? 'hitRight' : 'hitLeft'].value = this.hiddenIntersection;
+ this.intersecting = this.saberHit.rightHand.active || this.saberHit.leftHand.active;
},
tick: function (time, delta) {
if (this.intersecting) {
var int;
- if (this.saberHit['rightHand'].active) {
- int = this.saberHit['rightHand'].raycaster.getIntersection(this.el);
+ if (this.saberHit.rightHand.active) {
+ int = this.saberHit.rightHand.raycaster.getIntersection(this.el);
if (int) { this.material.uniforms.hitRight.value = int.point; }
}
- if (this.saberHit['leftHand'].active) {
- int = this.saberHit['leftHand'].raycaster.getIntersection(this.el);
+ if (this.saberHit.leftHand.active) {
+ int = this.saberHit.leftHand.raycaster.getIntersection(this.el);
if (int) { this.material.uniforms.hitLeft.value = int.point; }
}
}
diff --git a/src/components/wall-shader.js b/src/components/wall-shader.js
index 2ef56e4..83a2ace 100644
--- a/src/components/wall-shader.js
+++ b/src/components/wall-shader.js
@@ -1,5 +1,5 @@
-AFRAME.registerShader('wall-shader', {
+AFRAME.registerShader('wallShader', {
schema: {
iTime: {type: 'time', is: 'uniform'},
tex: {type: 'map', is: 'uniform'},
diff --git a/src/templates/stage.html b/src/templates/stage.html
index 3f6e0d7..3f2b845 100644
--- a/src/templates/stage.html
+++ b/src/templates/stage.html
@@ -127,7 +127,7 @@
diff --git a/src/templates/tutorial.html b/src/templates/tutorial.html
index 14a24b9..ad67c44 100644
--- a/src/templates/tutorial.html
+++ b/src/templates/tutorial.html
@@ -46,7 +46,7 @@
geometry="width: 0.3; height: 0.04; depth: 0.3"
bind__animation="enabled: menuActive"
animation="property: object3D.position.z; from: -0.5; to: -0.1; dur: 2000; easing: linear; loop: true; easing: easeInOutCubic"
- material="shader: wall-shader; tex: #noiseTexture; repeat: 1 2; transparent: true">
+ material="shader: wallShader; tex: #noiseTexture; repeat: 1 2; transparent: true">