diff --git a/assets/img/atlas-guide.png b/assets/img/atlas-guide.png
new file mode 100644
index 0000000..52bd220
Binary files /dev/null and b/assets/img/atlas-guide.png differ
diff --git a/assets/img/atlas.png b/assets/img/atlas.png
new file mode 100644
index 0000000..91508af
Binary files /dev/null and b/assets/img/atlas.png differ
diff --git a/assets/models/audiocolumn.obj b/assets/models/audiocolumn.obj
new file mode 100644
index 0000000..101df5b
--- /dev/null
+++ b/assets/models/audiocolumn.obj
@@ -0,0 +1,38 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o audiocolumn
+v 0.300000 -0.500000 0.300000
+v 0.300000 0.500000 0.300000
+v -0.300000 -0.500000 0.300000
+v -0.300000 0.500000 0.300000
+v 0.300000 -0.500000 -0.300000
+v 0.300000 0.500000 -0.300000
+v -0.300000 -0.500000 -0.300000
+v -0.300000 0.500000 -0.300000
+vt 0.783339 0.005821
+vt 0.774810 0.013178
+vt 0.774810 0.005821
+vt 0.795098 0.008335
+vt 0.803673 0.003338
+vt 0.803673 0.008335
+vt 0.779471 0.013774
+vt 0.776653 0.016592
+vt 0.776653 0.013774
+vt 0.792235 0.011705
+vt 0.789417 0.014523
+vt 0.789417 0.011705
+vt 0.783339 0.013178
+vt 0.795098 0.003338
+vt 0.779471 0.016592
+vt 0.792235 0.014523
+s off
+f 2/1 3/2 1/3
+f 4/4 7/5 3/6
+f 6/7 1/8 5/9
+f 4/10 6/11 8/12
+f 8/12 5/9 7/5
+f 2/1 4/13 3/2
+f 4/4 8/14 7/5
+f 6/7 2/15 1/8
+f 4/10 2/16 6/11
+f 8/12 6/7 5/9
diff --git a/assets/models/miss.obj b/assets/models/miss.obj
new file mode 100644
index 0000000..3de6ec2
--- /dev/null
+++ b/assets/models/miss.obj
@@ -0,0 +1,14 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o wrong
+v -0.250000 -0.125000 0.000000
+v 0.250000 -0.125000 0.000000
+v -0.250000 0.125000 -0.000000
+v 0.250000 0.125000 -0.000000
+vt 0.812377 0.313561
+vt 0.750407 0.375531
+vt 0.750407 0.313561
+vt 0.812377 0.375531
+s off
+f 2/1 3/2 1/3
+f 2/1 4/4 3/2
diff --git a/assets/models/smoke.obj b/assets/models/smoke.obj
new file mode 100644
index 0000000..13594fa
--- /dev/null
+++ b/assets/models/smoke.obj
@@ -0,0 +1,78 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o smoke
+v 0.000000 -9.030719 -5.000000
+v 0.000000 9.030719 -5.000000
+v 2.500000 -9.030719 -4.330127
+v 2.500000 9.030719 -4.330127
+v 4.330127 -9.030719 -2.500000
+v 4.330127 9.030719 -2.500000
+v 5.000000 -9.030719 0.000000
+v 5.000000 9.030719 0.000000
+v 4.330127 -9.030719 2.500000
+v 4.330127 9.030719 2.500000
+v 2.500000 -9.030719 4.330127
+v 2.500000 9.030719 4.330127
+v 0.000001 -9.030719 5.000000
+v 0.000001 9.030719 5.000000
+v -2.499999 -9.030719 4.330128
+v -2.499999 9.030719 4.330128
+v -4.330126 -9.030719 2.500001
+v -4.330126 9.030719 2.500001
+v -5.000000 -9.030719 0.000002
+v -5.000000 9.030719 0.000002
+v -4.330129 -9.030719 -2.499997
+v -4.330129 9.030719 -2.499997
+v -2.500003 -9.030719 -4.330125
+v -2.500003 9.030719 -4.330125
+vt 0.750488 0.751420
+vt 0.874158 0.792572
+vt 0.750488 0.792573
+vt 0.750488 0.710267
+vt 0.874158 0.751419
+vt 0.750488 0.669114
+vt 0.874158 0.710266
+vt 0.750488 0.627961
+vt 0.874158 0.669113
+vt 0.750488 0.586808
+vt 0.874158 0.627961
+vt 0.750488 0.545655
+vt 0.874158 0.586808
+vt 0.750488 0.504502
+vt 0.874158 0.545654
+vt 0.750488 0.957185
+vt 0.874158 0.998337
+vt 0.750488 0.998338
+vt 0.750488 0.916032
+vt 0.874158 0.957184
+vt 0.750488 0.874879
+vt 0.874158 0.916031
+vt 0.750488 0.833726
+vt 0.874158 0.874878
+vt 0.874158 0.833725
+vt 0.874158 0.504502
+s off
+f 3/1 2/2 1/3
+f 5/4 4/5 3/1
+f 7/6 6/7 5/4
+f 9/8 8/9 7/6
+f 11/10 10/11 9/8
+f 13/12 12/13 11/10
+f 15/14 14/15 13/12
+f 17/16 16/17 15/18
+f 19/19 18/20 17/16
+f 21/21 20/22 19/19
+f 23/23 22/24 21/21
+f 1/3 24/25 23/23
+f 3/1 4/5 2/2
+f 5/4 6/7 4/5
+f 7/6 8/9 6/7
+f 9/8 10/11 8/9
+f 11/10 12/13 10/11
+f 13/12 14/15 12/13
+f 15/14 16/26 14/15
+f 17/16 18/20 16/17
+f 19/19 20/22 18/20
+f 21/21 22/24 20/22
+f 23/23 24/25 22/24
+f 1/3 2/2 24/25
diff --git a/assets/models/stage.obj b/assets/models/stage.obj
new file mode 100644
index 0000000..a9f5160
--- /dev/null
+++ b/assets/models/stage.obj
@@ -0,0 +1,2031 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o 000_sky
+v 0.000000 0.000000 2500.000000
+v -0.000224 0.000000 -2500.000000
+v 0.000000 1767.767334 1767.766724
+v 0.000000 -1767.767090 1767.766968
+v 0.000000 1767.767334 -1767.766724
+v -0.000149 -1767.766724 -1767.767090
+v -2500.000000 0.000298 -0.000522
+v 2499.999756 0.000000 0.000075
+v 1767.766968 -1767.767090 -0.000298
+v -1767.767090 -1767.766724 0.000000
+v -1767.767090 1767.767334 -0.000298
+v 1767.766602 1767.766968 0.000000
+v 0.000000 -2309.698730 956.708801
+v -0.000149 2309.698730 -956.708801
+v -0.000224 -956.708496 -2309.698486
+v -1767.767334 0.000000 1767.766479
+v 1767.766724 0.000000 -1767.767090
+v -0.000894 -956.708496 2309.698730
+v 0.000000 956.708496 2309.698486
+v 0.000000 2309.698730 956.708801
+v -0.000075 956.708801 -2309.698730
+v 0.000000 -2309.698730 -956.708801
+v -1767.767090 0.000000 -1767.767090
+v 1767.766602 0.000000 1767.766602
+v 2309.698486 -956.708801 0.000075
+v 956.708618 -2309.698730 -0.000298
+v 1249.999878 -1767.767090 -1250.000000
+v 1249.999756 -1767.766479 1249.999756
+v -2309.698730 -956.708496 -0.000447
+v -956.708801 -2309.698730 -0.000298
+v -1250.000244 -1767.766724 1249.999512
+v -1250.000244 -1767.766724 -1250.000000
+v -956.708801 2309.698730 -0.000298
+v -2309.698730 956.708801 -0.000447
+v -1250.000244 1767.767334 1249.999390
+v -1249.999878 1767.767334 -1249.999878
+v 956.708496 2309.698730 0.000000
+v 2309.698486 956.708618 0.000000
+v 1249.999878 1767.767334 -1249.999878
+v 1249.999756 1767.766968 1249.999390
+v 1633.203003 956.708191 1633.203003
+v 1633.203491 956.708618 -1633.203613
+v 676.495117 2309.698730 -676.495117
+v -1633.203613 956.708801 -1633.203613
+v -1633.203979 956.708801 1633.203003
+v -676.495422 2309.698730 676.495117
+v -676.495361 -2309.698730 -676.494812
+v -676.495422 -2309.698730 676.494812
+v -1633.203979 -956.708496 1633.203125
+v 676.495117 -2309.698730 676.495117
+v 676.495117 -2309.698730 -676.495422
+v 1633.203369 -956.708801 -1633.203613
+v 1633.203003 -956.708801 1633.203003
+v -1633.203613 -956.708496 -1633.203613
+v -676.495056 2309.698730 -676.495422
+v 676.495117 2309.698242 676.494812
+v 0.000000 -2451.963135 487.725739
+v 0.000298 2451.962646 487.725433
+v 0.000000 487.726044 2451.962891
+v -0.000075 -2499.999756 0.000000
+v -0.000075 2451.963379 -487.725433
+v -0.000224 -487.725739 -2451.963135
+v -956.708191 0.000000 2309.698975
+v 956.708435 0.000000 -2309.698975
+v 0.000000 1388.925903 2078.673828
+v 0.000000 2078.674072 1388.925903
+v 0.000000 -2078.673828 1388.925781
+v 0.000000 1388.925903 -2078.674072
+v -0.000149 -2078.674072 -1388.925293
+v -2309.698730 -0.000298 -956.708618
+v 2309.698730 0.000000 956.708801
+v 2451.962891 -487.725739 0.000075
+v 1388.925415 -2078.674316 -0.000298
+v 676.494934 -1767.766724 -1633.203613
+v 1633.203613 -1767.767090 676.495300
+v -2451.963135 -487.725739 -0.000447
+v -1388.925659 -2078.674072 -0.000298
+v -676.495728 -1767.766724 1633.203491
+v -1633.203613 -1767.766724 -676.495117
+v -487.725433 2451.963623 0.000000
+v -2078.674072 1388.925659 -0.000298
+v -676.494812 1767.767334 1633.203613
+v -1633.203613 1767.767090 -676.495117
+v 487.725433 2451.962891 0.000000
+v 2078.673584 1388.925415 -0.000298
+v 676.494751 1767.767334 -1633.203735
+v 1633.203491 1767.767212 676.495117
+v 0.000000 -1388.925903 2078.674072
+v -0.000149 2499.999756 0.000000
+v 0.000000 2078.674072 -1388.925415
+v 0.000224 -1388.925659 -2078.673828
+v -2309.698975 0.000000 956.708191
+v 2309.698242 0.000000 -956.708313
+v 0.000000 -487.725433 2451.962891
+v -0.000149 487.725739 -2451.963135
+v 0.000000 -2451.963135 -487.725739
+v -956.708984 0.000000 -2309.698730
+v 956.708191 0.000000 2309.698730
+v 2078.674072 -1388.925659 0.000000
+v 487.725739 -2451.963135 0.000000
+v 1633.203491 -1767.767090 -676.495422
+v 676.494812 -1767.766479 1633.203613
+v -2078.674072 -1388.925659 -0.000298
+v -487.725739 -2451.963135 0.000000
+v -1633.203979 -1767.766724 676.494690
+v -676.495056 -1767.766724 -1633.203613
+v -1388.925659 2078.674072 -0.000298
+v -2451.963135 487.725739 -0.000447
+v -1633.203979 1767.767334 676.494812
+v -676.495056 1767.767334 -1633.203491
+v 1388.925293 2078.674072 0.000000
+v 2451.962891 487.725739 0.000075
+v 1633.203369 1767.766968 -676.494995
+v 676.494812 1767.767090 1633.203613
+v 1469.844482 1388.925415 1469.843628
+v 1733.799072 487.725433 1733.799072
+v 2133.883301 956.708496 883.883545
+v 883.883240 956.708191 2133.882568
+v 1469.844482 1388.925903 -1469.844482
+v 1733.799561 487.725739 -1733.799683
+v 883.883301 956.708801 -2133.883301
+v 2133.883301 956.708496 -883.883362
+v 344.873810 2451.963379 -344.873962
+v 982.118408 2078.674072 -982.118713
+v 366.116577 2309.698730 -883.883545
+v 883.883362 2309.698730 -366.116455
+v -1469.844604 1388.925903 -1469.844604
+v -1733.799561 487.725891 -1733.799683
+v -2133.883301 956.708801 -883.883362
+v -883.883484 956.708801 -2133.883301
+v -1469.844849 1388.925659 1469.843994
+v -1733.800171 487.726044 1733.799072
+v -883.882935 956.708496 2133.883545
+v -2133.883545 956.708801 883.882935
+v -344.874268 2451.963623 344.873962
+v -982.119141 2078.674072 982.118530
+v -366.116455 2309.698730 883.883850
+v -883.883545 2309.698730 366.116455
+v -982.118591 -2078.674072 -982.118835
+v -344.874115 -2451.963135 -344.874268
+v -883.883484 -2309.698730 -366.116760
+v -366.116699 -2309.698730 -883.883240
+v -982.118835 -2078.674072 982.118225
+v -344.874268 -2451.963135 344.873962
+v -366.116455 -2309.698730 883.883545
+v -883.883545 -2309.698730 366.116455
+v -1733.800171 -487.725739 1733.799072
+v -1469.844849 -1388.925659 1469.844116
+v -883.884155 -956.708496 2133.883057
+v -2133.883545 -956.708496 883.882812
+v 982.118530 -2078.673828 982.118530
+v 344.873962 -2451.963135 344.873962
+v 883.883545 -2309.698730 366.116760
+v 366.116455 -2309.698730 883.883545
+v 982.118530 -2078.674072 -982.118835
+v 344.874115 -2451.963135 -344.874268
+v 366.116394 -2309.698730 -883.883850
+v 883.883362 -2309.698730 -366.116760
+v 1733.799438 -487.726044 -1733.799683
+v 1469.844238 -1388.925659 -1469.844604
+v 883.883179 -956.708496 -2133.883301
+v 2133.883301 -956.708801 -883.883362
+v 1733.799072 -487.725739 1733.799072
+v 1469.844482 -1388.925293 1469.844482
+v 2133.883301 -956.708801 883.883545
+v 883.882935 -956.708801 2133.883545
+v -1733.799561 -487.725739 -1733.799683
+v -1469.844604 -1388.925659 -1469.844604
+v -2133.883545 -956.708496 -883.882812
+v -883.883789 -956.708496 -2133.883301
+v -344.873901 2451.963379 -344.873962
+v -982.118591 2078.674072 -982.118713
+v -883.883484 2309.698975 -366.116455
+v -366.116547 2309.698730 -883.883545
+v 344.873962 2451.962646 344.873657
+v 982.118225 2078.673584 982.118225
+v 883.883545 2309.698730 366.116455
+v 366.116760 2309.698242 883.883240
+v 531.518433 2078.673584 1283.199829
+v 1283.199829 2078.674072 531.518433
+v 450.599487 2451.963379 186.644501
+v -531.518677 2078.674072 -1283.199829
+v -1283.199829 2078.674316 -531.518738
+v -450.599487 2451.963379 -186.644501
+v -795.474426 -1388.925659 -1920.444336
+v -1920.444336 -1388.925659 -795.474365
+v -2265.318359 -487.725739 -938.325684
+v 795.473755 -1388.925293 1920.444214
+v 1920.444214 -1388.925659 795.474182
+v 2265.318359 -487.726044 938.325806
+v 1920.444214 -1388.925293 -795.474060
+v 795.473816 -1388.925659 -1920.444336
+v 938.325378 -487.726044 -2265.318604
+v 450.599792 -2451.963135 -186.644501
+v 186.644424 -2451.963135 -450.599792
+v 531.518555 -2078.674072 -1283.199829
+v 186.644501 -2451.963135 450.599792
+v 450.599792 -2451.963135 186.644501
+v 1283.199829 -2078.674316 531.518738
+v -1920.444336 -1388.925659 795.473755
+v -795.473755 -1388.925659 1920.444458
+v -938.325256 -487.725739 2265.318604
+v -450.599792 -2451.963135 186.644501
+v -186.644501 -2451.963135 450.599792
+v -531.518433 -2078.674072 1283.199951
+v -186.644501 -2451.963135 -450.599792
+v -450.599792 -2451.963135 -186.644501
+v -1283.199829 -2078.674072 -531.519043
+v -1283.199829 2078.674072 531.518433
+v -531.518738 2078.674072 1283.200439
+v -186.644501 2451.963623 450.599792
+v -2265.318604 487.726044 938.325256
+v -938.325256 487.725739 2265.318604
+v -795.473755 1388.926147 1920.444336
+v -938.326050 487.725891 -2265.318115
+v -2265.318359 487.725891 -938.325684
+v -1920.444336 1388.925903 -795.474060
+v 1283.199585 2078.674072 -531.518738
+v 531.518799 2078.674072 -1283.199829
+v 186.644348 2451.963379 -450.599487
+v 2265.318359 487.725739 -938.325684
+v 938.325500 487.725739 -2265.318604
+v 795.474121 1388.925903 -1920.444214
+v 938.324951 487.725433 2265.318115
+v 2265.318359 487.725739 938.325806
+v 1920.444214 1388.925781 795.474060
+v 795.474060 1388.925293 1920.443726
+v 1920.444092 1388.925415 -795.474182
+v 450.599487 2451.962891 -186.644196
+v -795.474304 1388.925903 -1920.444214
+v -1920.444336 1388.925659 795.473755
+v -450.599487 2451.963623 186.644196
+v -531.518982 -2078.674072 -1283.199829
+v -1283.199829 -2078.674072 531.518433
+v -2265.318604 -487.725739 938.325256
+v 531.518433 -2078.673828 1283.199951
+v 1283.199585 -2078.674072 -531.519043
+v 2265.318359 -487.726044 -938.325684
+v 938.325256 -487.725739 2265.318604
+v -938.326050 -487.725739 -2265.318115
+v -186.644424 2451.963379 -450.599487
+v 186.644501 2451.962646 450.599487
+vt 0.468662 0.937500
+vt 0.499512 0.937500
+vt 0.468662 1.000000
+vt 0.218714 0.937500
+vt 0.249957 0.937500
+vt 0.218714 1.000000
+vt 0.249957 0.437500
+vt 0.218714 0.500000
+vt 0.218714 0.437500
+vt 0.499512 0.437500
+vt 0.468662 0.500000
+vt 0.468662 0.437500
+vt 0.374931 0.437500
+vt 0.343688 0.500000
+vt 0.343688 0.437500
+vt 0.374931 0.187500
+vt 0.343688 0.250000
+vt 0.343688 0.187500
+vt 0.499512 0.187500
+vt 0.468662 0.250000
+vt 0.468662 0.187500
+vt 0.124983 0.437500
+vt 0.093739 0.500000
+vt 0.093739 0.437500
+vt 0.124983 0.187500
+vt 0.093739 0.250000
+vt 0.093739 0.187500
+vt 0.249957 0.187500
+vt 0.218714 0.250000
+vt 0.218714 0.187500
+vt 0.093739 0.937500
+vt 0.124983 0.937500
+vt 0.093739 1.000000
+vt 0.093739 0.687500
+vt 0.124983 0.750000
+vt 0.093739 0.750000
+vt 0.249957 0.687500
+vt 0.218714 0.750000
+vt 0.218714 0.687500
+vt 0.343688 0.937500
+vt 0.374931 0.937500
+vt 0.343688 1.000000
+vt 0.374931 0.687500
+vt 0.343688 0.750000
+vt 0.343688 0.687500
+vt 0.499512 0.687500
+vt 0.468662 0.750000
+vt 0.468662 0.687500
+vt 0.437418 0.687500
+vt 0.406175 0.750000
+vt 0.406175 0.687500
+vt 0.437418 0.562500
+vt 0.406175 0.625000
+vt 0.406175 0.562500
+vt 0.468662 0.562500
+vt 0.499512 0.625000
+vt 0.468662 0.625000
+vt 0.281201 0.687500
+vt 0.312444 0.750000
+vt 0.281201 0.750000
+vt 0.312444 0.562500
+vt 0.281201 0.625000
+vt 0.281201 0.562500
+vt 0.374931 0.562500
+vt 0.343688 0.625000
+vt 0.343688 0.562500
+vt 0.281201 0.937500
+vt 0.312444 0.937500
+vt 0.281201 1.000000
+vt 0.312444 0.812500
+vt 0.281201 0.875000
+vt 0.281201 0.812500
+vt 0.374931 0.812500
+vt 0.343688 0.875000
+vt 0.343688 0.812500
+vt 0.187470 0.687500
+vt 0.156227 0.750000
+vt 0.156227 0.687500
+vt 0.187470 0.562500
+vt 0.156227 0.625000
+vt 0.156227 0.562500
+vt 0.249957 0.562500
+vt 0.218714 0.625000
+vt 0.218714 0.562500
+vt 0.031252 0.687500
+vt 0.062496 0.750000
+vt 0.031252 0.750000
+vt 0.062496 0.562500
+vt 0.031252 0.625000
+vt 0.031252 0.562500
+vt 0.124983 0.562500
+vt 0.093739 0.625000
+vt 0.093739 0.562500
+vt 0.031252 0.937500
+vt 0.062496 0.937500
+vt 0.031252 1.000000
+vt 0.062496 0.812500
+vt 0.031252 0.875000
+vt 0.031252 0.812500
+vt 0.093739 0.812500
+vt 0.124983 0.875000
+vt 0.093739 0.875000
+vt 0.156227 0.187500
+vt 0.187470 0.250000
+vt 0.156227 0.250000
+vt 0.187470 0.062500
+vt 0.156227 0.125000
+vt 0.156227 0.062500
+vt 0.249957 0.062500
+vt 0.218714 0.125000
+vt 0.218714 0.062500
+vt 0.062496 0.187500
+vt 0.031252 0.250000
+vt 0.031252 0.187500
+vt 0.062496 0.062500
+vt 0.031252 0.125000
+vt 0.031252 0.062500
+vt 0.124983 0.062500
+vt 0.093739 0.125000
+vt 0.093739 0.062500
+vt 0.062496 0.437500
+vt 0.031252 0.500000
+vt 0.031252 0.437500
+vt 0.062496 0.312500
+vt 0.031252 0.375000
+vt 0.031252 0.312500
+vt 0.124983 0.312500
+vt 0.093739 0.375000
+vt 0.093739 0.312500
+vt 0.437418 0.187500
+vt 0.406175 0.250000
+vt 0.406175 0.187500
+vt 0.406175 0.062500
+vt 0.437418 0.125000
+vt 0.406175 0.125000
+vt 0.499512 0.062500
+vt 0.468662 0.125000
+vt 0.468662 0.062500
+vt 0.312444 0.187500
+vt 0.281201 0.250000
+vt 0.281201 0.187500
+vt 0.312444 0.062500
+vt 0.281201 0.125000
+vt 0.281201 0.062500
+vt 0.343688 0.062500
+vt 0.374931 0.125000
+vt 0.343688 0.125000
+vt 0.312444 0.437500
+vt 0.281201 0.500000
+vt 0.281201 0.437500
+vt 0.312444 0.312500
+vt 0.281201 0.375000
+vt 0.281201 0.312500
+vt 0.343688 0.312500
+vt 0.374931 0.375000
+vt 0.343688 0.375000
+vt 0.437418 0.437500
+vt 0.406175 0.500000
+vt 0.406175 0.437500
+vt 0.406175 0.312500
+vt 0.437418 0.375000
+vt 0.406175 0.375000
+vt 0.499512 0.312500
+vt 0.468662 0.375000
+vt 0.468662 0.312500
+vt 0.187470 0.437500
+vt 0.156227 0.500000
+vt 0.156227 0.437500
+vt 0.156227 0.312500
+vt 0.187470 0.375000
+vt 0.156227 0.375000
+vt 0.218714 0.312500
+vt 0.249957 0.375000
+vt 0.218714 0.375000
+vt 0.156227 0.937500
+vt 0.187470 0.937500
+vt 0.156227 1.000000
+vt 0.156227 0.812500
+vt 0.187470 0.875000
+vt 0.156227 0.875000
+vt 0.218714 0.812500
+vt 0.249957 0.875000
+vt 0.218714 0.875000
+vt 0.406175 0.937500
+vt 0.437418 0.937500
+vt 0.406175 1.000000
+vt 0.437418 0.812500
+vt 0.406175 0.875000
+vt 0.406175 0.812500
+vt 0.468662 0.812500
+vt 0.499512 0.875000
+vt 0.468662 0.875000
+vt 0.437418 0.875000
+vt 0.437418 0.750000
+vt 0.499512 0.750000
+vt 0.374931 0.875000
+vt 0.374931 0.750000
+vt 0.374931 1.000000
+vt 0.187470 0.812500
+vt 0.187470 0.750000
+vt 0.249957 0.750000
+vt 0.124983 0.812500
+vt 0.124983 1.000000
+vt 0.187470 0.312500
+vt 0.249957 0.250000
+vt 0.124983 0.375000
+vt 0.124983 0.250000
+vt 0.124983 0.500000
+vt 0.437418 0.312500
+vt 0.437418 0.250000
+vt 0.499512 0.250000
+vt 0.374931 0.312500
+vt 0.374931 0.250000
+vt 0.374931 0.500000
+vt 0.312444 0.375000
+vt 0.312444 0.250000
+vt 0.249957 0.312500
+vt 0.249957 0.500000
+vt 0.312444 0.125000
+vt 0.343688 0.000000
+vt 0.374931 0.000000
+vt 0.374931 0.062500
+vt 0.249957 0.125000
+vt 0.281201 0.000000
+vt 0.312444 0.000000
+vt 0.437418 0.062500
+vt 0.468662 0.000000
+vt 0.499512 0.000000
+vt 0.406175 0.000000
+vt 0.437418 0.000000
+vt 0.062496 0.375000
+vt 0.062496 0.250000
+vt 0.000244 0.375000
+vt 0.000244 0.312500
+vt 0.000244 0.250000
+vt 0.000244 0.500000
+vt 0.000244 0.437500
+vt 0.062496 0.125000
+vt 0.093739 0.000000
+vt 0.124983 0.000000
+vt 0.000244 0.062500
+vt 0.000244 0.125000
+vt 0.031252 0.000000
+vt 0.062496 0.000000
+vt 0.000244 0.187500
+vt 0.187470 0.125000
+vt 0.218714 0.000000
+vt 0.249957 0.000000
+vt 0.124983 0.125000
+vt 0.156227 0.000000
+vt 0.187470 0.000000
+vt 0.062496 0.875000
+vt 0.000244 0.812500
+vt 0.000244 0.875000
+vt 0.000244 0.750000
+vt 0.000244 0.937500
+vt 0.000244 1.000000
+vt 0.062496 0.625000
+vt 0.062496 0.500000
+vt 0.000244 0.562500
+vt 0.000244 0.625000
+vt 0.000244 0.687500
+vt 0.187470 0.625000
+vt 0.187470 0.500000
+vt 0.124983 0.625000
+vt 0.124983 0.687500
+vt 0.312444 0.875000
+vt 0.249957 0.812500
+vt 0.249957 1.000000
+vt 0.312444 0.625000
+vt 0.312444 0.500000
+vt 0.249957 0.625000
+vt 0.437418 0.625000
+vt 0.437418 0.500000
+vt 0.499512 0.500000
+vt 0.374931 0.625000
+vt 0.312444 0.687500
+vt 0.312444 1.000000
+vt 0.062496 0.687500
+vt 0.062496 1.000000
+vt 0.187470 0.187500
+vt 0.499512 0.125000
+vt 0.187470 1.000000
+vt 0.437418 1.000000
+vt 0.499512 0.562500
+vt 0.499512 0.375000
+vt 0.499512 0.812500
+s off
+f 242/1 58/2 89/3
+f 241/4 61/5 89/6
+f 62/7 97/8 240/9
+f 94/10 98/11 239/12
+f 72/13 93/14 238/15
+f 73/16 101/17 237/18
+f 67/19 102/20 236/21
+f 76/22 92/23 235/24
+f 77/25 105/26 234/27
+f 69/28 106/29 233/30
+f 232/31 80/32 89/33
+f 231/34 11/35 109/36
+f 68/37 110/38 230/39
+f 229/40 84/41 89/42
+f 85/43 113/44 228/45
+f 65/46 114/47 227/48
+f 115/49 87/50 226/51
+f 116/52 117/53 225/54
+f 224/55 19/56 118/57
+f 223/58 39/59 86/60
+f 120/61 121/62 222/63
+f 112/64 122/65 221/66
+f 220/67 123/68 89/69
+f 124/70 125/71 219/72
+f 111/73 126/74 218/75
+f 127/76 83/77 217/78
+f 128/79 129/80 216/81
+f 95/82 130/83 215/84
+f 214/85 35/86 82/87
+f 132/88 133/89 213/90
+f 108/91 134/92 212/93
+f 211/94 135/95 89/96
+f 136/97 137/98 210/99
+f 209/100 33/101 138/102
+f 208/103 32/104 79/105
+f 140/106 141/107 207/108
+f 96/109 142/110 206/111
+f 143/112 78/113 205/114
+f 144/115 145/116 204/117
+f 104/118 146/119 203/120
+f 147/121 63/122 202/123
+f 148/124 149/125 201/126
+f 103/127 150/128 200/129
+f 151/130 75/131 199/132
+f 198/133 50/134 153/135
+f 57/136 154/137 197/138
+f 155/139 74/140 196/141
+f 156/142 157/143 195/144
+f 194/145 26/146 158/147
+f 159/148 64/149 193/150
+f 160/151 161/152 192/153
+f 191/154 25/155 162/156
+f 163/157 71/158 190/159
+f 189/160 53/161 165/162
+f 88/163 166/164 188/165
+f 167/166 70/167 187/168
+f 186/169 54/170 169/171
+f 185/172 15/173 170/174
+f 184/175 171/176 89/177
+f 183/178 55/179 173/180
+f 182/181 14/182 174/183
+f 181/184 175/185 89/186
+f 176/187 177/188 180/189
+f 179/190 20/191 178/192
+f 176/187 178/192 56/193
+f 40/194 179/190 176/187
+f 3/195 179/190 114/47
+f 180/189 37/196 111/73
+f 12/197 180/189 111/73
+f 40/194 180/189 87/50
+f 84/41 181/184 89/198
+f 177/188 84/41 37/196
+f 56/193 181/184 177/188
+f 182/181 55/179 172/199
+f 110/38 172/199 36/200
+f 5/201 182/181 110/38
+f 183/178 33/101 107/202
+f 83/77 107/202 11/35
+f 83/77 172/199 183/178
+f 80/32 184/175 89/203
+f 173/180 80/32 33/101
+f 55/179 184/175 173/180
+f 185/172 54/170 168/204
+f 32/104 185/172 168/204
+f 6/205 185/172 106/29
+f 103/127 169/171 29/206
+f 79/105 103/127 10/207
+f 32/104 186/169 79/105
+f 76/22 70/167 7/208
+f 169/171 76/22 29/206
+f 54/170 187/168 169/171
+f 188/165 53/161 164/209
+f 102/20 164/209 28/210
+f 4/211 188/165 102/20
+f 189/160 25/155 99/212
+f 75/131 99/212 9/213
+f 75/131 164/209 189/160
+f 72/13 71/158 8/214
+f 25/155 190/159 72/13
+f 53/161 190/159 165/162
+f 191/154 52/215 160/151
+f 101/17 160/151 27/216
+f 9/213 191/154 101/17
+f 91/217 161/152 15/173
+f 74/140 91/217 6/205
+f 74/140 160/151 192/153
+f 62/7 64/149 2/218
+f 15/173 193/150 62/7
+f 52/215 193/150 161/152
+f 156/142 158/147 51/219
+f 60/220 194/145 156/142
+f 60/221 100/222 194/145
+f 96/109 157/143 22/223
+f 60/224 195/144 96/109
+f 60/225 156/142 195/144
+f 196/141 6/205 69/28
+f 157/143 69/28 22/223
+f 51/219 196/141 157/143
+f 197/138 50/134 152/226
+f 60/227 197/138 152/226
+f 60/228 57/136 197/138
+f 198/133 26/146 100/222
+f 60/229 198/133 100/222
+f 60/230 152/226 198/133
+f 199/132 9/213 73/16
+f 153/135 73/16 26/146
+f 153/135 151/130 199/132
+f 200/129 49/231 148/124
+f 31/232 200/129 148/124
+f 10/207 200/129 105/26
+f 201/126 18/233 88/234
+f 4/235 201/126 88/234
+f 78/113 148/124 201/126
+f 202/123 1/236 94/237
+f 18/233 202/123 94/237
+f 149/125 147/121 202/123
+f 203/120 48/238 144/115
+f 60/239 203/120 144/115
+f 60/240 104/118 203/120
+f 57/241 145/116 13/242
+f 60/243 204/117 57/241
+f 60/244 144/115 204/117
+f 205/114 4/235 67/245
+f 13/242 205/114 67/245
+f 145/116 143/112 205/114
+f 140/106 142/110 47/246
+f 60/247 206/111 140/106
+f 60/248 96/109 206/111
+f 207/108 30/249 104/118
+f 60/250 207/108 104/118
+f 60/251 140/106 207/108
+f 77/25 79/105 10/207
+f 30/249 208/103 77/25
+f 47/246 208/103 141/107
+f 209/100 46/252 136/97
+f 35/86 209/100 136/97
+f 11/35 209/100 109/36
+f 66/253 137/98 20/254
+f 82/87 66/253 3/255
+f 35/86 210/99 82/87
+f 58/256 211/94 89/257
+f 137/98 58/256 20/254
+f 46/252 211/94 137/98
+f 212/93 45/258 132/88
+f 92/23 132/88 16/259
+f 7/208 212/93 92/23
+f 59/260 133/89 19/261
+f 1/236 213/90 59/260
+f 16/259 213/90 63/122
+f 214/85 3/255 65/262
+f 133/89 65/262 19/261
+f 45/258 214/85 133/89
+f 215/84 44/263 128/79
+f 97/8 128/79 23/264
+f 2/218 215/84 97/8
+f 108/91 129/80 34/265
+f 7/208 216/81 108/91
+f 23/264 216/81 70/167
+f 217/78 11/35 81/266
+f 129/80 81/266 34/265
+f 44/263 217/78 129/80
+f 218/75 43/267 124/70
+f 39/59 218/75 124/70
+f 113/44 111/73 218/75
+f 219/72 14/182 90/268
+f 86/60 90/268 5/201
+f 39/59 219/72 86/60
+f 61/5 220/67 89/269
+f 125/71 61/5 14/182
+f 43/267 220/67 125/71
+f 221/66 42/270 120/61
+f 93/14 120/61 17/271
+f 93/14 112/64 221/66
+f 222/63 21/272 95/82
+f 64/149 95/82 2/218
+f 17/271 222/63 64/149
+f 223/58 5/201 68/37
+f 121/62 68/37 21/272
+f 42/270 223/58 121/62
+f 116/52 118/57 41/273
+f 98/11 116/52 24/274
+f 1/275 224/55 98/11
+f 112/64 117/53 38/276
+f 71/158 112/64 8/214
+f 71/158 116/52 225/54
+f 226/51 12/197 85/43
+f 38/276 226/51 85/43
+f 117/53 115/49 226/51
+f 227/48 40/194 115/49
+f 41/273 227/48 115/49
+f 19/56 227/48 118/57
+f 119/277 113/44 39/59
+f 42/270 228/45 119/277
+f 122/65 85/43 228/45
+f 123/68 229/40 89/278
+f 126/74 123/68 43/267
+f 37/196 229/40 126/74
+f 230/39 36/200 127/76
+f 44/263 230/39 127/76
+f 21/272 230/39 130/83
+f 231/34 35/86 131/279
+f 134/92 131/279 45/258
+f 134/92 81/266 231/34
+f 135/95 232/31 89/280
+f 138/102 135/95 46/252
+f 138/102 80/32 232/31
+f 139/281 106/29 32/104
+f 142/110 139/281 47/246
+f 22/223 233/30 142/110
+f 234/27 31/232 143/112
+f 48/238 234/27 143/112
+f 30/249 234/27 146/119
+f 147/121 92/23 16/259
+f 150/128 147/121 49/231
+f 150/128 76/22 235/24
+f 151/130 102/20 28/210
+f 154/137 151/130 50/134
+f 13/282 236/21 154/137
+f 237/18 27/216 155/139
+f 51/219 237/18 155/139
+f 26/146 237/18 158/147
+f 238/15 17/271 159/148
+f 52/215 238/15 159/148
+f 25/155 238/15 162/156
+f 239/12 24/274 163/157
+f 166/164 163/157 53/161
+f 166/164 94/10 239/12
+f 240/9 23/264 167/166
+f 54/170 240/9 167/166
+f 15/173 240/9 170/174
+f 171/176 241/4 89/283
+f 174/183 171/176 55/179
+f 174/183 61/5 241/4
+f 175/185 242/1 89/284
+f 56/193 242/1 175/185
+f 178/192 58/2 242/1
+f 62/7 2/218 97/8
+f 94/10 1/275 98/11
+f 72/13 8/214 93/14
+f 73/16 9/213 101/17
+f 67/19 4/211 102/20
+f 76/22 7/208 92/23
+f 77/25 10/207 105/26
+f 69/28 6/205 106/29
+f 231/34 81/266 11/35
+f 68/37 5/201 110/38
+f 85/43 12/197 113/44
+f 65/46 3/195 114/47
+f 115/49 40/194 87/50
+f 116/52 41/273 117/53
+f 224/55 59/285 19/56
+f 223/58 119/277 39/59
+f 120/61 42/270 121/62
+f 112/64 38/276 122/65
+f 124/70 43/267 125/71
+f 111/73 37/196 126/74
+f 127/76 36/200 83/77
+f 128/79 44/263 129/80
+f 95/82 21/272 130/83
+f 214/85 131/279 35/86
+f 132/88 45/258 133/89
+f 108/91 34/265 134/92
+f 136/97 46/252 137/98
+f 209/100 107/202 33/101
+f 208/103 139/281 32/104
+f 140/106 47/246 141/107
+f 96/109 22/223 142/110
+f 143/112 31/232 78/113
+f 144/115 48/238 145/116
+f 104/118 30/249 146/119
+f 147/121 16/259 63/122
+f 148/124 49/231 149/125
+f 103/127 29/206 150/128
+f 151/130 28/210 75/131
+f 198/133 152/226 50/134
+f 57/136 13/282 154/137
+f 155/139 27/216 74/140
+f 156/142 51/219 157/143
+f 194/145 100/222 26/146
+f 159/148 17/271 64/149
+f 160/151 52/215 161/152
+f 191/154 99/212 25/155
+f 163/157 24/274 71/158
+f 189/160 164/209 53/161
+f 88/163 18/286 166/164
+f 167/166 23/264 70/167
+f 186/169 168/204 54/170
+f 185/172 91/217 15/173
+f 183/178 172/199 55/179
+f 182/181 90/268 14/182
+f 176/187 56/193 177/188
+f 179/190 66/287 20/191
+f 176/187 179/190 178/192
+f 40/194 114/47 179/190
+f 3/195 66/287 179/190
+f 180/189 177/188 37/196
+f 12/197 87/50 180/189
+f 40/194 176/187 180/189
+f 177/188 181/184 84/41
+f 56/193 175/185 181/184
+f 182/181 174/183 55/179
+f 110/38 182/181 172/199
+f 5/201 90/268 182/181
+f 183/178 173/180 33/101
+f 83/77 183/178 107/202
+f 83/77 36/200 172/199
+f 173/180 184/175 80/32
+f 55/179 171/176 184/175
+f 185/172 170/174 54/170
+f 32/104 106/29 185/172
+f 6/205 91/217 185/172
+f 103/127 186/169 169/171
+f 79/105 186/169 103/127
+f 32/104 168/204 186/169
+f 76/22 187/168 70/167
+f 169/171 187/168 76/22
+f 54/170 167/166 187/168
+f 188/165 166/164 53/161
+f 102/20 188/165 164/209
+f 4/211 88/163 188/165
+f 189/160 165/162 25/155
+f 75/131 189/160 99/212
+f 75/131 28/210 164/209
+f 72/13 190/159 71/158
+f 25/155 165/162 190/159
+f 53/161 163/157 190/159
+f 191/154 162/156 52/215
+f 101/17 191/154 160/151
+f 9/213 99/212 191/154
+f 91/217 192/153 161/152
+f 74/140 192/153 91/217
+f 74/140 27/216 160/151
+f 62/7 193/150 64/149
+f 15/173 161/152 193/150
+f 52/215 159/148 193/150
+f 156/142 194/145 158/147
+f 96/109 195/144 157/143
+f 196/141 74/140 6/205
+f 157/143 196/141 69/28
+f 51/219 155/139 196/141
+f 197/138 154/137 50/134
+f 198/133 153/135 26/146
+f 199/132 75/131 9/213
+f 153/135 199/132 73/16
+f 153/135 50/134 151/130
+f 200/129 150/128 49/231
+f 31/232 105/26 200/129
+f 10/207 103/127 200/129
+f 201/126 149/125 18/233
+f 4/235 78/113 201/126
+f 78/113 31/232 148/124
+f 202/123 63/122 1/236
+f 18/233 149/125 202/123
+f 149/125 49/231 147/121
+f 203/120 146/119 48/238
+f 57/241 204/117 145/116
+f 205/114 78/113 4/235
+f 13/242 145/116 205/114
+f 145/116 48/238 143/112
+f 140/106 206/111 142/110
+f 207/108 141/107 30/249
+f 77/25 208/103 79/105
+f 30/249 141/107 208/103
+f 47/246 139/281 208/103
+f 209/100 138/102 46/252
+f 35/86 109/36 209/100
+f 11/35 107/202 209/100
+f 66/253 210/99 137/98
+f 82/87 210/99 66/253
+f 35/86 136/97 210/99
+f 137/98 211/94 58/256
+f 46/252 135/95 211/94
+f 212/93 134/92 45/258
+f 92/23 212/93 132/88
+f 7/208 108/91 212/93
+f 59/260 213/90 133/89
+f 1/236 63/122 213/90
+f 16/259 132/88 213/90
+f 214/85 82/87 3/255
+f 133/89 214/85 65/262
+f 45/258 131/279 214/85
+f 215/84 130/83 44/263
+f 97/8 215/84 128/79
+f 2/218 95/82 215/84
+f 108/91 216/81 129/80
+f 7/208 70/167 216/81
+f 23/264 128/79 216/81
+f 217/78 83/77 11/35
+f 129/80 217/78 81/266
+f 44/263 127/76 217/78
+f 218/75 126/74 43/267
+f 39/59 113/44 218/75
+f 113/44 12/197 111/73
+f 219/72 125/71 14/182
+f 86/60 219/72 90/268
+f 39/59 124/70 219/72
+f 125/71 220/67 61/5
+f 43/267 123/68 220/67
+f 221/66 122/65 42/270
+f 93/14 221/66 120/61
+f 93/14 8/214 112/64
+f 222/63 121/62 21/272
+f 64/149 222/63 95/82
+f 17/271 120/61 222/63
+f 223/58 86/60 5/201
+f 121/62 223/58 68/37
+f 42/270 119/277 223/58
+f 116/52 224/55 118/57
+f 98/11 224/55 116/52
+f 1/275 59/285 224/55
+f 112/64 225/54 117/53
+f 71/158 225/54 112/64
+f 71/158 24/274 116/52
+f 226/51 87/50 12/197
+f 38/276 117/53 226/51
+f 117/53 41/273 115/49
+f 227/48 114/47 40/194
+f 41/273 118/57 227/48
+f 19/56 65/46 227/48
+f 119/277 228/45 113/44
+f 42/270 122/65 228/45
+f 122/65 38/276 85/43
+f 126/74 229/40 123/68
+f 37/196 84/41 229/40
+f 230/39 110/38 36/200
+f 44/263 130/83 230/39
+f 21/272 68/37 230/39
+f 231/34 109/36 35/86
+f 134/92 231/34 131/279
+f 134/92 34/265 81/266
+f 138/102 232/31 135/95
+f 138/102 33/101 80/32
+f 139/281 233/30 106/29
+f 142/110 233/30 139/281
+f 22/223 69/28 233/30
+f 234/27 105/26 31/232
+f 48/238 146/119 234/27
+f 30/249 77/25 234/27
+f 147/121 235/24 92/23
+f 150/128 235/24 147/121
+f 150/128 29/206 76/22
+f 151/130 236/21 102/20
+f 154/137 236/21 151/130
+f 13/282 67/19 236/21
+f 237/18 101/17 27/216
+f 51/219 158/147 237/18
+f 26/146 73/16 237/18
+f 238/15 93/14 17/271
+f 52/215 162/156 238/15
+f 25/155 72/13 238/15
+f 239/12 98/11 24/274
+f 166/164 239/12 163/157
+f 166/164 18/286 94/10
+f 240/9 97/8 23/264
+f 54/170 170/174 240/9
+f 15/173 62/7 240/9
+f 174/183 241/4 171/176
+f 174/183 14/182 61/5
+f 56/193 178/192 242/1
+f 178/192 20/191 58/2
+o 000backglow
+v 25.250380 -68.634323 -67.805519
+v -7.311297 -99.964310 -32.531570
+v 44.684368 -90.595970 -33.472618
+v 79.610504 -63.938412 -32.754875
+v 61.499004 -32.072090 -70.036674
+v 98.332626 -29.744064 -33.095043
+v 51.503872 22.417212 -76.709694
+v 14.304985 -8.711819 -88.150589
+v 105.055351 2.702891 -35.296719
+v 89.332321 48.762192 -34.885387
+v 65.318703 77.625633 -32.835403
+v -16.076511 27.427702 -84.945648
+v 16.332134 97.253868 -30.664419
+v 20.590061 63.521618 -70.832603
+v -53.870377 48.526577 -66.212524
+v -30.491152 -18.268398 -83.639061
+v -70.286758 -22.024078 -63.045624
+v -97.320869 15.491239 -33.894066
+v -95.810577 -29.966383 -34.246368
+v -31.799715 -69.905716 -62.168251
+v -82.204628 -59.143867 -35.069153
+v -27.901575 95.337463 -32.635284
+v -65.497749 74.145546 -33.944809
+v -49.135437 -85.633934 -33.154804
+vt 0.610526 0.513119
+vt 0.608613 0.612561
+vt 0.550821 0.559857
+vt 0.664175 0.518260
+vt 0.707020 0.566233
+vt 0.659508 0.635955
+vt 0.678837 0.739792
+vt 0.631798 0.727068
+vt 0.748214 0.746616
+vt 0.734563 0.627540
+vt 0.704627 0.939177
+vt 0.675442 0.842005
+vt 0.740751 0.834962
+vt 0.626170 0.813516
+vt 0.657654 0.989663
+vt 0.591057 0.756883
+vt 0.550348 0.795822
+vt 0.604991 0.895646
+vt 0.557497 0.669018
+vt 0.502806 0.742363
+vt 0.605432 0.989663
+vt 0.535768 0.915446
+vt 0.507866 0.820330
+vt 0.517665 0.644474
+s 1
+f 245/288 243/289 244/290
+f 246/291 243/289 245/288
+f 248/292 247/293 246/291
+f 249/294 250/295 247/293
+f 252/296 249/294 251/297
+f 255/298 256/299 253/300
+f 256/299 254/301 249/294
+f 255/298 264/302 256/299
+f 254/301 258/303 250/295
+f 259/304 258/303 257/305
+f 262/306 258/303 259/304
+f 263/307 262/306 259/304
+f 247/293 248/292 251/297
+f 251/297 249/294 247/293
+f 252/296 253/300 256/299
+f 252/296 256/299 249/294
+f 249/294 254/301 250/295
+f 264/302 257/305 256/299
+f 256/299 257/305 254/301
+f 264/302 265/308 257/305
+f 265/308 260/309 257/305
+f 257/305 258/303 254/301
+f 260/309 261/310 259/304
+f 260/309 259/304 257/305
+f 263/307 266/311 262/306
+f 266/311 244/290 262/306
+f 258/303 243/289 250/295
+f 250/295 243/289 247/293
+f 247/293 243/289 246/291
+f 263/307 259/304 261/310
+f 243/289 258/303 262/306
+f 243/289 262/306 244/290
+o 010tunnel.001_tunnel.000
+v -19.994535 0.145583 -32.841618
+v -20.733458 0.242623 -32.561462
+v -19.994535 0.145583 -33.207436
+v 19.994537 -0.145587 -32.841614
+v 20.733459 -0.242600 -32.561462
+v 19.994537 -0.145587 -33.207436
+v 0.145584 19.994537 -32.841614
+v 0.242609 20.733471 -32.561462
+v 0.145584 19.994537 -33.207436
+v -0.145584 -19.994539 -32.841614
+v -0.242609 -20.733444 -32.561462
+v -0.145584 -19.994539 -33.207436
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.775456 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.792027 0.014349
+vt 0.797511 0.008866
+vt 0.797511 0.014349
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.792581 0.014534
+vt 0.798065 0.009050
+vt 0.798065 0.014534
+vt 0.775456 0.014442
+vt 0.775456 0.008958
+vt 0.792027 0.008866
+vt 0.775456 0.008958
+vt 0.775456 0.014442
+vt 0.792581 0.009050
+s off
+f 273/312 268/313 267/314
+f 275/315 267/314 269/316
+f 276/317 271/318 270/319
+f 276/320 272/321 278/322
+f 270/323 274/324 273/312
+f 270/323 275/325 272/326
+f 267/327 277/328 276/329
+f 269/330 276/331 278/332
+f 273/312 274/333 268/313
+f 275/315 273/334 267/314
+f 276/317 277/328 271/318
+f 276/320 270/335 272/321
+f 270/323 271/336 274/324
+f 270/323 273/334 275/325
+f 267/327 268/337 277/328
+f 269/330 267/338 276/331
+o 015tunnelneon.001_tunnelneon.007
+v 12.287717 7.337969 -32.869480
+v 7.337968 12.287716 -32.869480
+v 12.287717 7.337969 -33.090019
+v 7.337968 12.287716 -33.090019
+v 12.391678 7.441931 -32.869480
+v 7.441930 12.391678 -32.869480
+v -12.287717 7.337969 -32.869480
+v -7.337968 12.287716 -32.869480
+v -12.287717 7.337969 -33.090019
+v -7.337968 12.287716 -33.090019
+v -12.391678 7.441931 -32.869480
+v -7.441930 12.391678 -32.869480
+vt 0.761502 0.010903
+vt 0.763618 0.009347
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.763618 0.009347
+vt 0.761502 0.010903
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.761502 0.009347
+vt 0.761502 0.009347
+s off
+f 280/339 281/340 279/341
+f 284/342 279/341 283/343
+f 287/344 286/345 285/346
+f 285/346 290/347 289/348
+f 280/339 282/349 281/340
+f 284/342 280/339 279/341
+f 287/344 288/350 286/345
+f 285/346 286/345 290/347
+o 030tunnel.002_tunnel.002
+v -19.994535 0.145583 -26.381851
+v -20.733458 0.242623 -26.101696
+v -19.994535 0.145583 -26.747669
+v 19.994537 -0.145587 -26.381851
+v 20.733459 -0.242600 -26.101700
+v 19.994537 -0.145587 -26.747673
+v 0.145584 19.994537 -26.381851
+v 0.242609 20.733471 -26.101698
+v 0.145584 19.994537 -26.747671
+v -0.145584 -19.994539 -26.381851
+v -0.242609 -20.733444 -26.101698
+v -0.145584 -19.994539 -26.747673
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.775456 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.792027 0.014349
+vt 0.797511 0.008866
+vt 0.797511 0.014349
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.792581 0.014534
+vt 0.798065 0.009050
+vt 0.798065 0.014534
+vt 0.775456 0.014442
+vt 0.775456 0.008958
+vt 0.792027 0.008866
+vt 0.775456 0.008958
+vt 0.775456 0.014442
+vt 0.792581 0.009050
+s off
+f 297/351 292/352 291/353
+f 299/354 291/353 293/355
+f 300/356 295/357 294/358
+f 300/359 296/360 302/361
+f 294/362 298/363 297/351
+f 294/362 299/364 296/365
+f 291/366 301/367 300/368
+f 293/369 300/370 302/371
+f 297/351 298/372 292/352
+f 299/354 297/373 291/353
+f 300/356 301/367 295/357
+f 300/359 294/374 296/360
+f 294/362 295/375 298/363
+f 294/362 297/373 299/364
+f 291/366 292/376 301/367
+f 293/369 291/377 300/370
+o 035tunnelneon.002_tunnelneon.008
+v 12.287717 7.337969 -26.429806
+v 7.337968 12.287716 -26.429806
+v 12.287717 7.337969 -26.650343
+v 7.337968 12.287716 -26.650343
+v 12.391678 7.441931 -26.429806
+v 7.441930 12.391678 -26.429806
+v -12.287717 7.337969 -26.429806
+v -7.337968 12.287716 -26.429806
+v -12.287717 7.337969 -26.650343
+v -7.337968 12.287716 -26.650343
+v -12.391678 7.441931 -26.429806
+v -7.441930 12.391678 -26.429806
+vt 0.761502 0.010903
+vt 0.763618 0.009347
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.763618 0.009347
+vt 0.761502 0.010903
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.761502 0.009347
+vt 0.761502 0.009347
+s off
+f 304/378 305/379 303/380
+f 308/381 303/380 307/382
+f 311/383 310/384 309/385
+f 309/385 314/386 313/387
+f 304/378 306/388 305/379
+f 308/381 304/378 303/380
+f 311/383 312/389 310/384
+f 309/385 310/384 314/386
+o 050tunnel.003_tunnel.003
+v -19.994535 0.145583 -19.922087
+v -20.733458 0.242623 -19.641930
+v -19.994535 0.145583 -20.287905
+v 19.994537 -0.145587 -19.922085
+v 20.733459 -0.242600 -19.641933
+v 19.994537 -0.145587 -20.287907
+v 0.145584 19.994537 -19.922085
+v 0.242609 20.733471 -19.641932
+v 0.145584 19.994537 -20.287907
+v -0.145584 -19.994539 -19.922085
+v -0.242609 -20.733444 -19.641933
+v -0.145584 -19.994539 -20.287907
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.775456 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.792027 0.014349
+vt 0.797511 0.008866
+vt 0.797511 0.014349
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.792581 0.014534
+vt 0.798065 0.009050
+vt 0.798065 0.014534
+vt 0.775456 0.014442
+vt 0.775456 0.008958
+vt 0.792027 0.008866
+vt 0.775456 0.008958
+vt 0.775456 0.014442
+vt 0.792581 0.009050
+s off
+f 321/390 316/391 315/392
+f 323/393 315/392 317/394
+f 324/395 319/396 318/397
+f 324/398 320/399 326/400
+f 318/401 322/402 321/390
+f 318/401 323/403 320/404
+f 315/405 325/406 324/407
+f 317/408 324/409 326/410
+f 321/390 322/411 316/391
+f 323/393 321/412 315/392
+f 324/395 325/406 319/396
+f 324/398 318/413 320/399
+f 318/401 319/414 322/402
+f 318/401 321/412 323/403
+f 315/405 316/415 325/406
+f 317/408 315/416 324/409
+o 055tunnelneon.003_tunnelneon.009
+v 12.287717 7.337969 -19.990133
+v 7.337968 12.287716 -19.990133
+v 12.287717 7.337969 -20.210670
+v 7.337968 12.287716 -20.210670
+v 12.391678 7.441931 -19.990133
+v 7.441930 12.391678 -19.990133
+v -12.287717 7.337969 -19.990133
+v -7.337968 12.287716 -19.990133
+v -12.287717 7.337969 -20.210670
+v -7.337968 12.287716 -20.210670
+v -12.391678 7.441931 -19.990133
+v -7.441930 12.391678 -19.990133
+vt 0.761502 0.010903
+vt 0.763618 0.009347
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.763618 0.009347
+vt 0.761502 0.010903
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.761502 0.009347
+vt 0.761502 0.009347
+s off
+f 328/417 329/418 327/419
+f 332/420 327/419 331/421
+f 335/422 334/423 333/424
+f 333/424 338/425 337/426
+f 328/417 330/427 329/418
+f 332/420 328/417 327/419
+f 335/422 336/428 334/423
+f 333/424 334/423 338/425
+o 070tunnel_tunnel.001
+v -19.994535 0.145583 -13.462321
+v -20.733458 0.242623 -13.182165
+v -19.994535 0.145583 -13.828139
+v 19.994537 -0.145587 -13.462318
+v 20.733459 -0.242600 -13.182168
+v 19.994537 -0.145587 -13.828142
+v 0.145584 19.994537 -13.462320
+v 0.242609 20.733471 -13.182167
+v 0.145584 19.994537 -13.828140
+v -0.145584 -19.994539 -13.462319
+v -0.242609 -20.733444 -13.182167
+v -0.145584 -19.994539 -13.828141
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.775456 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.792027 0.014349
+vt 0.797511 0.008866
+vt 0.797511 0.014349
+vt 0.775456 0.014442
+vt 0.780940 0.008958
+vt 0.780940 0.008958
+vt 0.780940 0.014442
+vt 0.780940 0.014442
+vt 0.775456 0.008958
+vt 0.780940 0.008958
+vt 0.792581 0.014534
+vt 0.798065 0.009050
+vt 0.798065 0.014534
+vt 0.775456 0.014442
+vt 0.775456 0.008958
+vt 0.792027 0.008866
+vt 0.775456 0.008958
+vt 0.775456 0.014442
+vt 0.792581 0.009050
+s off
+f 345/429 340/430 339/431
+f 347/432 339/431 341/433
+f 348/434 343/435 342/436
+f 348/437 344/438 350/439
+f 342/440 346/441 345/429
+f 342/440 347/442 344/443
+f 339/444 349/445 348/446
+f 341/447 348/448 350/449
+f 345/429 346/450 340/430
+f 347/432 345/451 339/431
+f 348/434 349/445 343/435
+f 348/437 342/452 344/438
+f 342/440 343/453 346/441
+f 342/440 345/451 347/442
+f 339/444 340/454 349/445
+f 341/447 339/455 348/448
+o 075tunnelneon.0_tunnelneon.002
+v 12.287717 7.337969 -13.550458
+v 7.337968 12.287716 -13.550458
+v 12.287717 7.337969 -13.770994
+v 7.337968 12.287716 -13.770994
+v 12.391678 7.441931 -13.550458
+v 7.441930 12.391678 -13.550458
+v -12.287717 7.337969 -13.550458
+v -7.337968 12.287716 -13.550458
+v -12.287717 7.337969 -13.770994
+v -7.337968 12.287716 -13.770994
+v -12.391678 7.441931 -13.550458
+v -7.441930 12.391678 -13.550458
+vt 0.761502 0.010903
+vt 0.763618 0.009347
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.763618 0.009347
+vt 0.761502 0.010903
+vt 0.763619 0.010903
+vt 0.761503 0.012459
+vt 0.763619 0.012459
+vt 0.761502 0.009347
+vt 0.761502 0.009347
+s off
+f 352/456 353/457 351/458
+f 356/459 351/458 355/460
+f 359/461 358/462 357/463
+f 357/463 362/464 361/465
+f 352/456 354/466 353/457
+f 356/459 352/456 351/458
+f 359/461 360/467 358/462
+f 357/463 358/462 362/464
+o 085neon_Cube.002
+v 4.475000 0.625000 18.000004
+v 4.475000 0.675000 18.000004
+v 4.475000 0.625000 -81.999992
+v 4.475000 0.675000 -81.999992
+v 4.525000 0.675000 18.000004
+v 4.525000 0.675000 -81.999992
+v -4.475000 0.625000 18.000004
+v -4.475000 0.675000 18.000004
+v -4.475000 0.625000 -81.999992
+v -4.475000 0.675000 -81.999992
+v -4.525000 0.625000 18.000004
+v -4.525000 0.675000 18.000004
+v -4.525000 0.625000 -81.999992
+v -4.525000 0.675000 -81.999992
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+s off
+f 364/468 365/469 363/470
+f 366/471 367/472 368/473
+f 371/474 370/475 369/476
+f 373/477 376/478 375/479
+f 374/480 372/481 376/482
+f 364/468 366/483 365/469
+f 366/471 364/484 367/472
+f 371/474 372/485 370/475
+f 373/477 374/486 376/478
+f 374/480 370/487 372/481
+o 095neon.001_Cube.000
+v 3.475000 0.625000 -6.999996
+v 3.475000 0.675000 -6.999996
+v 3.475000 0.625000 -56.999996
+v 3.475000 0.675000 -56.999996
+v 3.525000 0.675000 -6.999996
+v 3.525000 0.675000 -56.999996
+v -3.475000 0.625000 -6.999996
+v -3.475000 0.675000 -6.999996
+v -3.475000 0.625000 -56.999996
+v -3.475000 0.675000 -56.999996
+v -3.525000 0.625000 -6.999996
+v -3.525000 0.675000 -6.999996
+v -3.525000 0.625000 -56.999996
+v -3.525000 0.675000 -56.999996
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.007540
+vt 0.757633 0.013543
+vt 0.757633 0.007540
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+vt 0.763636 0.013543
+s off
+f 378/488 379/489 377/490
+f 380/491 381/492 382/493
+f 385/494 384/495 383/496
+f 387/497 390/498 389/499
+f 388/500 386/501 390/502
+f 378/488 380/503 379/489
+f 380/491 378/504 381/492
+f 385/494 386/505 384/495
+f 387/497 388/506 390/498
+f 388/500 384/507 386/501
+o 100corridor_corridor
+v -2.050000 -0.150000 -6.850000
+v -2.050000 0.150000 -6.850000
+v -2.050000 0.150000 -56.849998
+v 2.050000 -0.150000 -6.850000
+v 2.050000 0.150000 -6.850000
+v 2.050000 0.150000 -56.849998
+vt 0.789977 0.002280
+vt 0.801860 0.007691
+vt 0.789977 0.007691
+vt 0.797912 0.002247
+vt 0.803543 0.008398
+vt 0.797912 0.008398
+vt 0.801860 0.002280
+vt 0.803543 0.002247
+s off
+f 395/508 391/509 394/510
+f 393/511 395/512 396/513
+f 395/508 392/514 391/509
+f 393/511 392/515 395/512
+o 105stairs_Cube.003
+v -1.738699 0.120202 -7.350870
+v -1.738699 0.172067 -7.350870
+v -1.738699 0.120202 -7.569801
+v -1.738699 0.172067 -7.569801
+v 1.738699 0.120202 -7.350870
+v 1.738699 0.172067 -7.350870
+v 1.738699 0.120202 -7.569801
+v 1.738699 0.172067 -7.569801
+v -1.738699 0.120202 -8.336060
+v -1.738699 0.172067 -8.336060
+v -1.738699 0.120202 -8.554991
+v -1.738699 0.172067 -8.554991
+v 1.738699 0.120202 -8.336060
+v 1.738699 0.172067 -8.336060
+v 1.738699 0.120202 -8.554991
+v 1.738699 0.172067 -8.554991
+v -1.738699 0.120202 -9.321251
+v -1.738699 0.172067 -9.321251
+v -1.738699 0.120202 -9.540182
+v -1.738699 0.172067 -9.540182
+v 1.738699 0.120202 -9.321251
+v 1.738699 0.172067 -9.321251
+v 1.738699 0.120202 -9.540182
+v 1.738699 0.172067 -9.540182
+v -1.738699 0.120202 -10.306440
+v -1.738699 0.172067 -10.306440
+v -1.738699 0.120202 -10.525372
+v -1.738699 0.172067 -10.525372
+v 1.738699 0.120202 -10.306440
+v 1.738699 0.172067 -10.306440
+v 1.738699 0.120202 -10.525372
+v 1.738699 0.172067 -10.525372
+v -1.738699 0.120202 -11.291632
+v -1.738699 0.172067 -11.291632
+v -1.738699 0.120202 -11.510563
+v -1.738699 0.172067 -11.510563
+v 1.738699 0.120202 -11.291632
+v 1.738699 0.172067 -11.291632
+v 1.738699 0.120202 -11.510563
+v 1.738699 0.172067 -11.510563
+v -1.738699 0.120202 -12.276821
+v -1.738699 0.172067 -12.276821
+v -1.738699 0.120202 -12.495752
+v -1.738699 0.172067 -12.495752
+v 1.738699 0.120202 -12.276821
+v 1.738699 0.172067 -12.276821
+v 1.738699 0.120202 -12.495752
+v 1.738699 0.172067 -12.495752
+v -1.738699 0.120202 -13.262012
+v -1.738699 0.172067 -13.262012
+v -1.738699 0.120202 -13.480944
+v -1.738699 0.172067 -13.480944
+v 1.738699 0.120202 -13.262012
+v 1.738699 0.172067 -13.262012
+v 1.738699 0.120202 -13.480944
+v 1.738699 0.172067 -13.480944
+v -1.738699 0.120202 -14.247202
+v -1.738699 0.172067 -14.247202
+v -1.738699 0.120202 -14.466133
+v -1.738699 0.172067 -14.466133
+v 1.738699 0.120202 -14.247202
+v 1.738699 0.172067 -14.247202
+v 1.738699 0.120202 -14.466133
+v 1.738699 0.172067 -14.466133
+v -1.738699 0.120202 -15.232393
+v -1.738699 0.172067 -15.232393
+v -1.738699 0.120202 -15.451324
+v -1.738699 0.172067 -15.451324
+v 1.738699 0.120202 -15.232393
+v 1.738699 0.172067 -15.232393
+v 1.738699 0.120202 -15.451324
+v 1.738699 0.172067 -15.451324
+v -1.738699 0.120202 -16.217583
+v -1.738699 0.172067 -16.217583
+v -1.738699 0.120202 -16.436514
+v -1.738699 0.172067 -16.436514
+v 1.738699 0.120202 -16.217583
+v 1.738699 0.172067 -16.217583
+v 1.738699 0.120202 -16.436514
+v 1.738699 0.172067 -16.436514
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.005959
+vt 0.775601 0.010191
+vt 0.775601 0.005959
+vt 0.779502 0.011768
+vt 0.775269 0.016001
+vt 0.775269 0.011768
+vt 0.789508 0.003110
+vt 0.801822 0.007643
+vt 0.789508 0.007643
+vt 0.783734 0.011768
+vt 0.779502 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+vt 0.779833 0.010191
+vt 0.801822 0.003110
+vt 0.783734 0.016001
+s off
+f 398/516 399/517 397/518
+f 404/519 401/520 403/521
+f 402/522 397/523 401/524
+f 400/525 402/526 404/519
+f 406/527 407/528 405/529
+f 412/530 409/531 411/532
+f 410/533 405/534 409/535
+f 408/536 410/537 412/530
+f 414/538 415/539 413/540
+f 420/541 417/542 419/543
+f 418/544 413/545 417/546
+f 416/547 418/548 420/541
+f 422/549 423/550 421/551
+f 428/552 425/553 427/554
+f 426/555 421/556 425/557
+f 424/558 426/559 428/552
+f 430/560 431/561 429/562
+f 436/563 433/564 435/565
+f 434/566 429/567 433/568
+f 432/569 434/570 436/563
+f 438/571 439/572 437/573
+f 444/574 441/575 443/576
+f 442/577 437/578 441/579
+f 440/580 442/581 444/574
+f 446/582 447/583 445/584
+f 452/585 449/586 451/587
+f 450/588 445/589 449/590
+f 448/591 450/592 452/585
+f 454/593 455/594 453/595
+f 460/596 457/597 459/598
+f 458/599 453/600 457/601
+f 456/602 458/603 460/596
+f 462/604 463/605 461/606
+f 468/607 465/608 467/609
+f 466/610 461/611 465/612
+f 464/613 466/614 468/607
+f 470/615 471/616 469/617
+f 476/618 473/619 475/620
+f 474/621 469/622 473/623
+f 472/624 474/625 476/618
+f 398/516 400/626 399/517
+f 404/519 402/526 401/520
+f 402/522 398/627 397/523
+f 400/525 398/628 402/526
+f 406/527 408/629 407/528
+f 412/530 410/537 409/531
+f 410/533 406/630 405/534
+f 408/536 406/631 410/537
+f 414/538 416/632 415/539
+f 420/541 418/548 417/542
+f 418/544 414/633 413/545
+f 416/547 414/634 418/548
+f 422/549 424/635 423/550
+f 428/552 426/559 425/553
+f 426/555 422/636 421/556
+f 424/558 422/637 426/559
+f 430/560 432/638 431/561
+f 436/563 434/570 433/564
+f 434/566 430/639 429/567
+f 432/569 430/640 434/570
+f 438/571 440/641 439/572
+f 444/574 442/581 441/575
+f 442/577 438/642 437/578
+f 440/580 438/643 442/581
+f 446/582 448/644 447/583
+f 452/585 450/592 449/586
+f 450/588 446/645 445/589
+f 448/591 446/646 450/592
+f 454/593 456/647 455/594
+f 460/596 458/603 457/597
+f 458/599 454/648 453/600
+f 456/602 454/649 458/603
+f 462/604 464/650 463/605
+f 468/607 466/614 465/608
+f 466/610 462/651 461/611
+f 464/613 462/652 466/614
+f 470/615 472/653 471/616
+f 476/618 474/625 473/619
+f 474/621 470/654 469/622
+f 472/624 470/655 474/625
+o 110pillars_Cube.001
+v 1.687466 -19.969999 -6.886095
+v 1.687466 0.030000 -6.886095
+v 1.687466 -19.969999 -7.186095
+v 1.687466 0.030000 -7.186095
+v 1.987466 -19.969999 -6.886095
+v 1.987466 0.030000 -6.886095
+v 1.706908 -0.803956 -7.052800
+v 1.706908 -0.803955 -27.052795
+v 1.706908 -0.955854 -7.052800
+v 1.706908 -0.955852 -27.052795
+v 1.968023 -0.803956 -7.052800
+v 1.968023 -0.803955 -27.052795
+v 3.400000 -20.750000 -6.900000
+v 3.400000 0.750000 -6.900000
+v 3.400000 -20.750000 -7.100000
+v 3.400000 0.750000 -7.100000
+v 3.600000 -20.750000 -6.900000
+v 3.600000 0.750000 -6.900000
+v 3.600000 0.750000 -7.100000
+v 1.687466 -3.544218 -6.886095
+v 1.687466 -3.544218 -7.186095
+v 1.987466 -3.544218 -6.886095
+v -1.687466 -19.969999 -6.886095
+v -1.687466 0.030000 -6.886095
+v -1.687466 -19.969999 -7.186095
+v -1.687466 0.030000 -7.186095
+v -1.987466 -19.969999 -6.886095
+v -1.987466 0.030000 -6.886095
+v -1.706908 -0.803956 -7.052800
+v -1.706908 -0.803955 -27.052795
+v -1.706908 -0.955854 -7.052800
+v -1.706908 -0.955852 -27.052795
+v -1.968023 -0.803956 -7.052800
+v -1.968023 -0.803955 -27.052795
+v -3.400000 -20.750000 -6.900000
+v -3.400000 0.750000 -6.900000
+v -3.400000 -20.750000 -7.100000
+v -3.400000 0.750000 -7.100000
+v -3.600000 -20.750000 -6.900000
+v -3.600000 0.750000 -6.900000
+v -3.600000 0.750000 -7.100000
+v -1.687466 -3.544218 -6.886095
+v -1.687466 -3.544218 -7.186095
+v -1.987466 -3.544218 -6.886095
+vt 0.780320 0.008969
+vt 0.784166 0.012760
+vt 0.784166 0.008969
+vt 0.803395 0.002310
+vt 0.797599 0.006650
+vt 0.797599 0.002310
+vt 0.780320 0.008969
+vt 0.776528 0.012760
+vt 0.776528 0.008969
+vt 0.794020 0.012755
+vt 0.790228 0.016547
+vt 0.790228 0.012755
+vt 0.780320 0.008969
+vt 0.776528 0.012760
+vt 0.776528 0.008969
+vt 0.800780 0.006564
+vt 0.803557 0.002773
+vt 0.803557 0.006564
+vt 0.799708 0.008121
+vt 0.795917 0.011912
+vt 0.795917 0.008121
+vt 0.796278 0.006650
+vt 0.796278 0.002310
+vt 0.776528 0.012760
+vt 0.776528 0.008969
+vt 0.784166 0.012760
+vt 0.780320 0.008969
+vt 0.784166 0.008969
+vt 0.797599 0.006650
+vt 0.803395 0.002310
+vt 0.797599 0.002310
+vt 0.776528 0.012760
+vt 0.780320 0.008969
+vt 0.776528 0.008969
+vt 0.790228 0.016547
+vt 0.794020 0.012755
+vt 0.790228 0.012755
+vt 0.776528 0.012760
+vt 0.780320 0.008969
+vt 0.776528 0.008969
+vt 0.803557 0.002773
+vt 0.800780 0.006564
+vt 0.803557 0.006564
+vt 0.795917 0.011912
+vt 0.799708 0.008121
+vt 0.795917 0.008121
+vt 0.796278 0.006650
+vt 0.796278 0.002310
+vt 0.776528 0.012760
+vt 0.776528 0.008969
+vt 0.780320 0.012760
+vt 0.803395 0.006650
+vt 0.780320 0.012760
+vt 0.794020 0.016547
+vt 0.780320 0.012760
+vt 0.800780 0.002773
+vt 0.799708 0.011912
+vt 0.780320 0.012760
+vt 0.803395 0.006650
+vt 0.780320 0.012760
+vt 0.794020 0.016547
+vt 0.780320 0.012760
+vt 0.800780 0.002773
+vt 0.799708 0.011912
+s off
+f 478/656 497/657 496/658
+f 482/659 496/660 498/661
+f 484/662 485/663 483/664
+f 488/665 483/666 487/667
+f 490/668 491/669 489/670
+f 494/671 489/672 493/673
+f 492/674 494/675 495/676
+f 498/661 477/677 481/678
+f 496/658 479/679 477/680
+f 519/681 500/682 518/683
+f 518/684 504/685 520/686
+f 507/687 506/688 505/689
+f 505/690 510/691 509/692
+f 513/693 512/694 511/695
+f 511/696 516/697 515/698
+f 516/699 514/700 517/701
+f 499/702 520/686 503/703
+f 501/704 518/683 499/705
+f 478/656 480/706 497/657
+f 482/659 478/707 496/660
+f 484/662 486/708 485/663
+f 488/665 484/709 483/666
+f 490/668 492/710 491/669
+f 494/671 490/711 489/672
+f 492/674 490/712 494/675
+f 498/661 496/660 477/677
+f 496/658 497/657 479/679
+f 519/681 502/713 500/682
+f 518/684 500/714 504/685
+f 507/687 508/715 506/688
+f 505/690 506/716 510/691
+f 513/693 514/717 512/694
+f 511/696 512/718 516/697
+f 516/699 512/719 514/700
+f 499/702 518/684 520/686
+f 501/704 519/681 518/683
+o 150floorsymbols
+v -0.337820 0.003068 0.246305
+v -0.337820 0.003068 -1.203815
+v 0.325738 0.003068 0.246305
+v 0.325738 0.003068 -1.203815
+vt 0.933762 0.753760
+vt 0.878215 0.996972
+vt 0.878215 0.753760
+vt 0.933762 0.996972
+s off
+f 523/720 522/721 521/722
+f 523/720 524/723 522/721
diff --git a/assets/models/stageadditive.obj b/assets/models/stageadditive.obj
new file mode 100644
index 0000000..c9d20fd
--- /dev/null
+++ b/assets/models/stageadditive.obj
@@ -0,0 +1,268 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o 000tunnelneonglow.002_tunnelneon.014
+v 15.178578 1.075909 -33.904572
+v 1.075902 15.178576 -33.904572
+v 19.149137 5.046469 -33.587288
+v 5.046463 19.149136 -33.587288
+v -15.178578 1.075909 -33.904572
+v -1.075902 15.178576 -33.904572
+v -19.149137 5.046469 -33.587288
+v -5.046463 19.149136 -33.587288
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.902059 0.500380
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.937021 0.748845
+vt 0.937021 0.748845
+vt 0.902059 0.500380
+s off
+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
+o 000tunnelneonglow.005_tunnelneon.017
+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
+vt 0.900723 0.749152
+vt 0.888596 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
+o 020tunnelneonglow.003_tunnelneon.015
+v 15.178578 1.075909 -27.463730
+v 1.075902 15.178576 -27.463730
+v 19.149137 5.046469 -27.146448
+v 5.046463 19.149136 -27.146448
+v -15.178578 1.075909 -27.463730
+v -1.075902 15.178576 -27.463730
+v -19.149137 5.046469 -27.146448
+v -5.046463 19.149136 -27.146448
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.902059 0.500380
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.937021 0.748845
+vt 0.937021 0.748845
+vt 0.902059 0.500380
+s off
+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
+o 020tunnelneonglow.006_tunnelneon.018
+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
+vt 0.900723 0.749152
+vt 0.888596 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
+o 040tunnelneonglow.004_tunnelneon.016
+v 15.178578 1.075909 -21.022888
+v 1.075902 15.178576 -21.022886
+v 19.149137 5.046469 -20.705606
+v 5.046463 19.149136 -20.705606
+v -15.178578 1.075909 -21.022888
+v -1.075902 15.178576 -21.022886
+v -19.149137 5.046469 -20.705606
+v -5.046463 19.149136 -20.705606
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.902059 0.500380
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.937021 0.748845
+vt 0.937021 0.748845
+vt 0.902059 0.500380
+s off
+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
+o 040tunnelneonglow.007_tunnelneon.019
+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
+vt 0.900723 0.749152
+vt 0.888596 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
+o 060tunnelneonglow.001_tunnelneon.013
+v 15.178578 1.075909 -14.582047
+v 1.075902 15.178576 -14.582046
+v 19.149137 5.046469 -14.264764
+v 5.046463 19.149136 -14.264764
+v -15.178578 1.075909 -14.582047
+v -1.075902 15.178576 -14.582046
+v -19.149137 5.046469 -14.264764
+v -5.046463 19.149136 -14.264764
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.902059 0.500380
+vt 0.902059 0.748845
+vt 0.937021 0.500380
+vt 0.937021 0.748845
+vt 0.937021 0.748845
+vt 0.902059 0.500380
+s off
+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
+o 060tunnelneonglow.002_tunnelneon
+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
+vt 0.900723 0.749152
+vt 0.888596 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
+o 080neonglow_tunnelneon.001
+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
+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
+s off
+f 65/65 66/66 68/67
+f 69/68 71/69 72/70
+f 65/65 68/67 67/71
+f 69/68 72/70 70/72
+o 090neonglow.001_tunnelneon.006
+v 3.762471 0.875742 -7.080121
+v 3.762460 0.875749 -58.498669
+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
+v -3.762471 0.875742 -7.080121
+v -3.762460 0.875749 -58.498669
+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
+s off
+f 78/73 77/74 74/75
+f 75/76 73/77 77/74
+f 80/78 83/79 84/80
+f 83/79 79/81 81/82
+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
+o 120floorglow_Plane.001
+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
diff --git a/assets/models/stepback.obj b/assets/models/stepback.obj
new file mode 100644
index 0000000..1a49ca0
--- /dev/null
+++ b/assets/models/stepback.obj
@@ -0,0 +1,14 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o 160stepback
+v -0.250000 -0.125000 0.000000
+v 0.250000 -0.125000 0.000000
+v -0.250000 0.125000 -0.000000
+v 0.250000 0.125000 -0.000000
+vt 0.874754 0.377119
+vt 0.750478 0.499280
+vt 0.750478 0.377119
+vt 0.874754 0.499280
+s off
+f 2/1 3/2 1/3
+f 2/1 4/4 3/2
diff --git a/assets/models/wrong.obj b/assets/models/wrong.obj
new file mode 100644
index 0000000..03ba852
--- /dev/null
+++ b/assets/models/wrong.obj
@@ -0,0 +1,14 @@
+# Blender v2.79 (sub 0) OBJ File: 'stage.blend'
+# www.blender.org
+o miss
+v -0.150000 -0.150000 0.000000
+v 0.150000 -0.150000 0.000000
+v -0.150000 0.150000 -0.000000
+v 0.150000 0.150000 -0.000000
+vt 0.781058 0.250420
+vt 0.750210 0.312117
+vt 0.750210 0.250420
+vt 0.781058 0.312117
+s off
+f 2/1 3/2 1/3
+f 2/1 4/4 3/2
diff --git a/assets/shaders/stage.js b/assets/shaders/stage.js
new file mode 100644
index 0000000..cb9bddf
--- /dev/null
+++ b/assets/shaders/stage.js
@@ -0,0 +1,28 @@
+module.exports = {
+ vertexShader : `
+ varying vec2 uvs;
+ varying vec3 worldPos;
+ void main() {
+ uvs.xy = uv.xy;
+ vec4 p = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
+ worldPos = (modelMatrix * vec4( position, 1.0 )).xyz;
+ gl_Position = p;
+ }
+ `,
+
+ fragmentShader: `
+ #define FOG_RADIUS 50.0
+ #define FOG_FALLOFF 45.0
+ varying vec2 uvs;
+ varying vec3 worldPos;
+ uniform vec3 color;
+ uniform vec3 fogColor;
+ uniform sampler2D src;
+
+ void main() {
+ vec4 col = texture2D(src, uvs);
+ col.xyz = mix(fogColor, col.xyz, clamp(distance(worldPos, vec3(0., 0., -FOG_RADIUS)) / FOG_FALLOFF, 0., 1.));
+ gl_FragColor = col;
+ }
+ `
+};
diff --git a/src/assets.html b/src/assets.html
index acc7701..824028e 100644
--- a/src/assets.html
+++ b/src/assets.html
@@ -13,9 +13,20 @@
+
+
+
+
+
+
+
+
+
+
@@ -33,31 +44,29 @@
{% endfor %}
+
-
+
-
-
-
-
+
@@ -119,15 +128,15 @@
diff --git a/src/components/audio-columns.js b/src/components/audio-columns.js
index 4358e55..76ceb19 100644
--- a/src/components/audio-columns.js
+++ b/src/components/audio-columns.js
@@ -1,9 +1,5 @@
-/**
- * 72 values per box.
- * Divided by 3 (x, y, z) is 24 vertices.
- * 6 vertices per side of the cube (2 faces per side).
- */
-const NUM_VALUES_PER_BOX = 72;
+
+const NUM_VALUES_PER_BOX = 90;
/**
* Column bars moving in sync to the audio via audio analyser.
@@ -19,6 +15,10 @@ AFRAME.registerComponent('audio-columns', {
},
init: function () {
+ var objData = document.getElementById('audiocolumnObj').data;
+ var loader = new THREE.OBJLoader();
+ var columnGeometry = loader.parse(objData).children[0].geometry;
+
this.analyser = this.data.analyser.components.audioanalyser;
// Number of levels is half the FFT size.
@@ -29,7 +29,7 @@ AFRAME.registerComponent('audio-columns', {
let zPosition = 0;
for (let i = 0; i < this.frequencyBinCount; i++) {
for (let side = 0; side < 2; side++) {
- const box = new THREE.BoxBufferGeometry();
+ const box = columnGeometry.clone();
this.initBox(box, side === 0 ? 1 : -1, zPosition);
geometries.push(box);
// Move Z back.
@@ -38,7 +38,7 @@ AFRAME.registerComponent('audio-columns', {
}
this.geometry = THREE.BufferGeometryUtils.mergeBufferGeometries(geometries);
- const mesh = new THREE.Mesh(this.geometry, this.el.sceneEl.systems.materials.black);
+ const mesh = new THREE.Mesh(this.geometry, this.el.sceneEl.systems.materials.stageNormal);
this.el.setObject3D('mesh', mesh);
},
@@ -63,8 +63,8 @@ AFRAME.registerComponent('audio-columns', {
// Set position and scale of box via vertices.
for (let v = 0; v < box.attributes.position.array.length; v += 3) {
// Apply thickness to X and Z.
- box.attributes.position.array[v] *= data.thickness;
- box.attributes.position.array[v + 2] *= data.thickness;
+ //box.attributes.position.array[v] *= data.thickness;
+ //box.attributes.position.array[v + 2] *= data.thickness;
// Apply zPosition.
box.attributes.position.array[v + 2] += zPosition;
diff --git a/src/components/floor-shader.js b/src/components/floor-shader.js
index a1aab8a..7cbadcd 100644
--- a/src/components/floor-shader.js
+++ b/src/components/floor-shader.js
@@ -1,6 +1,6 @@
AFRAME.registerShader('floorShader', {
schema: {
- src: {type: 'map', is: 'uniform'},
+ color: {type: 'vec3', is: 'uniform', default: {x: 0, y: 0, z: 0}},
normalMap: {type: 'map', is: 'uniform'},
envMap: {type: 'map', is: 'uniform'},
hitRight: {type: 'vec3', is: 'uniform', default: {x: 0, y: 1, z: 0}},
@@ -21,7 +21,7 @@ AFRAME.registerShader('floorShader', {
fragmentShader: `
varying vec2 uvs;
varying vec3 worldPos;
- uniform sampler2D src;
+ uniform vec3 color;
uniform sampler2D normalMap;
uniform sampler2D envMap;
uniform vec3 hitRight;
@@ -33,9 +33,12 @@ AFRAME.registerShader('floorShader', {
void main() {
vec2 p = uvs.xy - 0.5;
+ float border = smoothstep(0.49, 0.495, abs(p.x)) + smoothstep(0.49, 0.495, abs(p.y));
p*= 4.0;
- vec3 col = texture2D(src, uvs).xyz;
+ vec3 col = color;
+ vec3 col2 = color;
+ vec4 outColor;
col += drawCircle(worldPos, hitRight, 0.04, 0.05, vec3(1.0, 0.4, 0.4));
col += drawCircle(worldPos, hitRight, 0.02, 0.005, vec3(1.0, 1.0, 1.0));
@@ -48,7 +51,11 @@ AFRAME.registerShader('floorShader', {
vec3 reflectVec = normalize(reflect(normalize(worldPos - cameraPosition), normal));
//vec3 reflectView = normalize((viewMatrix * vec4(reflectVec, 0.0)).xyz + vec3(0.0, 0.0, 1.0));
- gl_FragColor = vec4(texture2D(envMap, reflectVec.xy * vec2(0.3, 1.0) + vec2(0.75, -cameraPosition.z * 0.05)).xyz * 0.08 + col, 0.9 + col.x);
+ col2 = texture2D(envMap, reflectVec.xy * vec2(0.3, 1.0) + vec2(0.75, -cameraPosition.z * 0.05)).xyz * 0.08 + col;
+
+ outColor = smoothstep(vec4(col2, 0.9 + col.x), vec4(1.0), vec4(border));
+
+ gl_FragColor = outColor;
}
`
});
diff --git a/src/components/materials.js b/src/components/materials.js
index 515306a..40702d8 100644
--- a/src/components/materials.js
+++ b/src/components/materials.js
@@ -1,20 +1,57 @@
+const stageShaders = require('../../assets/shaders/stage.js')
+
AFRAME.registerSystem('materials', {
init: function () {
this.black = new THREE.MeshLambertMaterial({color: 0x000000, flatShading: true});
this.default = new THREE.MeshLambertMaterial({color: 0xff0000, flatShading: true});
this.neon = new THREE.MeshBasicMaterial({color: 0x9999ff, fog: false});
+
+ this.stageNormal = new THREE.ShaderMaterial({
+ uniforms: {
+ color: {value: new THREE.Vector3(0, 0, 0) },
+ fogColor: {value: new THREE.Vector3(0, 0.48, 0.72) },
+ src: {value: new THREE.TextureLoader().load(document.getElementById('atlasImg').src)},
+ },
+ vertexShader: stageShaders.vertexShader,
+ fragmentShader: stageShaders.fragmentShader,
+ fog: false,
+ transparent: true
+ });
}
});
AFRAME.registerComponent('materials', {
schema: {
- default: 'black',
- oneOf: ['black', 'default', 'neon']
+ name: { default: ''},
+ recursive: { default: true}
},
update: function () {
- this.el.object3D.traverse(o => {
- o.material = this.system[this.data]
- });
+ var mesh;
+ var material = this.system[this.data.name];
+ if (!material) {
+ console.warn(`undefined material "${this.system[this.data.name]}"`);
+ return;
+ }
+ mesh = this.el.getObject3D('mesh');
+ if (!mesh) {
+ console.log('not loaded yet');
+ this.el.addEventListener('model-loaded', this.applyMaterial.bind(this));
+ } else {
+ this.applyMaterial(mesh);
+ }
+ },
+
+ applyMaterial: function (obj, material) {
+ var material = this.system[this.data.name];
+ if (this.data.recursive) {
+ obj.detail.model.traverse(o => {
+ if (o.type === 'Mesh') {
+ o.material = material;
+ }
+ });
+ } else {
+ obj.material = material;
+ }
}
});
diff --git a/src/components/stage-shader.js b/src/components/stage-shader.js
new file mode 100644
index 0000000..4d7a6b6
--- /dev/null
+++ b/src/components/stage-shader.js
@@ -0,0 +1,35 @@
+AFRAME.registerShader('stageShader', {
+ schema: {
+ color: {type: 'vec3', is: 'uniform', default: {x: 0, y: 0, z: 0}},
+ fogColor: {type: 'vec3', is: 'uniform', default: {x: 0, y: 0.48, z: 0.72}},
+ src: {type: 'map', is: 'uniform'},
+
+ },
+
+ vertexShader: `
+ varying vec2 uvs;
+ varying vec3 worldPos;
+ void main() {
+ uvs.xy = uv.xy;
+ vec4 p = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
+ worldPos = (modelMatrix * vec4( position, 1.0 )).xyz;
+ gl_Position = p;
+ }
+ `,
+
+ fragmentShader: `
+ #define FOG_RADIUS 50.0
+ #define FOG_FALLOFF 45.0
+ varying vec2 uvs;
+ varying vec3 worldPos;
+ uniform vec3 color;
+ uniform vec3 fogColor;
+ uniform sampler2D src;
+
+ void main() {
+ vec4 col = texture2D(src, uvs);
+ col.xyz = mix(fogColor, col.xyz, clamp(distance(worldPos, vec3(0., 0., -FOG_RADIUS)) / FOG_FALLOFF, 0., 1.));
+ gl_FragColor = col;
+ }
+ `
+});
diff --git a/src/index.html b/src/index.html
index 7fafc7e..b326c67 100644
--- a/src/index.html
+++ b/src/index.html
@@ -17,6 +17,7 @@
+ material="shader: flat; src: #atlasImg; transparent: true; opacity: 0">
{% if not IS_PRODUCTION %}
+
@@ -52,15 +55,14 @@
audio-columns="analyser: #audioAnalyser; height: 28; mirror: 18; scale: 9; thickness: 0.6; separation: 0.55"
position="0 -19 5">
+
-
@@ -80,6 +82,16 @@
id="stageNeon"
mixin="neonAnimation"
obj-model="obj: #stageNeonObj">
+-->
+
+
+
@@ -100,13 +112,12 @@
-
-
+ obj-model="obj:#smokeObj"
+ material="src: #atlasImg; fog: false; shader: flat; transparent: true">
+
+
@@ -124,13 +135,15 @@
+