corridor, laser neons

This commit is contained in:
Diego F. Goberna
2018-12-05 00:12:12 +01:00
committed by Diego Marcos
parent f1e9765e5e
commit 28bae66b20
12 changed files with 239 additions and 164 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 906 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -0,0 +1,35 @@
# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
# www.blender.org
v -0.056853 -136.244156 0.100000
v -0.056853 136.244156 0.100000
v -0.082947 -136.244141 -0.100000
v -0.082947 136.244141 -0.100000
v 0.056853 -136.244156 0.100000
v 0.056853 136.244156 0.100000
v 0.082947 -136.244141 -0.100000
v 0.082947 136.244141 -0.100000
v -4.780099 -165.906036 -0.242529
v -4.780099 165.906036 -0.242529
v 4.780099 -165.906036 -0.242529
v 4.780099 165.906036 -0.242529
vt 0.760463 0.015416
vt 0.760176 0.006970
vt 0.760176 0.015416
vt 0.624640 0.498774
vt 0.501254 0.001458
vt 0.624640 0.001458
vt 0.762000 0.006970
vt 0.761713 0.015416
vt 0.762000 0.015416
vt 0.761713 0.006970
vt 0.760463 0.006970
vt 0.501254 0.498774
s off
f 1/1 4/2 3/3
f 12/4 9/5 11/6
f 8/7 5/8 7/9
f 6/10 1/1 5/8
f 1/1 2/11 4/2
f 12/4 10/12 9/5
f 8/7 6/10 5/8
f 6/10 2/11 1/1

View File

@@ -0,0 +1,35 @@
# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
# www.blender.org
v -0.056853 -150.000031 0.100000
v -0.056853 150.000031 0.100000
v -0.082947 -150.000015 -0.100000
v -0.082947 150.000015 -0.100000
v 0.056853 -150.000031 0.100000
v 0.056853 150.000031 0.100000
v 0.082947 -150.000015 -0.100000
v 0.082947 150.000015 -0.100000
v -4.780099 -165.906036 -0.242529
v -4.780099 165.906036 -0.242529
v 4.780099 -165.906036 -0.242529
v 4.780099 165.906036 -0.242529
vt 0.760463 0.006970
vt 0.760176 0.015416
vt 0.760463 0.015416
vt 0.749735 0.498774
vt 0.626349 0.001458
vt 0.749735 0.001458
vt 0.762000 0.006970
vt 0.761713 0.015416
vt 0.762000 0.015416
vt 0.761713 0.006970
vt 0.760176 0.006970
vt 0.626349 0.498774
s off
f 2/1 3/2 1/3
f 12/4 9/5 11/6
f 8/7 5/8 7/9
f 6/10 1/3 5/8
f 2/1 4/11 3/2
f 12/4 10/12 9/5
f 8/7 6/10 5/8
f 6/10 2/1 1/3

View File

