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 @@ +