@@ -21,27 +21,27 @@ f 1/1 4/2 2/3
f 5/4 8/5 7/6
f 1/1 3/7 4/2
f 5/4 6/8 8/5
v 12.863472 5.606542 -33.581116
v 5.505581 12.964426 -33.581116
v 14.446635 7.189702 -33.454609
v 7.088743 14.547589 -33.454609
v -12.863472 5.606542 -33.581116
v -5.505581 12.964426 -33.581116
v -14.446635 7.189702 -33.454609
v -7.088743 14.547589 -33.454609
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.749152
v 13.064644 5.472427 -33.581116
v 5.058533 13.523236 -33.581116
v 14.647807 7.055587 -33.454609
v 6.641695 15.106400 -33.454609
v -13.064644 5.472427 -33.581116
v -5.058533 13.523236 -33.581116
v -14.647807 7.055587 -33.454609
v -6.641695 15.106400 -33.454609
vt 0.900723 0.749152
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.888596 0.500182
vt 0.900723 0.749152
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.500182
s off
f 9/9 12/10 10/11
f 13/12 16/13 15/14
f 9/9 11/15 12/10
f 13/12 14/16 16/13
f 11/9 10/10 9/11
f 14/12 15/13 13/14
f 11/9 12/15 10/10
f 14/12 16/16 15/13
v 15.178578 1.075909 -27.463730
v 1.075902 15.178576 -27.463730
v 19.149137 5.046469 -27.146448
@@ -63,27 +63,27 @@ f 17/17 20/18 18/19
f 21/20 24/21 23/22
f 17/17 19/23 20/18
f 21/20 22/24 24/21
v 12.863472 5.606542 -27.129221
v 5.505581 12.964426 -27.129221
v 14.446635 7.189702 -27.002712
v 7.088743 14.547589 -27.002712
v -12.863472 5.606542 -27.129221
v -5.505581 12.964426 -27.129221
v -14.446635 7.189702 -27.002712
v -7.088743 14.547589 -27.002712
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.749152
v 13.042291 5.472427 -27.129221
v 5.058533 13.567941 -27.129221
v 14.625454 7.055587 -27.002712
v 6.641695 15.151104 -27.002712
v -13.042291 5.472427 -27.129221
v -5.058533 13.567941 -27.129221
v -14.625454 7.055587 -27.002712
v -6.641695 15.151104 -27.002712
vt 0.900723 0.749152
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.888596 0.500182
vt 0.900723 0.749152
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.500182
s off
f 25/25 28/26 26/27
f 29/28 32/29 31/30
f 25/25 27/31 28/26
f 29/28 30/32 32/29
f 27/25 26/26 25/27
f 30/28 31/29 29/30
f 27/25 28/31 26/26
f 30/28 32/32 31/29
v 15.178578 1.075909 -21.022888
v 1.075902 15.178576 -21.022886
v 19.149137 5.046469 -20.705606
@@ -105,27 +105,27 @@ f 33/33 36/34 34/35
f 37/36 40/37 39/38
f 33/33 35/39 36/34
f 37/36 38/40 40/37
v 12.863472 5.606542 -20.677326
v 5.505581 12.964426 -20.677326
v 14.446635 7.189702 -20.550817
v 7.088743 14.547589 -20.550817
v -12.863472 5.606542 -20.677326
v -5.505581 12.964426 -20.677326
v -14.446635 7.189702 -20.550817
v -7.088743 14.547589 -20.550817
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.749152
v 13.064644 5.472427 -20.677326
v 5.036180 13.523236 -20.677326
v 14.647807 7.055587 -20.550817
v 6.619342 15.106400 -20.550817
v -13.064644 5.472427 -20.677326
v -5.036180 13.523236 -20.677326
v -14.647807 7.055587 -20.550817
v -6.619342 15.106400 -20.550817
vt 0.900723 0.749152
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.888596 0.500182
vt 0.900723 0.749152
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.500182
s off
f 41/41 44/42 42/43
f 45/44 48/45 47/46
f 41/41 43/47 44/42
f 45/44 46/48 48/45
f 43/41 42/42 41/43
f 46/44 47/45 45/46
f 43/41 44/47 42/42
f 46/44 48/48 47/45
v 15.178578 1.075909 -14.582047
v 1.075902 15.178576 -14.582046
v 19.149137 5.046469 -14.264764
@@ -147,27 +147,27 @@ f 49/49 52/50 50/51
f 53/52 56/53 55/54
f 49/49 51/55 52/50
f 53/52 54/56 56/53
v 12.863472 5.606542 -14.225430
v 5.505581 12.964426 -14.225430
v 14.446635 7.189702 -14.098923
v 7.088743 14.547589 -14.098923
v -12.863472 5.606542 -14.225430
v -5.505581 12.964426 -14.225430
v -14.446635 7.189702 -14.098923
v -7.088743 14.547589 -14.098923
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.749152
v 13.042291 5.472427 -14.225430
v 5.036181 13.545589 -14.225430
v 14.625454 7.055587 -14.098923
v 6.619343 15.128753 -14.098923
v -13.042291 5.472427 -14.225430
v -5.036181 13.545589 -14.225430
v -14.625454 7.055587 -14.098923
v -6.619343 15.128753 -14.098923
vt 0.900723 0.749152
vt 0.888596 0.500182
vt 0.888596 0.749152
vt 0.888596 0.500182
vt 0.900723 0.749152
vt 0.888596 0.749152
vt 0.900723 0.500182
vt 0.900723 0.500182
s off
f 57/57 60/58 58/59
f 61/60 64/61 63/62
f 57/57 59/63 60/58
f 61/60 62/64 64/61
f 59/57 58/58 57/59
f 62/60 63/61 61/62
f 59/57 60/63 58/58
f 62/60 64/64 63/61
v 4.693238 0.813037 19.789230
v 4.693230 0.813042 -82.453156
v 4.350243 0.470041 19.789230
@@ -176,14 +176,14 @@ v -4.693238 0.813037 19.789230
v -4.693230 0.813042 -82.453156
v -4.350243 0.470041 19.789230
v -4.350235 0.470047 -82.453156
vt 0.887984 0.500428
vt 0.887984 0.749582
vt 0.875393 0.749582
vt 0.887984 0.500428
vt 0.875392 0.500428
vt 0.875393 0.749582
vt 0.875392 0.500428
vt 0.887984 0.749582
vt 0.999332 0.500428
vt 0.999332 0.749582
vt 0.986741 0.749582
vt 0.999332 0.500428
vt 0.986741 0.500428
vt 0.986741 0.749582
vt 0.986741 0.500428
vt 0.999332 0.749582
s off
f 65/65 66/66 68/67
f 69/68 71/69 72/70
@@ -201,18 +201,18 @@ v -3.277436 0.390707 -7.080121
v -3.277424 0.390714 -58.498669
v -3.762470 0.875742 -7.385828
v -3.277435 0.390707 -7.385828
vt 0.875212 0.517649
vt 0.888051 0.517649
vt 0.888052 0.749677
vt 0.875212 0.500256
vt 0.888051 0.500256
vt 0.888052 0.749677
vt 0.888051 0.517649
vt 0.875212 0.517649
vt 0.888051 0.500256
vt 0.875212 0.500256
vt 0.875212 0.749677
vt 0.875212 0.749677
vt 0.986050 0.517649
vt 0.998890 0.517649
vt 0.998890 0.749677
vt 0.986050 0.500256
vt 0.998890 0.500256
vt 0.998890 0.749677
vt 0.998890 0.517649
vt 0.986050 0.517649
vt 0.998890 0.500256
vt 0.986050 0.500256
vt 0.986050 0.749677
vt 0.986050 0.749677
s off
f 78/73 77/74 74/75
f 75/76 73/77 77/74
@@ -222,36 +222,3 @@ f 78/73 74/75 76/83
f 75/76 77/74 78/73
f 80/78 84/80 82/84
f 83/79 81/82 84/80
v 1.374993 -0.006546 -1.379147
v 1.595471 -0.006546 -1.599395
v -1.597251 -0.006546 1.593773
v 1.595413 -0.006546 1.593600
v -1.376857 -0.006546 1.373170
v 1.374951 -0.006546 1.373394
v -1.376821 -0.006546 -1.379086
v -1.597157 -0.006546 -1.597492
vt 0.875646 0.711989
vt 0.887532 0.531546
vt 0.875646 0.517147
vt 0.875646 0.517020
vt 0.887532 0.736731
vt 0.887532 0.531418
vt 0.875646 0.517020
vt 0.887532 0.736731
vt 0.887532 0.531418
vt 0.875646 0.517147
vt 0.887532 0.736731
vt 0.887532 0.531546
vt 0.887532 0.736731
vt 0.875646 0.711989
vt 0.875646 0.711989
vt 0.875646 0.711989
s off
f 85/85 92/86 91/87
f 87/88 90/89 89/90
f 89/91 92/92 87/93
f 88/94 85/95 90/96
f 85/85 86/97 92/86
f 87/88 88/98 90/89
f 89/91 91/99 92/92
f 88/94 86/100 85/95

View File

@@ -14,13 +14,31 @@ module.exports = {
varying vec2 uvs;
varying vec3 worldPos;
uniform vec3 tunnelNeon;
uniform vec3 leftLaser;
uniform vec3 rightLaser;
uniform vec3 floorNeon;
uniform sampler2D src;
void main() {
float mask;
vec4 col = texture2D(src, uvs);
float mask = min(step(0.87, uvs.x), step(0.5, uvs.y));
mask = min(mask, 1.0 - step(0.75, uvs.y));
// tunnel neon
mask = step(0.87, uvs.x) * step(0.5, uvs.y) * (1.0 - step(0.935, uvs.x)) * ( 1.0 - step(0.75, uvs.y));
col.xyz = mix(col.xyz, col.xyz * tunnelNeon, mask);
// floor & corridor neons
mask = step(0.935, uvs.x) * step(0.5, uvs.y) * ( 1.0 - step(0.75, uvs.y));
col.xyz = mix(col.xyz, col.xyz * floorNeon, mask);
// left laser
mask = step(0.5, uvs.x) * (1.0 - step(0.625, uvs.x)) * (1.0 - step(0.5, uvs.y));
col.xyz = mix(col.xyz, col.xyz * leftLaser, mask);
// right laser
mask = step(0.625, uvs.x) * (1.0 - step(0.75, uvs.x)) * (1.0 - step(0.5, uvs.y));
col.xyz = mix(col.xyz, col.xyz * rightLaser, mask);
gl_FragColor = col;
}
`

View File

@@ -8,7 +8,7 @@
<a-asset-item id="logobackObj" src="assets/models/logoback.obj"></a-asset-item>
<a-asset-item id="logofrontUObj" src="assets/models/logofront-u.obj"></a-asset-item>
<a-asset-item id="laserObj" src="assets/models/laser/laser.obj"></a-asset-item>
<a-asset-item id="laserNeonObj" src="assets/models/laserneon.obj"></a-asset-item>
<!--<a-asset-item id="laserNeonObj" src="assets/models/laserneon.obj"></a-asset-item>-->
<a-asset-item id="logoSparksJSON" src="assets/models/logosparks.json"></a-asset-item>
<a-asset-item id="sparksJSON" src="assets/models/sparks.json"></a-asset-item>
<a-asset-item id="mineObj" src="assets/models/mine.obj"></a-asset-item>
@@ -27,6 +27,9 @@
<a-asset-item id="wrongObj" src="assets/models/wrong.obj"></a-asset-item>
<a-asset-item id="smokeObj" src="assets/models/smoke.obj"></a-asset-item>
<a-asset-item id="audiocolumnObj" src="assets/models/audiocolumn.obj"></a-asset-item>
<a-asset-item id="leftLaserObj" src="assets/models/leftlaser.obj"></a-asset-item>
<a-asset-item id="rightLaserObj" src="assets/models/rightlaser.obj"></a-asset-item>
<!--<a-asset-item id="wallglowObj" src="assets/models/wallglow.obj"></a-asset-item>-->
<a-asset-item id="tutorial1Obj" src="assets/models/tutorial1.obj"></a-asset-item>
@@ -153,6 +156,8 @@
animation__mouseleave2="property: scale; to: 1 1 1; from: 1.1 1.1 1.1; startEvents: mouseleave; pauseEvents: mouseenter; dur: 150"></a-mixin>
<!-- stage, neons, etc animations launched from beat-loader events -->
<a-mixin id="bgColorAnimation"
animation__bgcoloroff="isRawProperty: true; property: systems.materials.stageNormal.uniforms.color.value; type: color; to: #111; dur: 500; easing: linear; startEvents: bgcoloroff"
animation__bgcolorblue="isRawProperty: true; property: systems.materials.stageNormal.uniforms.color.value; type: color; to: #00acfc; dur: 5; easing: linear; startEvents: bgcolorblue"
@@ -161,7 +166,6 @@
animation__bgcolorredfade="isRawProperty: true; property: systems.materials.stageNormal.uniforms.color.value; type: color; from: #FF4343; to: #fc0000; dur: 500; easing: linear; startEvents: bgcolorredfade"
></a-mixin>
<a-mixin id="tunnelColorAnimation"
animation__tunnelcoloroff="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.tunnelNeon.value; type: color; to: #111; dur: 500; easing: linear; startEvents: tunnelcoloroff"
animation__tunnelcolorblue="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.tunnelNeon.value; type: color; to: #00acfc; dur: 5; easing: linear; startEvents: tunnelcolorblue"
@@ -169,3 +173,19 @@
animation__tunnelcolorred="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.tunnelNeon.value; type: color; to: #fc0000; dur: 5; easing: linear; startEvents: tunnelcolorred"
animation__tunnelcolorredfade="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.tunnelNeon.value; type: color; from: #FF4343; to: #fc0000; dur: 500; easing: linear; startEvents: tunnelcolorredfade"
></a-mixin>
<a-mixin id="leftLaserColorAnimation"
animation__leftlasercoloroff="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.leftLaser.value; type: color; to: #000; dur: 500; easing: linear; startEvents: leftlasercoloroff"
animation__leftlasercolorblue="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.leftLaser.value; type: color; to: #00f; dur: 5; easing: linear; startEvents: leftlasercolorblue"
animation__leftlasercolorbluefade="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.leftLaser.value; type: color; from: #aaf; to: #00f; dur: 500; easing: linear; startEvents: leftlasercolorbluefade"
animation__leftlasercolorred="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.leftLaser.value; type: color; to: #f00; dur: 5; easing: linear; startEvents: leftlasercolorred"
animation__leftlasercolorredfade="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.leftLaser.value; type: color; from: #faa; to: #f00; dur: 500; easing: linear; startEvents: leftlasercolorredfade"
></a-mixin>
<a-mixin id="rightLaserColorAnimation"
animation__rightlasercoloroff="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.rightLaser.value; type: color; to: #000; dur: 500; easing: linear; startEvents: rightlasercoloroff"
animation__rightlasercolorblue="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.rightLaser.value; type: color; to: #00f; dur: 5; easing: linear; startEvents: rightlasercolorblue"
animation__rightlasercolorbluefade="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.rightLaser.value; type: color; from: #aaf; to: #00f; dur: 500; easing: linear; startEvents: rightlasercolorbluefade"
animation__rightlasercolorred="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.rightLaser.value; type: color; to: #f00; dur: 5; easing: linear; startEvents: rightlasercolorred"
animation__rightlasercolorredfade="isRawProperty: true; property: systems.materials.stageAdditive.uniforms.rightLaser.value; type: color; from: #faa; to: #f00; dur: 500; easing: linear; startEvents: rightlasercolorredfade"
></a-mixin>

View File

@@ -286,31 +286,27 @@ AFRAME.registerComponent('beat-loader', {
case 1:
this.stageColors.setColor('tunnel', event._value);
break;
case 200:
this.stageColors.setColor('leftStageLaser0', event._value);
this.stageColors.setColor('leftStageLaser1', event._value);
this.stageColors.setColor('leftStageLaser2', event._value);
case 2:
this.stageColors.setColor('leftlaser', event._value);
break;
case 300:
this.stageColors.setColor('rightStageLaser0', event._value);
this.stageColors.setColor('rightStageLaser1', event._value);
this.stageColors.setColor('rightStageLaser2', event._value);
case 3:
this.stageColors.setColor('rightlaser', event._value);
break;
case 400:
this.stageColors.setColor('floor', event._value);
this.stageColors.setColor('stageNeon', event._value);
break;
case 800:
case 8:
this.twister.components.twister.pulse(event._value);
break;
case 900:
case 9:
// zoom was a bit disturbing
this.twister.components.twister.pulse(event._value);
break;
case 1200:
case 12:
this.leftStageLasers.components['stage-lasers'].pulse(event._value);
break;
case 1300:
case 13:
this.rightStageLasers.components['stage-lasers'].pulse(event._value);
break;
}

View File

@@ -629,7 +629,6 @@ AFRAME.registerComponent('beat', {
returnToPool: function (force) {
if (!this.backToPool && !force) { return; }
console.log('returning ' + this.poolName + ' to pool');
this.el.sceneEl.components[this.poolName].returnEntity(this.el);
},

View File

@@ -9,7 +9,7 @@ AFRAME.registerSystem('materials', {
this.stageNormal = new THREE.ShaderMaterial({
uniforms: {
color: {value: new THREE.Vector3(0, 0.48, 0.72) },
color: {value: new THREE.Vector3(0, 0.48, 0.72)},
src: {value: new THREE.TextureLoader().load(document.getElementById('atlasImg').src)},
},
vertexShader: stageNormalShaders.vertexShader,
@@ -20,7 +20,10 @@ AFRAME.registerSystem('materials', {
this.stageAdditive = new THREE.ShaderMaterial({
uniforms: {
tunnelNeon: {value: new THREE.Vector3(0, 0, 1) },
tunnelNeon: {value: new THREE.Vector3(0, 0, 1)},
floorNeon: {value: new THREE.Vector3(0, 0, 1)},
leftLaser: {value: new THREE.Vector3(0, 0, 1)},
rightLaser: {value: new THREE.Vector3(0, 0, 1)},
src: {value: new THREE.TextureLoader().load(document.getElementById('atlasImg').src)},
},
vertexShader: stageAdditiveShaders.vertexShader,

View File

@@ -18,7 +18,7 @@
<a-scene
stats
mixin="gameoverAnimation fogAnimation bgColorAnimation tunnelColorAnimation"
mixin="gameoverAnimation fogAnimation bgColorAnimation tunnelColorAnimation leftLaserColorAnimation rightLaserColorAnimation"
bind__beat-loader="challengeId: challenge.id; difficulty: menuSelectedChallenge.difficulty; isPlaying: isPlaying; menuSelectedChallengeId: menuSelectedChallenge.id"
bind__gameover="isGameOver: isGameOver"
bind__intro-song="isPlaying: menuActive && !menuSelectedChallenge.id; isSearching: isSearching"

View File

@@ -1,3 +1,4 @@
<!--
<a-mixin id="stageLaser" obj-model="obj:#laserNeonObj" material="depthWrite: false; transparent: true; shader: flat; fog: false; color: #00a; src: #neonImg;"></a-mixin>
<a-mixin id="neonAnimation"
@@ -8,7 +9,6 @@
animation__colorred="property: components.material.material.color; type: color; to: #FFAAAA; dur: 5; easing: linear; startEvents: colorred"
animation__colorredfade="property: components.material.material.color; type: color; from: #FEE; to: #ffAAAA; dur: 500; easing: linear; startEvents: colorredfade"></a-mixin>
<!--
<a-sky
id="sky"
@@ -36,12 +36,6 @@
position="0 0 -60"
scale="20 20 20"></a-entity>
-->
<a-entity id="twister" position="0 0 -35" rotation="90 0 0" bind__twister="enabled: isPlaying"></a-entity>
<a-entity
id="audioColumns"
audio-columns="analyser: #audioAnalyser; height: 28; mirror: 18; scale: 9; thickness: 0.6; separation: 0.55"
position="0 -19 5"></a-entity>
<!--
<a-mixin id="corridor" geometry="skipCache: true" vertex-colors-buffer="baseColor: #010101" visible="false"></a-mixin>
@@ -71,32 +65,39 @@
mixin="neonAnimation"
obj-model="obj: #stageNeonObj"></a-entity>
-->
<a-entity
id="audioColumns"
audio-columns="analyser: #audioAnalyser; height: 28; mirror: 18; scale: 9; thickness: 0.6; separation: 0.55"
position="0 -19 5"></a-entity>
<a-entity
id="stageobj"
mixin="gameoverAnimation"
obj-model="obj: #stageNormalObj"
materials="name: stageNormal"></a-entity>
<a-entity
id="stageadditiveobj"
obj-model="obj: #stageAdditiveObj"
materials="name: stageAdditive"></a-entity>
<!-- Lasers left. -->
<a-entity id="leftStageLasers" bind__stage-lasers="enabled: isPlaying">
<a-entity id="leftStageLaser0" mixin="stageLaser neonAnimation" position=" -6 2.3 -40"></a-entity>
<a-entity id="leftStageLaser1" mixin="stageLaser neonAnimation" position="-10 0 -38"></a-entity>
<a-entity id="leftStageLaser2" mixin="stageLaser neonAnimation" position="-14 -3 -36"></a-entity>
<a-entity obj-model="obj: #leftLaserObj" materials="name: stageAdditive" position="-6 2.3 -41"></a-entity>
<a-entity obj-model="obj: #leftLaserObj" materials="name: stageAdditive" position="-10 0 -40"></a-entity>
<a-entity obj-model="obj: #leftLaserObj" materials="name: stageAdditive" position="-14 -3 -39"></a-entity>
</a-entity>
<!-- Lasers right. -->
<a-entity id="rightStageLasers" bind__stage-lasers="enabled: isPlaying">
<a-entity id="rightStageLaser0" mixin="stageLaser neonAnimation" position=" 6 4 -40"></a-entity>
<a-entity id="rightStageLaser1" mixin="stageLaser neonAnimation" position="10 2 -38"></a-entity>
<a-entity id="rightStageLaser2" mixin="stageLaser neonAnimation" position="14 -1.5 -36"></a-entity>
<a-entity obj-model="obj: #rightLaserObj" materials="name: stageAdditive" position="6 4 -38"></a-entity>
<a-entity obj-model="obj: #rightLaserObj" materials="name: stageAdditive" position="10 2 -37"></a-entity>
<a-entity obj-model="obj: #rightLaserObj" materials="name: stageAdditive" position="14 -1.5 -36"></a-entity>
</a-entity>
<a-entity id="beams" bind__beams="isPlaying: isPlaying"></a-entity>
<a-entity id="twister" position="0 0 -35" rotation="90 0 0" bind__twister="enabled: isPlaying"></a-entity>
<a-entity
id="stageadditiveobj"
obj-model="obj: #stageAdditiveObj"
materials="name: stageAdditive"></a-entity>
<a-mixin
id="smoke"
@@ -104,7 +105,7 @@
animation__gameover="property: components.material.material.opacity; to: 0; startEvents: gameover"
animation__rotate="property: rotation; to: 0 360 0; easing: linear; loop: true"
obj-model="obj:#smokeObj"
material="src: #atlasImg; fog: false; shader: flat; transparent: true"></a-mixin>
material="src: #atlasImg; fog: false; shader: flat; transparent: true;"></a-mixin>
<a-entity id="smoke1" mixin="smoke" position="0 1.4 0" animation__rotate="dur: 200000"></a-entity>
<a-entity id="smoke2" mixin="smoke" position="0 1.8 0" scale="1.25 0.8 1.25" animation__rotate="dur: 243000"></a-entity>
@@ -145,3 +146,4 @@
rotation="-45 0 0">
</a-entity>
</a-entity>
f