diff --git a/godot/Demos/RainEffects3D.tscn b/godot/Demos/RainEffects3D.tscn new file mode 100644 index 0000000..8ebbd85 --- /dev/null +++ b/godot/Demos/RainEffects3D.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/node-essential-helpers/DemoScreenSlide.gd" type="Script" id=1] +[ext_resource path="res://addons/node-essential-helpers/SceneSlideshow.gd" type="Script" id=2] +[ext_resource path="res://Screens/RainEffects3DDemo.tscn" type="PackedScene" id=3] + +[node name="RainEffects3D" type="Node2D"] +script = ExtResource( 2 ) + +[node name="RainEffects3DDemo" type="Node2D" parent="."] +script = ExtResource( 1 ) +scene = ExtResource( 3 ) diff --git a/godot/Demos/labels/demo_labels.csv b/godot/Demos/labels/demo_labels.csv index 0e8bd47..9a8275b 100644 --- a/godot/Demos/labels/demo_labels.csv +++ b/godot/Demos/labels/demo_labels.csv @@ -14,4 +14,5 @@ muzzleflash3d_muzzleflash3ddemo,"Using simple texture cards we can make a comple vines3d_vines3ddemo,"Using a static mesh of tubes we can manipulate the vertices and discard parts of the mesh with a simple shader for a vine growing effect." flames3d_flames3ddemo,"With multiple layers of scrolling textures on a particle, you can achieve complicated non repeating patterns with a low number of particles." fireburst3d_fireburst3ddemo,"Using warping and four texture variations we can create a fluid fire effect that doesn't look repetitive. Great for dragons and flame throwers." -stylizedexplosion3d_stylizedexplosion3ddemo,"While particles and billboard are often used for explosions, another approach that offers great control is a custom mesh." \ No newline at end of file +stylizedexplosion3d_stylizedexplosion3ddemo,"While particles and billboard are often used for explosions, another approach that offers great control is a custom mesh." +raineffects3d_raineffects3ddemo,"Custom shaders applied as Next Pass materials are great for layering effects on models. Here one pass adds streaks of rain and another adds splashes above the model." \ No newline at end of file diff --git a/godot/Demos/labels/demo_labels.en.translation b/godot/Demos/labels/demo_labels.en.translation index c57afc9..3d74aee 100644 Binary files a/godot/Demos/labels/demo_labels.en.translation and b/godot/Demos/labels/demo_labels.en.translation differ diff --git a/godot/Main/nodes_metadata.json b/godot/Main/nodes_metadata.json index f14dc67..5207e76 100644 --- a/godot/Main/nodes_metadata.json +++ b/godot/Main/nodes_metadata.json @@ -18,7 +18,8 @@ "Vines3D", "Flames3D", "FireBurst3D", - "StylizedExplosion3D" + "StylizedExplosion3D", + "RainEffects3D" ] }, "search_terms": { diff --git a/godot/RainEffects3D/drop.png b/godot/RainEffects3D/drop.png new file mode 100644 index 0000000..397ec2e Binary files /dev/null and b/godot/RainEffects3D/drop.png differ diff --git a/godot/RainEffects3D/drop.png.import b/godot/RainEffects3D/drop.png.import new file mode 100644 index 0000000..0228374 --- /dev/null +++ b/godot/RainEffects3D/drop.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/drop.png-b5f1cd15bb3f4b812054ea2cef7a8456.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://RainEffects3D/drop.png" +dest_files=[ "res://.import/drop.png-b5f1cd15bb3f4b812054ea2cef7a8456.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=true +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/godot/RainEffects3D/drop_uvs.png b/godot/RainEffects3D/drop_uvs.png new file mode 100644 index 0000000..8618bae Binary files /dev/null and b/godot/RainEffects3D/drop_uvs.png differ diff --git a/godot/RainEffects3D/drop_uvs.png.import b/godot/RainEffects3D/drop_uvs.png.import new file mode 100644 index 0000000..70cc91d --- /dev/null +++ b/godot/RainEffects3D/drop_uvs.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/drop_uvs.png-bea7bb603fbf69907605a62268d6b1ba.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://RainEffects3D/drop_uvs.png" +dest_files=[ "res://.import/drop_uvs.png-bea7bb603fbf69907605a62268d6b1ba.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=true +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/godot/RainEffects3D/rain_object.obj b/godot/RainEffects3D/rain_object.obj new file mode 100644 index 0000000..92d01f8 --- /dev/null +++ b/godot/RainEffects3D/rain_object.obj @@ -0,0 +1,1810 @@ +# Blender v3.2.0 OBJ File: '' +# www.blender.org +o Cube +v -4.000000 1.000000 0.000000 +v 0.000000 1.000000 -4.000000 +v 0.000000 0.000000 0.000000 +v 3.800000 1.000000 -4.000000 +v 4.000000 1.000000 -3.800000 +v 3.876537 1.000000 -3.984776 +v 3.941422 1.000000 -3.941422 +v 3.984776 1.000000 -3.876537 +v 3.800000 0.200000 -4.000000 +v 4.000000 0.200000 -3.800000 +v 3.800000 0.000000 -3.800000 +v 3.876537 0.200000 -3.984776 +v 3.941422 0.200000 -3.941422 +v 3.800000 0.123463 -3.984776 +v 3.877405 0.122595 -3.967383 +v 3.931613 0.126816 -3.931613 +v 3.915470 0.084530 -3.915470 +v 3.984776 0.123463 -3.800000 +v 3.941422 0.058579 -3.800000 +v 3.984776 0.200000 -3.876537 +v 3.967383 0.122595 -3.877405 +v 3.931613 0.068387 -3.873184 +v 3.800000 0.015224 -3.876537 +v 3.800000 0.058579 -3.941422 +v 3.876537 0.015224 -3.800000 +v 3.877405 0.032618 -3.877405 +v 3.873184 0.068387 -3.931613 +v 3.800000 0.800000 4.000000 +v 4.000000 0.800000 3.800000 +v 3.800000 1.000000 3.800000 +v 3.876537 0.800000 3.984776 +v 3.941422 0.800000 3.941422 +v 3.800000 0.876537 3.984776 +v 3.877405 0.877405 3.967383 +v 3.931613 0.873184 3.931613 +v 3.915470 0.915470 3.915470 +v 3.984776 0.876537 3.800000 +v 3.941422 0.941421 3.800000 +v 3.984776 0.800000 3.876537 +v 3.967383 0.877405 3.877405 +v 3.931613 0.931613 3.873184 +v 3.800000 0.984776 3.876537 +v 3.800000 0.941421 3.941422 +v 3.876537 0.984776 3.800000 +v 3.877405 0.967382 3.877405 +v 3.873184 0.931613 3.931613 +v 4.000000 0.200000 3.800000 +v 3.800000 0.200000 4.000000 +v 3.800000 0.000000 3.800000 +v 3.984776 0.200000 3.876537 +v 3.941422 0.200000 3.941422 +v 3.984776 0.123463 3.800000 +v 3.967383 0.122595 3.877405 +v 3.931613 0.126816 3.931613 +v 3.915470 0.084530 3.915470 +v 3.800000 0.123463 3.984776 +v 3.800000 0.058579 3.941422 +v 3.876537 0.200000 3.984776 +v 3.877405 0.122595 3.967383 +v 3.873184 0.068387 3.931613 +v 3.876537 0.015224 3.800000 +v 3.941422 0.058579 3.800000 +v 3.800000 0.015224 3.876537 +v 3.877405 0.032618 3.877405 +v 3.931613 0.068387 3.873184 +v -4.000000 1.000000 -3.800000 +v -3.800000 1.000000 -4.000000 +v -3.984776 1.000000 -3.876537 +v -3.941422 1.000000 -3.941422 +v -3.876537 1.000000 -3.984776 +v -3.800000 0.000000 -3.800000 +v -4.000000 0.200000 -3.800000 +v -3.800000 0.200000 -4.000000 +v -3.876537 0.015224 -3.800000 +v -3.941422 0.058579 -3.800000 +v -3.800000 0.015224 -3.876537 +v -3.877405 0.032618 -3.877405 +v -3.931613 0.068387 -3.873184 +v -3.915470 0.084530 -3.915470 +v -3.984776 0.200000 -3.876537 +v -3.941422 0.200000 -3.941422 +v -3.984776 0.123463 -3.800000 +v -3.967383 0.122595 -3.877405 +v -3.931613 0.126816 -3.931613 +v -3.800000 0.123463 -3.984776 +v -3.800000 0.058579 -3.941422 +v -3.876537 0.200000 -3.984776 +v -3.877405 0.122595 -3.967383 +v -3.873184 0.068387 -3.931613 +v -3.800000 0.800000 4.000000 +v -3.800000 1.089443 3.821115 +v -4.000000 1.000000 3.735313 +v -3.800000 0.883345 3.986383 +v -3.800000 0.967619 3.947606 +v -3.876537 0.837508 3.979852 +v -3.893244 0.921254 3.962764 +v -3.899172 0.974619 3.942116 +v -3.927554 0.980700 3.921609 +v -3.876537 1.086365 3.807122 +v -3.941422 1.068286 3.785902 +v -3.800000 1.039990 3.889571 +v -3.893244 1.022620 3.898962 +v -3.940644 1.010646 3.892719 +v -3.984776 0.945747 3.836604 +v -3.941422 0.888687 3.922475 +v -3.984776 1.037959 3.760686 +v -3.966422 0.990075 3.870308 +v -3.940644 0.956299 3.927750 +v -3.800000 0.000000 3.800000 +v -3.800000 0.200000 4.000000 +v -4.000000 0.200000 3.737801 +v -3.800000 0.015224 3.886071 +v -3.800000 0.058579 3.954303 +v -3.876537 0.015224 3.785731 +v -3.877405 0.032618 3.872333 +v -3.873184 0.068387 3.930065 +v -3.915470 0.084530 3.902326 +v -3.876537 0.200000 3.970507 +v -3.941422 0.200000 3.910322 +v -3.800000 0.123463 3.994310 +v -3.877405 0.122595 3.962311 +v -3.931613 0.126816 3.911894 +v -3.984776 0.123463 3.752069 +v -3.941422 0.058579 3.768900 +v -3.984776 0.200000 3.828606 +v -3.967383 0.122595 3.844351 +v -3.931613 0.068387 3.853464 +v -4.000000 0.200000 0.000000 +v -3.800000 0.000000 0.000000 +v -3.984776 0.123463 0.000000 +v -3.941422 0.058579 0.000000 +v -3.876537 0.015224 0.000000 +v 3.800000 1.000000 0.200000 +v 4.000000 0.800000 -0.200463 +v 3.800000 1.200000 0.000000 +v 3.876537 0.984776 0.108133 +v 3.941422 0.941421 -0.000232 +v 3.800000 1.015224 0.123463 +v 3.893244 1.000000 0.066662 +v 3.940644 0.966525 -0.000239 +v 3.927554 1.000031 -0.000136 +v 3.984776 0.891902 -0.123749 +v 3.941422 1.000191 -0.058714 +v 3.984776 0.876537 -0.108596 +v 3.966422 0.933259 -0.067071 +v 3.940644 1.000072 -0.033614 +v 3.800000 1.123463 0.015224 +v 3.800000 1.058579 0.058579 +v 3.876537 1.108381 -0.015259 +v 3.893244 1.066837 -0.000039 +v 3.899172 1.033499 0.033436 +v 4.000000 0.200000 0.000000 +v 3.800000 0.000000 0.000000 +v 3.984776 0.123463 0.000000 +v 3.941422 0.058579 0.000000 +v 3.876537 0.015224 0.000000 +v -4.000000 2.858618 0.000000 +v -3.800000 3.000000 0.000000 +v -3.984776 2.912723 0.000000 +v -3.941422 2.958590 0.000000 +v -3.876537 2.989238 0.000000 +v -3.800000 3.000000 -3.800000 +v -3.800000 2.800000 -4.000000 +v -4.000000 2.856364 -3.800000 +v -3.800000 2.984776 -3.876537 +v -3.800000 2.941422 -3.941422 +v -3.876537 2.989066 -3.800000 +v -3.893244 2.971153 -3.893244 +v -3.899172 2.944289 -3.940644 +v -3.927554 2.937762 -3.927554 +v -3.876537 2.812930 -3.984776 +v -3.941422 2.828182 -3.941422 +v -3.800000 2.876537 -3.984776 +v -3.893244 2.898876 -3.966422 +v -3.940644 2.913380 -3.940644 +v -3.984776 2.911331 -3.800000 +v -3.941422 2.957930 -3.800000 +v -3.984776 2.843434 -3.876537 +v -3.966422 2.917698 -3.893244 +v -3.940644 2.953726 -3.899172 +v 3.800000 3.000000 -4.000000 +v 4.000000 3.000000 -3.800000 +v 3.876537 3.000000 -3.984776 +v 3.941422 3.000000 -3.941422 +v 3.984776 3.000000 -3.876537 +v 4.000000 3.000000 -0.200482 +v 3.800000 3.000000 0.000000 +v 3.984776 3.000000 -0.123761 +v 3.941422 3.000000 -0.058720 +v 3.876537 3.000000 -0.015261 +v 0.000000 0.200000 -4.000000 +v 0.000000 0.000000 -3.800000 +v 0.000000 0.123463 -3.984776 +v 0.000000 0.058579 -3.941422 +v 0.000000 0.015224 -3.876537 +v 0.000000 0.800000 4.000000 +v 0.200000 1.000000 3.800000 +v 0.000000 1.200000 3.152786 +v -0.200000 1.089443 3.821115 +v 0.045880 0.876537 3.984776 +v 0.100000 0.941421 3.941422 +v -0.045880 0.883345 3.986383 +v -0.000000 0.923930 3.968194 +v 0.032322 0.965448 3.916394 +v -0.000000 1.013023 3.837874 +v 0.123463 1.015224 3.651528 +v 0.058579 1.058579 3.476393 +v 0.154119 0.984776 3.876537 +v 0.079289 1.000000 3.833353 +v 0.036612 1.041871 3.739716 +v -0.015224 1.202058 3.319812 +v -0.058579 1.181770 3.505475 +v 0.015224 1.123463 3.301258 +v 0.000000 1.095308 3.593759 +v -0.036612 1.064000 3.748077 +v -0.154120 1.039990 3.889571 +v -0.100000 0.967619 3.947606 +v -0.123463 1.142225 3.681509 +v -0.079289 1.041598 3.845683 +v -0.032322 0.983356 3.921249 +v 0.000000 0.200000 4.000000 +v 0.000000 0.000000 3.800000 +v 0.000000 0.123463 3.984776 +v 0.000000 0.058579 3.941422 +v 0.000000 0.015224 3.876537 +v 0.200000 1.000000 0.200000 +v 0.200000 1.200000 0.000000 +v 0.000000 1.200000 0.200000 +v 0.200000 1.015224 0.123463 +v 0.200000 1.058579 0.058579 +v 0.123463 1.015224 0.200000 +v 0.122595 1.032618 0.122595 +v 0.126816 1.068387 0.068387 +v 0.084530 1.084530 0.084530 +v 0.123463 1.200000 0.015224 +v 0.058579 1.200000 0.058579 +v 0.200000 1.123463 0.015224 +v 0.122595 1.122595 0.032618 +v 0.068387 1.126816 0.068387 +v 0.015224 1.123463 0.200000 +v 0.058579 1.058579 0.200000 +v 0.015224 1.200000 0.123463 +v 0.032618 1.122595 0.122595 +v 0.068387 1.068387 0.126816 +v -0.200000 3.000000 -3.800000 +v 0.000000 3.200000 -3.800000 +v 0.200000 2.800000 -4.000000 +v -0.123463 3.015224 -3.800000 +v -0.058579 3.058578 -3.800000 +v -0.108239 2.984776 -3.876537 +v -0.066789 3.000000 -3.893244 +v -0.033487 3.033486 -3.899172 +v -0.000000 3.000000 -3.927554 +v 0.015224 3.108239 -3.876537 +v 0.058579 3.000000 -3.941422 +v -0.015224 3.123463 -3.800000 +v 0.000000 3.066789 -3.893244 +v 0.033487 3.000000 -3.940644 +v 0.108239 2.876537 -3.984776 +v -0.000000 2.941422 -3.941422 +v 0.123463 2.891761 -3.984776 +v 0.066789 2.933211 -3.966422 +v -0.000000 2.966513 -3.940644 +v 0.000000 2.676393 0.200000 +v 0.200000 3.000000 0.000000 +v 0.000000 3.200000 -0.220666 +v -0.200000 3.000000 0.000000 +v 0.015224 2.750629 0.123463 +v 0.058579 2.838197 0.058579 +v -0.015224 2.778049 0.167830 +v 0.000000 2.870880 0.078295 +v 0.037684 2.938543 0.035838 +v 0.000000 2.983691 -0.002729 +v 0.123463 3.048885 -0.020113 +v 0.058579 3.104060 -0.069111 +v 0.123463 2.925764 0.015224 +v 0.083579 2.985007 -0.000938 +v 0.037684 3.022091 -0.040068 +v -0.015224 3.123463 -0.170045 +v -0.058579 3.058578 -0.110333 +v 0.015224 3.157125 -0.139536 +v 0.000000 3.075490 -0.087266 +v -0.037684 3.031994 -0.037194 +v -0.123463 2.953184 0.059590 +v -0.058579 2.875245 0.118524 +v -0.123463 3.015224 -0.050621 +v -0.083579 2.992265 -0.002866 +v -0.037684 2.939528 0.030072 +v 0.200000 5.000000 -3.800000 +v 0.200000 4.800000 -4.000000 +v 0.000000 4.800000 -3.800000 +v 0.200000 4.984776 -3.876537 +v 0.200000 4.941422 -3.941422 +v 0.123463 4.984776 -3.800000 +v 0.122595 4.967382 -3.877405 +v 0.126816 4.931613 -3.931613 +v 0.084530 4.915470 -3.915470 +v 0.123463 4.800000 -3.984776 +v 0.058579 4.800000 -3.941422 +v 0.200000 4.876537 -3.984776 +v 0.122595 4.877405 -3.967383 +v 0.068387 4.873184 -3.931613 +v 0.015224 4.876537 -3.800000 +v 0.058579 4.941422 -3.800000 +v 0.015224 4.800000 -3.876537 +v 0.032618 4.877405 -3.877405 +v 0.068387 4.931613 -3.873184 +v 3.800000 5.000000 -3.800000 +v 4.000000 4.800000 -3.800000 +v 3.800000 4.800000 -4.000000 +v 3.876537 4.984776 -3.800000 +v 3.941422 4.941422 -3.800000 +v 3.800000 4.984776 -3.876537 +v 3.877405 4.967382 -3.877405 +v 3.931613 4.931613 -3.873184 +v 3.915470 4.915470 -3.915470 +v 3.984776 4.800000 -3.876537 +v 3.941422 4.800000 -3.941422 +v 3.984776 4.876537 -3.800000 +v 3.967383 4.877405 -3.877405 +v 3.931613 4.873184 -3.931613 +v 3.800000 4.876537 -3.984776 +v 3.800000 4.941422 -3.941422 +v 3.876537 4.800000 -3.984776 +v 3.877405 4.877405 -3.967383 +v 3.873184 4.931613 -3.931613 +v 4.000000 4.800000 -2.009828 +v 3.800000 5.000000 -2.000000 +v 3.984776 4.876536 -2.006067 +v 3.941422 4.941422 -2.002879 +v 3.876537 4.984776 -2.000748 +v 4.000000 4.764464 -1.649026 +v 3.800000 4.961571 -1.609819 +v 3.984776 4.839894 -1.634022 +v 3.941422 4.903840 -1.621303 +v 3.876537 4.946567 -1.612804 +v 4.000000 4.662089 -1.311539 +v 3.800000 4.847759 -1.234633 +v 3.984776 4.733141 -1.282109 +v 3.941422 4.793377 -1.257159 +v 3.876537 4.833625 -1.240488 +v 4.000000 4.495841 -1.000512 +v 3.800000 4.662939 -0.888860 +v 3.984776 4.559787 -0.957784 +v 3.941422 4.613997 -0.921562 +v 3.876537 4.650219 -0.897359 +v 4.000000 4.272109 -0.727893 +v 3.800000 4.414214 -0.585786 +v 3.984776 4.326490 -0.673511 +v 3.941422 4.372592 -0.627408 +v 3.876537 4.403397 -0.596604 +v 4.000000 3.999489 -0.504159 +v 3.800000 4.111140 -0.337061 +v 3.984776 4.042216 -0.440214 +v 3.941422 4.078438 -0.386003 +v 3.876537 4.102641 -0.349780 +v 4.000000 3.688460 -0.337911 +v 3.800000 3.765367 -0.152241 +v 3.984776 3.717891 -0.266858 +v 3.941422 3.742841 -0.206622 +v 3.876537 3.759513 -0.166374 +v 4.000000 3.348692 -0.234844 +v 3.800000 3.390181 -0.038429 +v 3.984776 3.364569 -0.159679 +v 3.941422 3.378029 -0.095958 +v 3.876537 3.387022 -0.053381 +v 0.000000 4.800000 -2.009828 +v 0.200000 5.000000 -2.000000 +v 0.015224 4.876536 -2.006067 +v 0.058579 4.941422 -2.002879 +v 0.123463 4.984776 -2.000748 +v 0.000000 3.350974 -0.235536 +v 0.200000 3.390181 -0.038429 +v 0.015224 3.365978 -0.160106 +v 0.058579 3.378697 -0.096161 +v 0.123463 3.387196 -0.053433 +v 0.000000 3.688460 -0.337911 +v 0.200000 3.765367 -0.152241 +v 0.015224 3.717891 -0.266858 +v 0.058579 3.742841 -0.206622 +v 0.123463 3.759513 -0.166374 +v 0.000000 3.999489 -0.504159 +v 0.200000 4.111140 -0.337061 +v 0.015224 4.042216 -0.440214 +v 0.058579 4.078438 -0.386003 +v 0.123463 4.102641 -0.349780 +v 0.000000 4.272109 -0.727893 +v 0.200000 4.414214 -0.585786 +v 0.015224 4.326490 -0.673511 +v 0.058579 4.372592 -0.627408 +v 0.123463 4.403397 -0.596604 +v 0.000000 4.495841 -1.000512 +v 0.200000 4.662939 -0.888860 +v 0.015224 4.559787 -0.957784 +v 0.058579 4.613997 -0.921562 +v 0.123463 4.650219 -0.897359 +v 0.000000 4.662089 -1.311539 +v 0.200000 4.847759 -1.234633 +v 0.015224 4.733141 -1.282109 +v 0.058579 4.793377 -1.257159 +v 0.123463 4.833625 -1.240488 +v 0.000000 4.764464 -1.649026 +v 0.200000 4.961571 -1.609819 +v 0.015224 4.839894 -1.634022 +v 0.058579 4.903840 -1.621303 +v 0.123463 4.946567 -1.612804 +vt 0.357928 0.666872 +vt 0.357928 0.854890 +vt 0.349998 0.854109 +vt 0.332270 0.848731 +vt 0.315932 0.839998 +vt 0.301612 0.828246 +vt 0.289859 0.813926 +vt 0.281126 0.797588 +vt 0.275749 0.779860 +vt 0.273882 0.760908 +vt 0.273882 0.666872 +vt 0.831175 0.010750 +vt 0.831175 0.235160 +vt 0.642072 0.235160 +vt 0.642072 0.010750 +vt 0.967735 -0.059562 +vt 0.967735 0.140047 +vt 0.870104 0.140047 +vt 0.870223 -0.059562 +vt 0.040047 0.409007 +vt 0.082070 0.409007 +vt 0.082070 0.608616 +vt 0.040047 0.608616 +vt 0.620571 0.199853 +vt 0.431468 0.199853 +vt 0.431469 0.010750 +vt 0.620572 0.010750 +vt 0.082070 0.808225 +vt 0.176621 0.619122 +vt 0.187127 0.808225 +vt 0.634771 0.602354 +vt 0.823850 0.612860 +vt 0.823850 0.717917 +vt 0.634772 0.717917 +vt 0.458812 0.789314 +vt 0.458812 0.757797 +vt 0.658421 0.757797 +vt 0.658421 0.789314 +vt 0.967735 0.336257 +vt 0.040047 0.808225 +vt 0.281679 0.619122 +vt 0.281679 0.808225 +vt 0.176622 0.409007 +vt 0.409968 0.010750 +vt 0.409968 0.210359 +vt 0.210359 0.210359 +vt 0.210359 0.010750 +vt 0.831175 0.434769 +vt 0.642072 0.434769 +vt 0.010750 0.210359 +vt 0.010750 0.010750 +vt 0.409968 0.409968 +vt 0.210359 0.409968 +vt 1.009758 0.336388 +vt 1.009758 0.140047 +vt 1.009758 -0.059562 +vt 0.431468 0.220865 +vt 0.620571 0.220865 +vt 0.620571 0.315416 +vt 0.431468 0.315416 +vt 0.624241 0.570837 +vt 0.424632 0.602354 +vt 0.424632 0.570837 +vt 0.010750 0.409968 +vt 0.858030 0.757797 +vt 0.858030 0.789314 +vt 0.620572 0.574727 +vt 0.431468 0.574727 +vt 0.431468 0.480175 +vt 0.620571 0.480175 +vt 0.823850 0.812469 +vt 0.729815 0.812469 +vt 0.710862 0.810602 +vt 0.693134 0.805224 +vt 0.676797 0.796491 +vt 0.662476 0.784739 +vt 0.650724 0.770419 +vt 0.641991 0.754081 +vt 0.636577 0.736233 +vt 0.431468 0.459581 +vt 0.620571 0.459580 +vt 0.346837 0.611375 +vt 0.277471 0.472644 +vt 0.346837 0.437961 +vt 0.431468 0.336011 +vt 0.620571 0.336011 +vt 0.620571 0.356606 +vt 0.431468 0.356606 +vt 0.620571 0.377201 +vt 0.431468 0.377201 +vt 0.620571 0.397796 +vt 0.431468 0.397796 +vt 0.620571 0.418391 +vt 0.431468 0.418391 +vt 0.620571 0.438985 +vt 0.431468 0.438986 +vt 0.040047 0.812245 +vt 0.035981 0.812291 +vt 0.036027 0.808225 +vt 0.040047 0.818731 +vt 0.036203 0.818731 +vt 0.029541 0.812069 +vt 0.029541 0.808225 +vt 0.033982 0.818731 +vt 0.823850 0.570837 +vt 0.823850 0.566816 +vt 0.827916 0.566771 +vt 0.827870 0.570837 +vt 0.823850 0.560331 +vt 0.827694 0.560331 +vt 0.834356 0.566992 +vt 0.834356 0.570837 +vt 0.829915 0.560331 +vt 0.413988 0.409968 +vt 0.414034 0.414034 +vt 0.409968 0.413988 +vt 0.420474 0.409968 +vt 0.420474 0.413812 +vt 0.413812 0.420474 +vt 0.409968 0.420474 +vt 0.420474 0.416033 +vt 0.454792 0.757797 +vt 0.454746 0.753731 +vt 0.458812 0.753777 +vt 0.448306 0.757797 +vt 0.448306 0.753953 +vt 0.454968 0.747291 +vt 0.458812 0.747291 +vt 0.448306 0.751731 +vt 0.424632 0.606374 +vt 0.420566 0.606420 +vt 0.420612 0.602354 +vt 0.424632 0.612860 +vt 0.420788 0.612860 +vt 0.414126 0.606198 +vt 0.414127 0.602354 +vt 0.418567 0.612860 +vt 0.620572 0.006730 +vt 0.624638 0.006684 +vt 0.624592 0.010750 +vt 0.620572 0.000245 +vt 0.624416 0.000245 +vt 0.631077 0.006906 +vt 0.631077 0.010750 +vt 0.626637 0.000245 +vt 0.420612 0.570837 +vt 0.420566 0.566771 +vt 0.424632 0.566816 +vt 0.414127 0.570837 +vt 0.414126 0.566992 +vt 0.420788 0.560331 +vt 0.424632 0.560331 +vt 0.414126 0.564771 +vt 0.458812 0.793335 +vt 0.454746 0.793380 +vt 0.454792 0.789314 +vt 0.458812 0.799820 +vt 0.454968 0.799820 +vt 0.448306 0.793158 +vt 0.448306 0.789314 +vt 0.452746 0.799820 +vt 0.010750 0.413988 +vt 0.006684 0.414034 +vt 0.006730 0.409968 +vt 0.010750 0.420474 +vt 0.006906 0.420474 +vt 0.000244 0.413812 +vt 0.000244 0.409968 +vt 0.004685 0.420474 +vt 0.409968 0.006730 +vt 0.414034 0.006684 +vt 0.413988 0.010750 +vt 0.409968 0.000244 +vt 0.413812 0.000244 +vt 0.420474 0.006906 +vt 0.420474 0.010750 +vt 0.416033 0.000244 +vt 1.009758 -0.063583 +vt 1.013824 -0.063628 +vt 1.013778 -0.059562 +vt 1.009758 -0.070068 +vt 1.013602 -0.070068 +vt 1.020263 -0.063407 +vt 1.020263 -0.059562 +vt 1.015823 -0.070068 +vt 0.036027 0.409007 +vt 0.035981 0.404941 +vt 0.040047 0.404987 +vt 0.029541 0.409007 +vt 0.029541 0.405163 +vt 0.036203 0.398501 +vt 0.040047 0.398501 +vt 0.029541 0.402942 +vt 0.858030 0.753419 +vt 0.862928 0.751428 +vt 0.862050 0.755827 +vt 0.858030 0.747291 +vt 0.863239 0.747291 +vt 0.868535 0.749587 +vt 0.868535 0.753138 +vt 0.864730 0.747291 +vt 0.638052 0.011335 +vt 0.637174 0.005523 +vt 0.642072 0.006372 +vt 0.631566 0.011908 +vt 0.631566 0.005535 +vt 0.636863 0.000244 +vt 0.642072 0.000244 +vt 0.631566 0.003474 +vt 0.970585 0.341578 +vt 0.968256 0.343349 +vt 0.965741 0.337590 +vt 0.973582 0.350161 +vt 0.970030 0.350161 +vt 0.965369 0.345429 +vt 0.962519 0.339729 +vt 0.968749 0.350161 +vt 0.006229 0.010750 +vt 0.006951 0.006684 +vt 0.011500 0.006730 +vt 0.000244 0.010750 +vt 0.000244 0.006906 +vt 0.007942 0.000244 +vt 0.012384 0.000244 +vt 0.000244 0.004685 +vt 0.862050 0.789314 +vt 0.862096 0.793380 +vt 0.858030 0.793335 +vt 0.868535 0.789314 +vt 0.868535 0.793158 +vt 0.861874 0.799820 +vt 0.858030 0.799820 +vt 0.868535 0.795380 +vt 1.013778 0.337138 +vt 1.013824 0.341985 +vt 1.009758 0.341158 +vt 1.020263 0.338022 +vt 1.020263 0.342464 +vt 1.013602 0.350161 +vt 1.009758 0.350161 +vt 1.020263 0.345030 +vt 0.624592 0.204679 +vt 0.625469 0.206858 +vt 0.620571 0.203874 +vt 0.631077 0.210359 +vt 0.631077 0.210359 +vt 0.625781 0.210359 +vt 0.620571 0.210359 +vt 0.631077 0.210359 +vt 0.630741 0.607181 +vt 0.627764 0.609354 +vt 0.629945 0.606374 +vt 0.624241 0.612870 +vt 0.624241 0.612863 +vt 0.624241 0.612860 +vt 0.624241 0.612860 +vt 0.624241 0.612861 +vt 0.620571 0.216844 +vt 0.625469 0.213870 +vt 0.624592 0.216052 +vt 0.631077 0.210363 +vt 0.631077 0.210369 +vt 0.627272 0.210359 +vt 0.642072 0.438789 +vt 0.637174 0.439667 +vt 0.638051 0.434769 +vt 0.642072 0.445274 +vt 0.636862 0.445274 +vt 0.631566 0.439978 +vt 0.631566 0.434769 +vt 0.635372 0.445274 +vt 0.177301 0.404987 +vt 0.181815 0.404109 +vt 0.180642 0.409007 +vt 0.178102 0.398501 +vt 0.182577 0.398502 +vt 0.187127 0.403798 +vt 0.187127 0.409007 +vt 0.183858 0.398501 +vt 0.867335 -0.059562 +vt 0.867001 -0.064460 +vt 0.870902 -0.063583 +vt 0.862677 -0.059562 +vt 0.862677 -0.064772 +vt 0.867227 -0.070068 +vt 0.871703 -0.070068 +vt 0.862677 -0.066263 +vt 0.656011 0.753777 +vt 0.658421 0.751287 +vt 0.660831 0.753419 +vt 0.653168 0.747291 +vt 0.656723 0.747291 +vt 0.660119 0.747291 +vt 0.663674 0.747291 +vt 0.658421 0.747291 +vt 0.427448 0.018549 +vt 0.425128 0.008998 +vt 0.429059 0.006730 +vt 0.420963 0.027749 +vt 0.420963 0.013917 +vt 0.422661 0.000244 +vt 0.426216 0.000244 +vt 0.420963 0.008761 +vt 0.350857 0.619174 +vt 0.352277 0.634552 +vt 0.346729 0.620148 +vt 0.357343 0.628373 +vt 0.357343 0.642538 +vt 0.351228 0.643649 +vt 0.345042 0.631277 +vt 0.357343 0.647955 +vt 0.833585 0.006372 +vt 0.837516 0.008472 +vt 0.835195 0.018549 +vt 0.836428 0.000244 +vt 0.839983 0.000244 +vt 0.841681 0.013584 +vt 0.841681 0.027749 +vt 0.841681 0.000244 +vt 0.431468 0.203874 +vt 0.427402 0.203919 +vt 0.427448 0.199853 +vt 0.431468 0.210359 +vt 0.427624 0.210359 +vt 0.420963 0.203697 +vt 0.420963 0.199853 +vt 0.425403 0.210359 +vt 0.427448 0.220865 +vt 0.427402 0.216799 +vt 0.431468 0.216844 +vt 0.420963 0.220865 +vt 0.420963 0.217020 +vt 0.420963 0.214799 +vt 0.273875 0.474442 +vt 0.272016 0.470825 +vt 0.275673 0.469048 +vt 0.268075 0.477342 +vt 0.266356 0.473904 +vt 0.269335 0.464966 +vt 0.272773 0.463247 +vt 0.265362 0.471917 +vt 0.835195 0.434769 +vt 0.838172 0.439667 +vt 0.835995 0.438789 +vt 0.841681 0.434769 +vt 0.841681 0.439978 +vt 0.841681 0.445274 +vt 0.841681 0.445274 +vt 0.841681 0.441469 +vt 0.362748 0.662852 +vt 0.364925 0.661974 +vt 0.361948 0.666872 +vt 0.368434 0.656367 +vt 0.368434 0.656367 +vt 0.368434 0.661663 +vt 0.368434 0.666872 +vt 0.368434 0.656367 +vt 0.180642 0.614302 +vt 0.183619 0.612124 +vt 0.181442 0.615101 +vt 0.187127 0.608616 +vt 0.187127 0.608616 +vt 0.187127 0.608616 +vt 0.187127 0.608616 +vt 0.187127 0.608616 +vt 0.348527 0.432621 +vt 0.353115 0.427674 +vt 0.350857 0.434062 +vt 0.349741 0.424763 +vt 0.354455 0.422406 +vt 0.357343 0.423796 +vt 0.357343 0.429462 +vt 0.356576 0.421346 +vt 0.427448 0.318075 +vt 0.425353 0.314637 +vt 0.427448 0.311457 +vt 0.420962 0.321212 +vt 0.420962 0.316777 +vt 0.420963 0.312203 +vt 0.420962 0.306958 +vt 0.420962 0.315416 +vt 0.361948 0.857549 +vt 0.364468 0.861897 +vt 0.360180 0.859152 +vt 0.368434 0.860686 +vt 0.368434 0.864527 +vt 0.367079 0.866348 +vt 0.362666 0.865913 +vt 0.368434 0.866338 +vt 0.835195 0.231260 +vt 0.837290 0.235113 +vt 0.835195 0.237896 +vt 0.841681 0.226660 +vt 0.841681 0.232326 +vt 0.841681 0.236907 +vt 0.841681 0.240344 +vt 0.841681 0.234905 +vt 0.431468 0.578747 +vt 0.427402 0.578793 +vt 0.427448 0.574727 +vt 0.431468 0.585233 +vt 0.427624 0.585233 +vt 0.420963 0.578571 +vt 0.420963 0.574727 +vt 0.425403 0.585233 +vt 0.281679 0.615102 +vt 0.285745 0.615056 +vt 0.285699 0.619122 +vt 0.281679 0.608616 +vt 0.285523 0.608616 +vt 0.292185 0.615278 +vt 0.292185 0.619122 +vt 0.287744 0.608616 +vt 0.269862 0.666872 +vt 0.269816 0.662806 +vt 0.273882 0.662852 +vt 0.263376 0.666872 +vt 0.263376 0.663028 +vt 0.270038 0.656367 +vt 0.273882 0.656367 +vt 0.263376 0.660807 +vt 0.624592 0.574727 +vt 0.624638 0.578793 +vt 0.620572 0.578747 +vt 0.631077 0.574727 +vt 0.631077 0.578571 +vt 0.624416 0.585232 +vt 0.620572 0.585232 +vt 0.631077 0.580792 +vt 0.827870 0.812469 +vt 0.827916 0.816534 +vt 0.823850 0.816489 +vt 0.834356 0.812469 +vt 0.834356 0.816313 +vt 0.827694 0.822974 +vt 0.823850 0.822974 +vt 0.834356 0.818534 +vt 0.285699 0.808225 +vt 0.285745 0.812291 +vt 0.281679 0.812245 +vt 0.292185 0.808225 +vt 0.292185 0.812069 +vt 0.285523 0.818731 +vt 0.281679 0.818731 +vt 0.292185 0.814291 +vt 0.210359 0.006730 +vt 0.210359 0.000244 +vt 1.020263 0.140047 +vt 1.013778 0.140047 +vt 0.413988 0.210359 +vt 0.420474 0.210359 +vt 0.029541 0.608616 +vt 0.036027 0.608616 +vt 0.827870 0.612860 +vt 0.834356 0.612860 +vt 0.082070 0.818731 +vt 0.082070 0.812245 +vt 0.082070 0.404987 +vt 0.082070 0.398501 +vt 0.967735 -0.070068 +vt 0.967735 -0.063583 +vt 0.006730 0.210359 +vt 0.000244 0.210359 +vt 0.658421 0.799820 +vt 0.658421 0.793334 +vt 0.210359 0.413988 +vt 0.210359 0.420474 +vt 0.624241 0.560331 +vt 0.624241 0.566816 +vt 0.638052 0.235160 +vt 0.631566 0.235160 +vt 0.862677 0.140047 +vt 0.867262 0.140047 +vt 0.187127 0.812245 +vt 0.187127 0.818731 +vt 0.834356 0.717917 +vt 0.827870 0.717917 +vt 0.624592 0.315416 +vt 0.631077 0.315416 +vt 0.624241 0.717917 +vt 0.630742 0.717917 +vt 0.420962 0.306917 +vt 0.835195 0.237819 +vt 0.841681 0.240955 +vt 0.638052 0.234907 +vt 0.631566 0.234187 +vt 0.863112 0.140917 +vt 0.349209 0.858071 +vt 0.330724 0.852463 +vt 0.347648 0.864374 +vt 0.328520 0.858572 +vt 0.420962 0.356303 +vt 0.420962 0.336314 +vt 0.427448 0.336090 +vt 0.427448 0.356527 +vt 0.638259 0.755627 +vt 0.632629 0.737067 +vt 0.632150 0.757831 +vt 0.626337 0.738667 +vt 0.631077 0.336278 +vt 0.631077 0.356303 +vt 0.624592 0.356527 +vt 0.624592 0.336080 +vt 0.313688 0.843357 +vt 0.327963 0.858341 +vt 0.310334 0.848919 +vt 0.420962 0.376898 +vt 0.420962 0.356909 +vt 0.427448 0.356685 +vt 0.427448 0.377122 +vt 0.647365 0.772663 +vt 0.641804 0.776016 +vt 0.632381 0.758388 +vt 0.631077 0.356909 +vt 0.631077 0.376898 +vt 0.624592 0.377122 +vt 0.624592 0.356685 +vt 0.298755 0.831103 +vt 0.309833 0.848584 +vt 0.294381 0.835903 +vt 0.420962 0.397493 +vt 0.420962 0.377504 +vt 0.427448 0.377280 +vt 0.427448 0.397717 +vt 0.659620 0.787596 +vt 0.654819 0.791969 +vt 0.642139 0.776518 +vt 0.631077 0.377504 +vt 0.631077 0.397493 +vt 0.624592 0.397717 +vt 0.624592 0.377280 +vt 0.286500 0.816170 +vt 0.293955 0.835476 +vt 0.281274 0.820025 +vt 0.420962 0.418088 +vt 0.420962 0.398099 +vt 0.427448 0.397875 +vt 0.427448 0.418312 +vt 0.674552 0.799850 +vt 0.670697 0.805077 +vt 0.655246 0.792396 +vt 0.631077 0.398099 +vt 0.631077 0.418088 +vt 0.624592 0.418312 +vt 0.624592 0.397875 +vt 0.277394 0.799134 +vt 0.280939 0.819523 +vt 0.271516 0.801895 +vt 0.420962 0.438683 +vt 0.420962 0.418694 +vt 0.427448 0.418469 +vt 0.427448 0.438907 +vt 0.691589 0.808956 +vt 0.688827 0.814834 +vt 0.671199 0.805412 +vt 0.631077 0.418694 +vt 0.631077 0.438682 +vt 0.624592 0.438907 +vt 0.624592 0.418469 +vt 0.271787 0.780648 +vt 0.271285 0.801337 +vt 0.265483 0.782209 +vt 0.420962 0.459277 +vt 0.420962 0.439289 +vt 0.427448 0.439064 +vt 0.427448 0.459502 +vt 0.710074 0.814564 +vt 0.708513 0.820868 +vt 0.689385 0.815065 +vt 0.631077 0.439288 +vt 0.631077 0.459277 +vt 0.624592 0.459501 +vt 0.624592 0.439064 +vt 0.269862 0.761105 +vt 0.265365 0.781618 +vt 0.263391 0.761574 +vt 0.420962 0.480024 +vt 0.420962 0.459884 +vt 0.427448 0.459659 +vt 0.427448 0.480136 +vt 0.729617 0.816489 +vt 0.729148 0.822959 +vt 0.709104 0.820985 +vt 0.631077 0.459883 +vt 0.631077 0.480024 +vt 0.624592 0.480136 +vt 0.624592 0.459659 +vt 0.624592 0.480214 +vt 0.631077 0.480326 +vt 0.729449 0.822974 +vt 0.263376 0.761273 +vt 0.420962 0.480327 +vt 0.427448 0.480215 +vt 0.348240 0.864492 +vt 0.420962 0.335708 +vt 0.427448 0.335932 +vt 0.626226 0.738075 +vt 0.624271 0.718218 +vt 0.631077 0.315719 +vt 0.631077 0.335672 +vt 0.624592 0.335923 +vt 0.624592 0.315495 +vn -0.9999 0.0103 -0.0049 +vn -0.9999 0.0107 0.0009 +vn -1.0000 0.0004 0.0016 +vn -1.0000 0.0008 0.0020 +vn -1.0000 0.0012 0.0018 +vn -1.0000 0.0015 0.0015 +vn -1.0000 0.0018 0.0012 +vn -1.0000 0.0020 0.0008 +vn -1.0000 0.0021 0.0004 +vn -1.0000 0.0063 0.0001 +vn -1.0000 0.0054 -0.0049 +vn 0.0042 0.8930 0.4500 +vn 0.0002 0.9700 0.2432 +vn -0.0028 0.9700 0.2432 +vn -0.0026 0.8930 0.4500 +vn -1.0000 0.0000 -0.0039 +vn -1.0000 0.0000 0.0000 +vn -0.9999 0.0105 0.0026 +vn -1.0000 0.0080 -0.0039 +vn -0.0039 -0.0174 -0.9998 +vn -0.0038 0.0000 -1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0173 -0.9998 +vn 0.0043 1.0000 0.0042 +vn 0.0041 1.0000 0.0042 +vn 0.0040 1.0000 0.0042 +vn 0.0042 1.0000 0.0042 +vn 0.0041 0.0000 -1.0000 +vn -0.0014 0.0028 -1.0000 +vn 1.0000 0.0047 0.0025 +vn 1.0000 -0.0000 -0.0041 +vn 1.0000 -0.0000 -0.0042 +vn 1.0000 0.0000 0.0028 +vn 0.0040 -0.0225 0.9997 +vn 0.0040 0.0224 0.9997 +vn 0.0000 0.0214 0.9998 +vn 0.0001 -0.0190 0.9998 +vn -0.9999 0.0086 0.0062 +vn 0.0039 -0.0174 -0.9998 +vn -0.0043 0.0077 -1.0000 +vn 0.0039 0.0077 -1.0000 +vn -0.0038 0.0082 -1.0000 +vn -0.0039 -1.0000 -0.0039 +vn 0.0000 -1.0000 -0.0039 +vn 0.0000 -1.0000 0.0000 +vn -0.0039 -1.0000 0.0000 +vn -0.0041 1.0000 -0.0040 +vn -0.0030 1.0000 -0.0040 +vn 0.0000 -1.0000 0.0039 +vn -0.0039 -1.0000 0.0039 +vn 0.0039 -1.0000 -0.0039 +vn 0.0039 -1.0000 0.0000 +vn -0.9998 -0.0174 0.0039 +vn -0.9998 -0.0174 -0.0000 +vn -0.9998 -0.0174 -0.0039 +vn 0.0041 0.0081 1.0000 +vn 0.0044 0.0081 1.0000 +vn 0.0042 0.0175 0.9998 +vn 0.0026 0.0178 0.9998 +vn 0.9998 -0.0210 -0.0000 +vn 0.9997 0.0228 0.0039 +vn 0.9998 -0.0220 0.0039 +vn 0.0039 -1.0000 0.0039 +vn -0.0063 0.0197 0.9998 +vn -0.0066 -0.0155 0.9999 +vn 0.0042 1.0000 -0.0081 +vn -0.0042 1.0000 -0.0081 +vn -0.0041 0.9998 0.0175 +vn 0.0041 0.9998 0.0175 +vn 1.0000 0.0047 -0.0047 +vn 1.0000 0.0055 0.0001 +vn 1.0000 0.0019 0.0004 +vn 1.0000 0.0018 0.0007 +vn 1.0000 0.0016 0.0010 +vn 1.0000 0.0013 0.0013 +vn 1.0000 0.0011 0.0016 +vn 1.0000 0.0007 0.0018 +vn 1.0000 0.0004 0.0018 +vn -0.0042 0.9808 0.1951 +vn 0.0042 0.9808 0.1951 +vn 0.9993 0.0369 0.0092 +vn 0.9998 0.0187 0.0096 +vn 0.9996 0.0188 0.0192 +vn -0.0040 0.1951 0.9808 +vn 0.0042 0.1951 0.9808 +vn 0.0042 0.3827 0.9239 +vn -0.0042 0.3827 0.9239 +vn 0.0042 0.5556 0.8315 +vn -0.0042 0.5556 0.8315 +vn 0.0042 0.7071 0.7071 +vn -0.0042 0.7071 0.7071 +vn 0.0042 0.8315 0.5556 +vn -0.0042 0.8315 0.5556 +vn 0.0042 0.9239 0.3827 +vn -0.0042 0.9239 0.3827 +vn 0.3823 -0.0167 -0.9239 +vn 0.3451 -0.3451 -0.8728 +vn 0.0038 -0.3826 -0.9239 +vn 0.7070 -0.0148 -0.7070 +vn 0.6744 -0.3008 -0.6743 +vn 0.3008 -0.6744 -0.6744 +vn 0.0033 -0.7071 -0.7071 +vn 0.5774 -0.5774 -0.5773 +vn 0.9998 -0.0201 -0.0046 +vn 0.9239 -0.3826 -0.0038 +vn 0.8728 -0.3451 -0.3451 +vn 0.9239 -0.0167 -0.3823 +vn 0.7071 -0.7071 -0.0033 +vn 0.6744 -0.6744 -0.3008 +vn 0.0038 -0.9239 -0.3826 +vn 0.3451 -0.8728 -0.3451 +vn 0.3826 -0.9239 -0.0038 +vn 0.3822 0.0217 0.9238 +vn 0.3451 0.3451 0.8728 +vn 0.0038 0.3814 0.9244 +vn 0.7070 0.0192 0.7070 +vn 0.6744 0.3008 0.6743 +vn 0.3008 0.6744 0.6744 +vn 0.0034 0.7061 0.7081 +vn 0.5774 0.5774 0.5773 +vn 0.9249 0.3803 0.0037 +vn 0.8729 0.3451 0.3451 +vn 0.9238 0.0217 0.3822 +vn 0.7091 0.7051 0.0033 +vn 0.6744 0.6744 0.3008 +vn 0.0039 0.9234 0.3838 +vn 0.3451 0.8728 0.3451 +vn 0.3850 0.9229 0.0039 +vn 0.9238 -0.0217 0.3822 +vn 0.8729 -0.3451 0.3451 +vn 0.9239 -0.3826 0.0038 +vn 0.7070 -0.0192 0.7070 +vn 0.6743 -0.3008 0.6744 +vn 0.6744 -0.6744 0.3008 +vn 0.7071 -0.7071 0.0033 +vn 0.5773 -0.5774 0.5774 +vn 0.0038 -0.3826 0.9239 +vn 0.3451 -0.3451 0.8728 +vn 0.3822 -0.0217 0.9238 +vn 0.0033 -0.7071 0.7071 +vn 0.3008 -0.6744 0.6744 +vn 0.3826 -0.9239 0.0038 +vn 0.3451 -0.8728 0.3451 +vn 0.0038 -0.9239 0.3826 +vn -0.3826 -0.9239 -0.0038 +vn -0.3451 -0.8728 -0.3451 +vn -0.0038 -0.9239 -0.3826 +vn -0.7071 -0.7071 -0.0033 +vn -0.6744 -0.6743 -0.3008 +vn -0.3008 -0.6744 -0.6744 +vn -0.0033 -0.7071 -0.7071 +vn -0.5773 -0.5774 -0.5774 +vn -0.9239 -0.0167 -0.3823 +vn -0.8729 -0.3451 -0.3451 +vn -0.9239 -0.3826 -0.0038 +vn -0.7070 -0.0148 -0.7071 +vn -0.6743 -0.3008 -0.6744 +vn -0.0038 -0.3826 -0.9239 +vn -0.3451 -0.3451 -0.8728 +vn -0.3823 -0.0167 -0.9239 +vn -0.0024 0.2972 0.9548 +vn -0.2798 0.2240 0.9336 +vn -0.5054 0.0002 0.8629 +vn -0.0007 0.5250 0.8511 +vn -0.1049 0.5270 0.8433 +vn -0.7501 0.0932 0.6547 +vn -0.8015 -0.0086 0.5979 +vn -0.4811 0.4709 0.7395 +vn -0.2448 0.8662 0.4357 +vn -0.1654 0.7637 0.6240 +vn -0.0017 0.7202 0.6937 +vn -0.5214 0.7629 0.3823 +vn -0.5132 0.7013 0.4947 +vn -0.9520 0.0053 0.3062 +vn -0.8732 0.2994 0.3846 +vn -0.8285 0.5000 0.2521 +vn -0.0044 -0.9298 0.3680 +vn -0.4070 -0.8591 0.3105 +vn -0.3829 -0.9238 0.0038 +vn -0.0038 -0.7071 0.7071 +vn -0.4287 -0.6388 0.6388 +vn -0.7219 -0.6401 0.2629 +vn -0.7073 -0.7069 0.0034 +vn -0.6798 -0.5186 0.5186 +vn -0.5192 -0.0171 0.8545 +vn -0.5058 -0.2489 0.8260 +vn -0.0053 -0.3451 0.9385 +vn -0.8016 -0.0165 0.5976 +vn -0.7768 -0.2133 0.5925 +vn -0.9240 -0.3823 0.0038 +vn -0.9087 -0.2952 0.2952 +vn -0.9524 -0.0155 0.3045 +vn 0.3890 0.9212 0.0050 +vn 0.5897 0.6440 0.4873 +vn 0.0082 0.9229 0.3849 +vn 0.7130 0.7012 0.0041 +vn 0.8998 0.1914 0.3921 +vn 0.5497 0.5902 0.5912 +vn 0.0091 0.7071 0.7071 +vn 0.8763 0.3400 0.3412 +vn 0.9276 0.0037 0.3736 +vn 0.9587 0.2005 0.2019 +vn 0.9257 0.3782 0.0020 +vn 0.7189 0.0076 0.6951 +vn 0.8998 0.3913 0.1931 +vn 0.0082 0.3849 0.9229 +vn 0.5892 0.4869 0.6448 +vn 0.3956 0.0096 0.9184 +vn -0.0016 0.9232 -0.3843 +vn -0.1829 0.9396 -0.2893 +vn -0.2823 0.9593 -0.0031 +vn -0.0002 0.7052 -0.7090 +vn -0.0808 0.7075 -0.7021 +vn -0.5781 0.7965 -0.1770 +vn -0.5804 0.8143 -0.0017 +vn -0.4662 0.6318 -0.6193 +vn -0.3809 0.0053 -0.9246 +vn -0.2353 0.2905 -0.9275 +vn -0.0019 0.3798 -0.9251 +vn -0.7074 0.0018 -0.7068 +vn -0.6763 0.1591 -0.7193 +vn -0.8654 0.5010 -0.0035 +vn -0.8930 0.3331 -0.3025 +vn -0.9244 0.0053 -0.3815 +vn 0.0014 0.3827 0.9239 +vn 0.1145 0.5628 0.8186 +vn 0.0009 0.2994 0.9541 +vn 0.0012 0.7081 0.7062 +vn 0.1302 0.8296 0.5430 +vn 0.2292 0.7674 0.5987 +vn 0.0030 0.5286 0.8488 +vn 0.2772 0.8771 0.3922 +vn 0.3713 0.9285 0.0074 +vn 0.1988 0.9517 0.2338 +vn 0.0011 0.9253 0.3793 +vn 0.6939 0.7201 0.0079 +vn 0.4585 0.8675 0.1930 +vn 0.9162 0.3609 0.1743 +vn 0.7213 0.6691 0.1791 +vn 0.9164 0.4002 0.0070 +vn 0.6942 0.6455 0.3185 +vn 0.4868 0.8104 0.3261 +vn 0.0082 0.7247 0.6890 +vn 0.3361 0.8333 0.4390 +vn 0.3765 0.8288 0.4138 +vn 0.0040 0.9239 0.3826 +vn 0.3784 0.9256 0.0042 +vn 0.0035 0.7071 0.7071 +vn 0.3008 0.6743 0.6743 +vn 0.6744 0.6743 0.3008 +vn 0.7034 0.7108 0.0038 +vn 0.5774 0.5774 0.5774 +vn 0.3784 0.0081 0.9256 +vn 0.0040 0.3826 0.9239 +vn 0.7035 0.0075 0.7107 +vn 0.6743 0.3008 0.6743 +vn 0.9220 0.3873 0.0046 +vn 0.8728 0.3451 0.3451 +vn 0.9220 0.0090 0.3871 +vn -0.3835 0.9235 -0.0079 +vn -0.4873 0.6445 -0.5892 +vn -0.0050 0.9212 -0.3890 +vn -0.7060 0.7082 -0.0089 +vn -0.5908 0.5908 -0.5494 +vn -0.3921 0.1921 -0.8997 +vn -0.0041 0.7012 -0.7129 +vn -0.3408 0.3408 -0.8762 +vn -0.9181 0.0107 -0.3962 +vn -0.6445 0.4873 -0.5892 +vn -0.9224 0.3862 -0.0081 +vn -0.6947 0.0085 -0.7193 +vn -0.1921 0.3920 -0.8997 +vn -0.0020 0.3782 -0.9257 +vn -0.2013 0.2013 -0.9586 +vn -0.3735 0.0040 -0.9276 +vn 0.9145 0.0168 0.4041 +vn 0.5072 0.4751 0.7190 +vn 0.9179 0.3516 0.1839 +vn 0.6896 0.0176 0.7239 +vn 0.2045 0.4660 0.8608 +vn 0.2486 0.6490 0.7190 +vn 0.6962 0.6390 0.3271 +vn 0.0218 0.6298 0.7764 +vn -0.3298 0.1458 0.9327 +vn -0.0265 0.4118 0.9109 +vn 0.3659 0.0157 0.9305 +vn -0.6373 0.1576 0.7544 +vn -0.2074 0.5634 0.7997 +vn -0.9210 0.3894 0.0078 +vn -0.4415 0.6333 0.6356 +vn -0.8732 0.1450 0.4653 +vn -0.7012 0.7129 0.0090 +vn -0.1372 0.7607 0.6344 +vn 0.3733 0.8282 0.4180 +vn 0.0812 0.7920 0.6051 +vn -0.3758 0.9266 0.0107 +vn -0.0040 0.9239 -0.3826 +vn -0.3451 0.8728 -0.3451 +vn -0.3824 0.9239 -0.0078 +vn -0.0035 0.7071 -0.7071 +vn -0.3008 0.6744 -0.6744 +vn -0.6744 0.6744 -0.3008 +vn -0.7070 0.7072 -0.0069 +vn -0.5774 0.5773 -0.5774 +vn -0.3779 0.0074 -0.9258 +vn -0.3451 0.3451 -0.8728 +vn -0.0040 0.3826 -0.9239 +vn -0.7030 0.0069 -0.7112 +vn -0.6744 0.3008 -0.6744 +vn -0.9238 0.3827 -0.0078 +vn -0.8728 0.3451 -0.3451 +vn -0.9218 0.0082 -0.3877 +vn 0.3824 0.9239 -0.0078 +vn 0.3451 0.8728 -0.3451 +vn 0.0040 0.9239 -0.3826 +vn 0.7070 0.7072 -0.0069 +vn 0.6744 0.6743 -0.3008 +vn 0.3008 0.6744 -0.6744 +vn 0.0035 0.7071 -0.7071 +vn 0.5774 0.5774 -0.5774 +vn 0.9239 0.0078 -0.3825 +vn 0.8728 0.3451 -0.3451 +vn 0.9238 0.3827 -0.0078 +vn 0.7071 0.0069 -0.7071 +vn 0.6744 0.3008 -0.6744 +vn 0.0040 0.3826 -0.9239 +vn 0.3451 0.3451 -0.8728 +vn 0.3825 0.0078 -0.9239 +vn -0.3827 -0.9239 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.9237 -0.3830 -0.0000 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.3827 -0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.7071 0.0000 -0.7071 +vn 0.3827 0.0000 -0.9239 +vn -0.3832 -0.0000 -0.9237 +vn -0.7075 0.0000 -0.7067 +vn -0.9241 -0.0000 -0.3821 +vn 0.0005 -0.9269 0.3754 +vn 0.0010 -0.7071 0.7071 +vn 0.0010 -0.3646 0.9312 +vn 0.3827 -0.9239 0.0000 +vn 0.7071 -0.7071 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.2700 0.9341 0.2336 +vn -0.5608 0.8034 0.2002 +vn -0.8531 0.5065 0.1257 +vn 0.3872 0.0154 0.9219 +vn 0.7108 0.0111 0.7033 +vn 0.9255 0.0056 0.3787 +vn -0.9195 0.0858 0.3837 +vn -0.9231 0.1472 0.3553 +vn -0.7006 0.1494 0.6977 +vn -0.7068 0.2707 0.6535 +vn -0.3761 0.1867 0.9076 +vn -0.3829 0.3535 0.8535 +vn 0.9231 0.1471 0.3552 +vn 0.9229 0.0752 0.3775 +vn 0.7069 0.2706 0.6535 +vn 0.7064 0.1382 0.6942 +vn 0.3829 0.3535 0.8535 +vn 0.3825 0.1803 0.9062 +vn -0.9231 0.2137 0.3198 +vn -0.7068 0.3930 0.5882 +vn -0.3829 0.5132 0.7681 +vn 0.9231 0.2137 0.3198 +vn 0.7068 0.3930 0.5882 +vn 0.3829 0.5132 0.7681 +vn -0.9231 0.2719 0.2719 +vn -0.7068 0.5002 0.5002 +vn -0.3829 0.6532 0.6532 +vn 0.9231 0.2719 0.2719 +vn 0.7068 0.5002 0.5002 +vn 0.3829 0.6532 0.6532 +vn -0.9231 0.3198 0.2137 +vn -0.7068 0.5882 0.3930 +vn -0.3829 0.7681 0.5132 +vn 0.9231 0.3198 0.2137 +vn 0.7068 0.5882 0.3930 +vn 0.3829 0.7681 0.5132 +vn -0.9231 0.3553 0.1472 +vn -0.7068 0.6536 0.2707 +vn -0.3829 0.8535 0.3535 +vn 0.9231 0.3553 0.1472 +vn 0.7068 0.6535 0.2707 +vn 0.3829 0.8535 0.3535 +vn -0.9233 0.3768 0.0747 +vn -0.7071 0.6936 0.1377 +vn -0.3831 0.9060 0.1801 +vn 0.9233 0.3768 0.0747 +vn 0.7071 0.6936 0.1377 +vn 0.3831 0.9060 0.1801 +vn -0.9237 0.3830 0.0065 +vn -0.7070 0.7071 0.0122 +vn -0.3827 0.9237 0.0161 +vn 0.9237 0.3830 0.0065 +vn 0.7070 0.7071 0.0122 +vn 0.3827 0.9237 0.0161 +s 1 +f 246/1/1 266/2/2 372/3/3 377/4/4 382/5/5 387/6/6 392/7/7 397/8/8 402/9/9 367/10/10 291/11/11 +f 199/12/12 267/13/13 158/14/14 91/15/15 +f 66/16/16 1/17/17 157/18/18 164/19/19 +f 73/20/20 67/21/21 2/22/22 191/23/23 +f 133/24/24 226/25/25 197/26/26 30/27/27 +f 4/28/28 2/22/22 247/29/29 181/30/28 +f 134/31/30 5/32/31 182/33/32 186/34/33 +f 48/35/34 28/36/35 196/37/36 221/38/37 +f 1/17/17 92/39/38 157/18/18 +f 191/23/23 2/22/22 4/28/28 9/40/39 +f 181/30/28 247/29/29 290/41/40 310/42/41 +f 2/22/22 67/21/21 163/43/42 247/29/29 +f 71/44/43 192/45/44 3/46/45 129/47/46 +f 245/48/47 162/49/48 158/14/14 267/13/13 +f 129/47/46 3/46/45 222/50/49 109/51/50 +f 192/45/44 11/52/51 153/53/52 3/46/45 +f 111/54/53 92/39/38 1/17/17 128/55/54 +f 128/55/54 1/17/17 66/16/16 72/56/55 +f 227/57/56 135/58/57 187/59/58 265/60/59 +f 152/61/60 134/31/30 29/62/61 47/63/62 +f 3/46/45 153/53/52 49/64/63 222/50/49 +f 221/38/37 196/37/36 90/65/64 110/66/65 +f 308/67/66 289/68/67 368/69/68 328/70/69 +f 186/34/33 182/33/32 309/71/70 327/72/71 332/73/72 337/74/73 342/75/74 347/76/75 352/77/76 357/78/77 362/79/78 +f 403/80/79 333/81/80 328/70/69 368/69/68 +f 198/82/81 228/83/82 264/84/83 +f 373/85/84 363/86/85 358/87/86 378/88/87 +f 378/88/87 358/87/86 353/89/88 383/90/89 +f 383/90/89 353/89/88 348/91/90 388/92/91 +f 388/92/91 348/91/90 343/93/92 393/94/93 +f 393/94/93 343/93/92 338/95/94 398/96/95 +f 398/96/95 338/95/94 333/81/80 403/80/79 +f 265/60/59 187/59/58 363/86/85 373/85/84 +f 9/40/39 12/97/96 15/98/97 14/99/98 +f 12/97/96 13/100/99 16/101/100 15/98/97 +f 14/99/98 15/98/97 27/102/101 24/103/102 +f 15/98/97 16/101/100 17/104/103 27/102/101 +f 10/105/104 18/106/105 21/107/106 20/108/107 +f 18/106/105 19/109/108 22/110/109 21/107/106 +f 20/108/107 21/107/106 16/111/100 13/112/99 +f 21/107/106 22/110/109 17/113/103 16/111/100 +f 11/52/51 23/114/110 26/115/111 25/116/112 +f 23/114/110 24/117/102 27/118/101 26/115/111 +f 25/116/112 26/115/111 22/119/109 19/120/108 +f 26/115/111 27/118/101 17/121/103 22/119/109 +f 28/36/35 31/122/113 34/123/114 33/124/115 +f 31/122/113 32/125/116 35/126/117 34/123/114 +f 33/124/115 34/123/114 46/127/118 43/128/119 +f 34/123/114 35/126/117 36/129/120 46/127/118 +f 29/62/61 37/130/121 40/131/122 39/132/123 +f 37/130/121 38/133/124 41/134/125 40/131/122 +f 39/132/123 40/131/122 35/135/117 32/136/116 +f 40/131/122 41/134/125 36/137/120 35/135/117 +f 30/27/27 42/138/126 45/139/127 44/140/128 +f 42/138/126 43/141/119 46/142/118 45/139/127 +f 44/140/128 45/139/127 41/143/125 38/144/124 +f 45/139/127 46/142/118 36/145/120 41/143/125 +f 47/63/62 50/146/129 53/147/130 52/148/131 +f 50/146/129 51/149/132 54/150/133 53/147/130 +f 52/148/131 53/147/130 65/151/134 62/152/135 +f 53/147/130 54/150/133 55/153/136 65/151/134 +f 48/35/34 56/154/137 59/155/138 58/156/139 +f 56/154/137 57/157/140 60/158/141 59/155/138 +f 58/156/139 59/155/138 54/159/133 51/160/132 +f 59/155/138 60/158/141 55/161/136 54/159/133 +f 49/64/63 61/162/142 64/163/143 63/164/144 +f 61/162/142 62/165/135 65/166/134 64/163/143 +f 63/164/144 64/163/143 60/167/141 57/168/140 +f 64/163/143 65/166/134 55/169/136 60/167/141 +f 71/44/43 74/170/145 77/171/146 76/172/147 +f 74/170/145 75/173/148 78/174/149 77/171/146 +f 76/172/147 77/171/146 89/175/150 86/176/151 +f 77/171/146 78/174/149 79/177/152 89/175/150 +f 72/56/55 80/178/153 83/179/154 82/180/155 +f 80/178/153 81/181/156 84/182/157 83/179/154 +f 82/180/155 83/179/154 78/183/149 75/184/148 +f 83/179/154 84/182/157 79/185/152 78/183/149 +f 73/20/20 85/186/158 88/187/159 87/188/160 +f 85/186/158 86/189/151 89/190/150 88/187/159 +f 87/188/160 88/187/159 84/191/157 81/192/156 +f 88/187/159 89/190/150 79/193/152 84/191/157 +f 90/65/64 93/194/161 96/195/162 95/196/163 +f 93/194/161 94/197/164 97/198/165 96/195/162 +f 95/196/163 96/195/162 108/199/166 105/200/167 +f 96/195/162 97/198/165 98/201/168 108/199/166 +f 91/15/15 99/202/169 102/203/170 101/204/171 +f 99/202/169 100/205/172 103/206/173 102/203/170 +f 101/204/171 102/203/170 97/207/165 94/208/164 +f 102/203/170 103/206/173 98/209/168 97/207/165 +f 92/39/38 104/210/174 107/211/175 106/212/176 +f 104/210/174 105/213/167 108/214/166 107/211/175 +f 106/212/176 107/211/175 103/215/173 100/216/172 +f 107/211/175 108/214/166 98/217/168 103/215/173 +f 109/51/50 112/218/177 115/219/178 114/220/179 +f 112/218/177 113/221/180 116/222/181 115/219/178 +f 114/220/179 115/219/178 127/223/182 124/224/183 +f 115/219/178 116/222/181 117/225/184 127/223/182 +f 110/66/65 118/226/185 121/227/186 120/228/187 +f 118/226/185 119/229/188 122/230/189 121/227/186 +f 120/228/187 121/227/186 116/231/181 113/232/180 +f 121/227/186 122/230/189 117/233/184 116/231/181 +f 111/54/53 123/234/190 126/235/191 125/236/192 +f 123/234/190 124/237/183 127/238/182 126/235/191 +f 125/236/192 126/235/191 122/239/189 119/240/188 +f 126/235/191 127/238/182 117/241/184 122/239/189 +f 133/24/24 136/242/193 139/243/194 138/244/195 +f 136/242/193 137/245/196 140/246/197 139/243/194 +f 138/244/195 139/243/194 151/247/198 148/248/199 +f 139/243/194 140/246/197 141/249/200 151/247/198 +f 134/31/30 142/250/201 145/251/202 144/252/203 +f 142/250/201 143/253/204 146/254/205 145/251/202 +f 144/252/203 145/251/202 140/255/197 137/256/196 +f 145/251/202 146/254/205 141/257/200 140/255/197 +f 135/58/57 147/258/206 150/259/207 149/260/208 +f 147/258/206 148/248/199 151/247/198 150/259/207 +f 149/260/208 150/259/207 146/261/205 143/262/204 +f 150/259/207 151/247/198 141/263/200 146/261/205 +f 162/49/48 165/264/209 168/265/210 167/266/211 +f 165/264/209 166/267/212 169/268/213 168/265/210 +f 167/266/211 168/265/210 180/269/214 177/270/215 +f 168/265/210 169/268/213 170/271/216 180/269/214 +f 163/43/42 171/272/217 174/273/218 173/274/219 +f 171/272/217 172/275/220 175/276/221 174/273/218 +f 173/274/219 174/273/218 169/277/213 166/278/212 +f 174/273/218 175/276/221 170/279/216 169/277/213 +f 164/19/19 176/280/222 179/281/223 178/282/224 +f 176/280/222 177/283/215 180/284/214 179/281/223 +f 178/282/224 179/281/223 175/285/221 172/286/220 +f 179/281/223 180/284/214 170/287/216 175/285/221 +f 196/37/36 200/288/225 203/289/226 202/290/227 +f 200/288/225 201/291/228 204/292/229 203/289/226 +f 202/290/227 203/289/226 220/293/230 217/294/231 +f 203/289/226 204/292/229 205/295/232 220/293/230 +f 197/26/26 206/296/233 209/297/234 208/298/235 +f 206/296/233 207/299/236 210/300/237 209/297/234 +f 208/298/235 209/297/234 204/301/229 201/302/228 +f 209/297/234 210/300/237 205/303/232 204/301/229 +f 198/82/81 211/304/238 214/305/239 213/306/240 +f 211/304/238 212/307/241 215/308/242 214/305/239 +f 213/306/240 214/305/239 210/309/237 207/310/236 +f 214/305/239 215/308/242 205/311/232 210/309/237 +f 199/12/12 216/312/243 219/313/244 218/314/245 +f 216/312/243 217/315/231 220/316/230 219/313/244 +f 218/314/245 219/313/244 215/317/242 212/318/241 +f 219/313/244 220/316/230 205/319/232 215/317/242 +f 226/25/25 229/320/246 232/321/127 231/322/247 +f 229/320/246 230/323/248 233/324/249 232/321/127 +f 231/322/247 232/321/127 244/325/250 241/326/251 +f 232/321/127 233/324/249 234/327/252 244/325/250 +f 227/57/56 235/328/253 238/329/114 237/330/254 +f 235/328/253 236/331/255 239/332/256 238/329/114 +f 237/330/254 238/329/114 233/324/249 230/323/248 +f 238/329/114 239/332/256 234/333/252 233/324/249 +f 228/83/82 240/334/257 243/335/258 242/336/259 +f 240/334/257 241/337/251 244/338/250 243/335/258 +f 242/336/259 243/335/258 239/339/256 236/340/255 +f 243/335/258 244/338/250 234/341/252 239/339/256 +f 245/48/47 248/342/260 251/343/261 250/344/262 +f 248/342/260 249/345/263 252/346/264 251/343/261 +f 250/344/262 251/343/261 263/347/265 260/348/266 +f 251/343/261 252/346/264 253/349/267 263/347/265 +f 246/1/1 254/350/268 257/351/269 256/352/270 +f 254/350/268 255/353/271 258/354/272 257/351/269 +f 256/352/270 257/351/269 252/355/264 249/356/263 +f 257/351/269 258/354/272 253/357/267 252/355/264 +f 247/29/29 259/358/273 262/359/274 261/360/275 +f 259/358/273 260/361/266 263/362/265 262/359/274 +f 261/360/275 262/359/274 258/363/272 255/364/271 +f 262/359/274 263/362/265 253/365/267 258/363/272 +f 264/84/83 268/366/276 271/367/277 270/368/278 +f 268/366/276 269/369/279 272/370/280 271/367/277 +f 270/368/278 271/367/277 288/371/281 285/372/282 +f 271/367/277 272/370/280 273/373/283 288/371/281 +f 265/60/59 274/374/284 277/375/285 276/376/286 +f 274/374/284 275/377/287 278/378/288 277/375/285 +f 276/376/286 277/375/285 272/379/280 269/380/279 +f 277/375/285 278/378/288 273/381/283 272/379/280 +f 266/2/2 279/382/289 282/383/290 281/384/291 +f 279/382/289 280/385/292 283/386/293 282/383/290 +f 281/384/291 282/383/290 278/387/288 275/388/287 +f 282/383/290 283/386/293 273/389/283 278/387/288 +f 267/13/13 284/390/294 287/391/295 286/392/296 +f 284/390/294 285/393/282 288/394/281 287/391/295 +f 286/392/296 287/391/295 283/395/293 280/396/292 +f 287/391/295 288/394/281 273/397/283 283/395/293 +f 289/68/67 292/398/297 295/399/298 294/400/299 +f 292/398/297 293/401/300 296/402/301 295/399/298 +f 294/400/299 295/399/298 307/403/302 304/404/303 +f 295/399/298 296/402/301 297/405/304 307/403/302 +f 290/41/40 298/406/305 301/407/306 300/408/307 +f 298/406/305 299/409/308 302/410/309 301/407/306 +f 300/408/307 301/407/306 296/411/301 293/412/300 +f 301/407/306 302/410/309 297/413/304 296/411/301 +f 291/11/11 303/414/310 306/415/311 305/416/312 +f 303/414/310 304/417/303 307/418/302 306/415/311 +f 305/416/312 306/415/311 302/419/309 299/420/308 +f 306/415/311 307/418/302 297/421/304 302/419/309 +f 308/67/66 311/422/313 314/423/314 313/424/315 +f 311/422/313 312/425/316 315/426/317 314/423/314 +f 313/424/315 314/423/314 326/427/318 323/428/319 +f 314/423/314 315/426/317 316/429/320 326/427/318 +f 309/71/70 317/430/321 320/431/322 319/432/323 +f 317/430/321 318/433/324 321/434/325 320/431/322 +f 319/432/323 320/431/322 315/435/317 312/436/316 +f 320/431/322 321/434/325 316/437/320 315/435/317 +f 310/42/41 322/438/326 325/439/327 324/440/328 +f 322/438/326 323/441/319 326/442/318 325/439/327 +f 324/440/328 325/439/327 321/443/325 318/444/324 +f 325/439/327 326/442/318 316/445/320 321/443/325 +f 129/47/46 109/51/50 114/220/179 132/446/329 +f 132/446/329 114/220/179 124/224/183 131/447/330 +f 131/448/330 124/237/183 123/234/190 130/449/331 +f 130/449/331 123/234/190 111/54/53 128/55/54 +f 192/45/44 71/44/43 76/172/147 195/450/332 +f 195/450/332 76/172/147 86/176/151 194/451/333 +f 194/452/333 86/189/151 85/186/158 193/453/334 +f 193/453/334 85/186/158 73/20/20 191/23/23 +f 5/32/31 10/105/104 20/108/107 8/454/335 +f 8/454/335 20/108/107 13/112/99 7/455/336 +f 7/456/336 13/100/99 12/97/96 6/457/337 +f 6/457/337 12/97/96 9/40/39 4/28/28 +f 110/66/65 90/65/64 95/196/163 118/226/185 +f 118/226/185 95/196/163 105/200/167 119/229/188 +f 119/240/188 105/213/167 104/210/174 125/236/192 +f 125/236/192 104/210/174 92/39/38 111/54/53 +f 28/36/35 48/35/34 58/156/139 31/122/113 +f 31/122/113 58/156/139 51/160/132 32/125/116 +f 32/136/116 51/149/132 50/146/129 39/132/123 +f 39/132/123 50/146/129 47/63/62 29/62/61 +f 67/21/21 73/20/20 87/188/160 70/458/338 +f 70/458/338 87/188/160 81/192/156 69/459/339 +f 69/460/339 81/181/156 80/178/153 68/461/340 +f 68/461/340 80/178/153 72/56/55 66/16/16 +f 199/12/12 91/15/15 101/204/171 216/312/243 +f 216/312/243 101/204/171 94/208/164 217/315/231 +f 217/294/231 94/197/164 93/194/161 202/290/227 +f 202/290/227 93/194/161 90/65/64 196/37/36 +f 133/24/24 30/27/27 44/140/128 136/242/193 +f 136/242/193 44/140/128 38/144/124 137/245/196 +f 137/256/196 38/133/124 37/130/121 144/252/203 +f 144/252/203 37/130/121 29/62/61 134/31/30 +f 222/50/49 49/64/63 63/164/144 225/462/341 +f 225/462/341 63/164/144 57/168/140 224/463/342 +f 224/464/342 57/157/140 56/154/137 223/465/343 +f 223/465/343 56/154/137 48/35/34 221/38/37 +f 153/53/52 11/52/51 25/116/112 156/466/344 +f 156/466/344 25/116/112 19/120/108 155/467/345 +f 155/468/345 19/109/108 18/106/105 154/469/346 +f 154/469/346 18/106/105 10/105/104 152/61/60 +f 71/44/43 129/47/46 132/446/329 74/170/145 +f 74/170/145 132/446/329 131/447/330 75/173/148 +f 75/184/148 131/448/330 130/449/331 82/180/155 +f 82/180/155 130/449/331 128/55/54 72/56/55 +f 49/64/63 153/53/52 156/466/344 61/162/142 +f 61/162/142 156/466/344 155/467/345 62/165/135 +f 62/152/135 155/468/345 154/469/346 52/148/131 +f 52/148/131 154/469/346 152/61/60 47/63/62 +f 226/25/25 133/24/24 138/244/195 229/320/246 +f 229/320/246 138/244/195 148/248/199 230/323/248 +f 230/323/248 148/248/199 147/258/206 237/330/254 +f 237/330/254 147/258/206 135/58/57 227/57/56 +f 158/14/14 162/49/48 167/266/211 161/470/347 +f 161/470/347 167/266/211 177/270/215 160/471/348 +f 160/472/348 177/283/215 176/280/222 159/473/349 +f 159/473/349 176/280/222 164/19/19 157/18/18 +f 4/28/28 181/30/28 183/474/337 6/457/337 +f 6/457/337 183/474/337 184/475/336 7/456/336 +f 7/455/336 184/476/336 185/477/335 8/454/335 +f 8/454/335 185/477/335 182/33/32 5/32/31 +f 187/59/58 135/58/57 149/260/208 190/478/350 +f 190/478/350 149/260/208 143/262/204 189/479/351 +f 189/480/351 143/253/204 142/250/201 188/481/352 +f 188/481/352 142/250/201 134/31/30 186/34/33 +f 163/43/42 67/21/21 70/458/338 171/272/217 +f 171/272/217 70/458/338 69/459/339 172/275/220 +f 172/286/220 69/460/339 68/461/340 178/282/224 +f 178/282/224 68/461/340 66/16/16 164/19/19 +f 11/52/51 192/45/44 195/450/332 23/114/110 +f 23/114/110 195/450/332 194/451/333 24/117/102 +f 24/103/102 194/452/333 193/453/334 14/99/98 +f 14/99/98 193/453/334 191/23/23 9/40/39 +f 30/27/27 197/26/26 208/298/235 42/138/126 +f 42/138/126 208/298/235 201/302/228 43/141/119 +f 43/128/119 201/291/228 200/288/225 33/124/115 +f 33/124/115 200/288/225 196/37/36 28/36/35 +f 109/51/50 222/50/49 225/462/341 112/218/177 +f 112/218/177 225/462/341 224/463/342 113/221/180 +f 113/232/180 224/464/342 223/465/343 120/228/187 +f 120/228/187 223/465/343 221/38/37 110/66/65 +f 198/82/81 264/84/83 270/368/278 211/304/238 +f 211/304/238 270/368/278 285/372/282 212/307/241 +f 212/318/241 285/393/282 284/390/294 218/314/245 +f 218/314/245 284/390/294 267/13/13 199/12/12 +f 162/49/48 245/48/47 250/344/262 165/264/209 +f 165/264/209 250/344/262 260/348/266 166/267/212 +f 166/278/212 260/361/266 259/358/273 173/274/219 +f 173/274/219 259/358/273 247/29/29 163/43/42 +f 227/57/56 265/60/59 276/376/286 235/328/253 +f 235/328/253 276/376/286 269/482/279 236/331/255 +f 236/340/255 269/369/279 268/366/276 242/336/259 +f 242/336/259 268/366/276 264/84/83 228/83/82 +f 245/48/47 267/13/13 286/483/296 248/342/260 +f 248/342/260 286/483/296 280/484/292 249/345/263 +f 249/356/263 280/385/292 279/382/289 256/352/270 +f 256/352/270 279/382/289 266/2/2 246/1/1 +f 228/83/82 198/82/81 213/306/240 240/334/257 +f 240/334/257 213/306/240 207/310/236 241/337/251 +f 241/326/251 207/299/236 206/296/233 231/322/247 +f 231/322/247 206/296/233 197/26/26 226/25/25 +f 91/15/15 158/14/14 161/485/347 99/202/169 +f 99/202/169 161/485/347 160/486/348 100/205/172 +f 100/216/172 160/487/348 159/473/349 106/212/176 +f 106/212/176 159/473/349 157/18/18 92/39/38 +f 289/68/67 308/67/66 313/424/315 292/398/297 +f 292/398/297 313/424/315 323/428/319 293/401/300 +f 293/412/300 323/441/319 322/438/326 300/408/307 +f 300/408/307 322/438/326 310/42/41 290/41/40 +f 290/41/40 247/29/29 261/360/275 298/406/305 +f 298/406/305 261/360/275 255/364/271 299/409/308 +f 299/420/308 255/353/271 254/350/268 305/416/312 +f 305/416/312 254/350/268 246/1/1 291/11/11 +f 309/71/70 182/33/32 185/477/335 317/430/321 +f 317/430/321 185/477/335 184/476/336 318/433/324 +f 318/444/324 184/475/336 183/474/337 324/440/328 +f 324/440/328 183/474/337 181/30/28 310/42/41 +f 377/4/4 372/3/3 374/488/353 379/489/354 +f 379/489/354 374/488/353 375/490/355 380/491/356 +f 380/492/356 375/493/355 376/494/357 381/495/358 +f 381/495/358 376/494/357 373/85/84 378/88/87 +f 362/79/78 357/78/77 359/496/359 364/497/360 +f 364/497/360 359/496/359 360/498/361 365/499/362 +f 365/500/362 360/501/361 361/502/363 366/503/364 +f 366/503/364 361/502/363 358/87/86 363/86/85 +f 382/5/5 377/4/4 379/489/354 384/504/365 +f 384/504/365 379/489/354 380/505/356 385/506/366 +f 385/507/366 380/508/356 381/509/358 386/510/367 +f 386/510/367 381/509/358 378/88/87 383/90/89 +f 357/78/77 352/77/76 354/511/368 359/496/359 +f 359/496/359 354/511/368 355/512/369 360/513/361 +f 360/514/361 355/515/369 356/516/370 361/517/363 +f 361/517/363 356/516/370 353/89/88 358/87/86 +f 387/6/6 382/5/5 384/504/365 389/518/371 +f 389/518/371 384/504/365 385/519/366 390/520/372 +f 390/521/372 385/522/366 386/523/367 391/524/373 +f 391/524/373 386/523/367 383/90/89 388/92/91 +f 352/77/76 347/76/75 349/525/374 354/511/368 +f 354/511/368 349/525/374 350/526/375 355/527/369 +f 355/528/369 350/529/375 351/530/376 356/531/370 +f 356/531/370 351/530/376 348/91/90 353/89/88 +f 392/7/7 387/6/6 389/518/371 394/532/377 +f 394/532/377 389/518/371 390/533/372 395/534/378 +f 395/535/378 390/536/372 391/537/373 396/538/379 +f 396/538/379 391/537/373 388/92/91 393/94/93 +f 347/76/75 342/75/74 344/539/380 349/525/374 +f 349/525/374 344/539/380 345/540/381 350/541/375 +f 350/542/375 345/543/381 346/544/382 351/545/376 +f 351/545/376 346/544/382 343/93/92 348/91/90 +f 397/8/8 392/7/7 394/532/377 399/546/383 +f 399/546/383 394/532/377 395/547/378 400/548/384 +f 400/549/384 395/550/378 396/551/379 401/552/385 +f 401/552/385 396/551/379 393/94/93 398/96/95 +f 342/75/74 337/74/73 339/553/386 344/539/380 +f 344/539/380 339/553/386 340/554/387 345/555/381 +f 345/556/381 340/557/387 341/558/388 346/559/382 +f 346/559/382 341/558/388 338/95/94 343/93/92 +f 402/9/9 397/8/8 399/546/383 404/560/389 +f 404/560/389 399/546/383 400/561/384 405/562/390 +f 405/563/390 400/564/384 401/565/385 406/566/391 +f 406/566/391 401/565/385 398/96/95 403/80/79 +f 337/74/73 332/73/72 334/567/392 339/553/386 +f 339/553/386 334/567/392 335/568/393 340/569/387 +f 340/570/387 335/571/393 336/572/394 341/573/388 +f 341/573/388 336/572/394 333/81/80 338/95/94 +f 367/10/10 402/9/9 404/560/389 369/574/395 +f 369/574/395 404/560/389 405/575/390 370/576/396 +f 370/577/396 405/578/390 406/579/391 371/580/397 +f 371/580/397 406/579/391 403/80/79 368/69/68 +f 332/73/72 327/72/71 329/581/398 334/567/392 +f 334/567/392 329/581/398 330/582/399 335/583/393 +f 335/584/393 330/585/399 331/586/400 336/587/394 +f 336/587/394 331/586/400 328/70/69 333/81/80 +f 308/67/66 328/70/69 331/588/400 311/422/313 +f 311/422/313 331/588/400 330/589/399 312/425/316 +f 312/436/316 330/590/399 329/581/398 319/432/323 +f 319/432/323 329/581/398 327/72/71 309/71/70 +f 291/11/11 367/10/10 369/574/395 303/414/310 +f 303/414/310 369/574/395 370/591/396 304/417/303 +f 304/404/303 370/592/396 371/593/397 294/400/299 +f 294/400/299 371/593/397 368/69/68 289/68/67 +f 372/3/3 266/2/2 281/384/291 374/488/353 +f 374/488/353 281/384/291 275/388/287 375/594/355 +f 375/595/355 275/377/287 274/374/284 376/596/357 +f 376/596/357 274/374/284 265/60/59 373/85/84 +f 186/34/33 362/79/78 364/497/360 188/481/352 +f 188/481/352 364/497/360 365/597/362 189/598/351 +f 189/599/351 365/600/362 366/601/364 190/602/350 +f 190/602/350 366/601/364 363/86/85 187/59/58 +f 10/105/104 5/32/31 134/31/30 152/61/60 diff --git a/godot/RainEffects3D/rain_object.obj.import b/godot/RainEffects3D/rain_object.obj.import new file mode 100644 index 0000000..5e16b49 --- /dev/null +++ b/godot/RainEffects3D/rain_object.obj.import @@ -0,0 +1,20 @@ +[remap] + +importer="wavefront_obj" +type="Mesh" +path="res://.import/rain_object.obj-81cc60fbc698583581e553d8a8a72224.mesh" + +[deps] + +files=[ "res://.import/rain_object.obj-81cc60fbc698583581e553d8a8a72224.mesh" ] + +source_file="res://RainEffects3D/rain_object.obj" +dest_files=[ "res://.import/rain_object.obj-81cc60fbc698583581e553d8a8a72224.mesh", "res://.import/rain_object.obj-81cc60fbc698583581e553d8a8a72224.mesh" ] + +[params] + +generate_tangents=true +scale_mesh=Vector3( 1, 1, 1 ) +offset_mesh=Vector3( 0, 0, 0 ) +octahedral_compression=true +optimize_mesh_flags=4286 diff --git a/godot/RainEffects3D/raindrop_ring_patterns.png b/godot/RainEffects3D/raindrop_ring_patterns.png new file mode 100644 index 0000000..f320d64 Binary files /dev/null and b/godot/RainEffects3D/raindrop_ring_patterns.png differ diff --git a/godot/RainEffects3D/raindrop_ring_patterns.png.import b/godot/RainEffects3D/raindrop_ring_patterns.png.import new file mode 100644 index 0000000..2b1b6c3 --- /dev/null +++ b/godot/RainEffects3D/raindrop_ring_patterns.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/raindrop_ring_patterns.png-d491f6a7525fabd65d92f6c1e7b3460b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://RainEffects3D/raindrop_ring_patterns.png" +dest_files=[ "res://.import/raindrop_ring_patterns.png-d491f6a7525fabd65d92f6c1e7b3460b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=true +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/godot/RainEffects3D/rings_drops.gdshader b/godot/RainEffects3D/rings_drops.gdshader new file mode 100644 index 0000000..d4bc347 --- /dev/null +++ b/godot/RainEffects3D/rings_drops.gdshader @@ -0,0 +1,97 @@ +shader_type spatial; + +uniform vec4 albedo : hint_color = vec4(0.0, 0.0, 0.0, 0.3); +uniform float roughness : hint_range(0.0, 1.0) = 0.2; +uniform float normal_scale : hint_range(-16.0, 16.0) = 1.0; + +uniform float ring_width : hint_range(0.0, 1.0) = 0.1; +uniform float ring_fadeout : hint_range(0.0, 1.0) = 0.6; +uniform float ring_scale : hint_range(0.1, 8.0) = 1.0; + +uniform float drop_speed : hint_range(0.1, 2.0) = 1.0; +uniform float drop_scale : hint_range(0.1, 8.0) = 1.0; + +uniform sampler2D ring_pattern_texture; +uniform sampler2D drop_texture; +uniform sampler2D drop_uv_texture; + +void vertex() { + TANGENT = vec3(0.0, 0.0, -1.0) * abs(NORMAL.x); + TANGENT += vec3(1.0, 0.0, 0.0) * abs(NORMAL.y); + TANGENT += vec3(1.0, 0.0, 0.0) * abs(NORMAL.z); + TANGENT = normalize(TANGENT); + BINORMAL = vec3(0.0, 1.0, 0.0) * abs(NORMAL.x); + BINORMAL += vec3(0.0, 0.0, -1.0) * abs(NORMAL.y); + BINORMAL += vec3(0.0, 1.0, 0.0) * abs(NORMAL.z); + BINORMAL = normalize(BINORMAL); +} + +void fragment() { + // We make the triplaner mapping world space by converting + // NORMAL and VERTEX to world space in the lines below + // We calculate these in the fragment shader instead of + // the vertex shader for nicer interpolation + vec3 uv_power_normal = pow(abs(mat3(CAMERA_MATRIX) * NORMAL), vec3(50.0)); + uv_power_normal /= dot(uv_power_normal, vec3(1.0)); + vec3 uv_triplanar_pos = (CAMERA_MATRIX * vec4(VERTEX, 1.0)).xyz; + uv_triplanar_pos *= vec3(1.0,-1.0, 1.0); + + // Top Rings + vec4 ring_pattern = texture(ring_pattern_texture, uv_triplanar_pos.xz / ring_scale); + + float fct_time = fract(TIME + ring_pattern.a); + float fade = (1.0 - fct_time / ring_fadeout); + + float grad_inner = ring_pattern.b; + grad_inner -= fct_time; + grad_inner /= ring_width / 2.0; + grad_inner = clamp(grad_inner, 0.0, 1.0); + float ring_inner = smoothstep(0.0, 1.0, min(grad_inner, (1.0 - grad_inner)) * 2.0); + ring_inner = clamp(ring_inner, 0.0, 1.0); + + float grad_outer = ring_pattern.b; + grad_outer -= fct_time + ring_width / 2.0; + grad_outer /= ring_width / 2.0; + grad_outer = clamp(grad_outer, 0.0, 1.0); + float ring_outer = smoothstep(0.0, 1.0, min(grad_outer, (1.0 - grad_outer)) * 2.0); + ring_outer = clamp(ring_outer, 0.0, 1.0); + + float grad = ring_pattern.b; + grad -= fct_time; + grad /= ring_width; + grad = clamp(grad, 0.0, 1.0); + float ring = smoothstep(0.0, 1.0, min(grad, (1.0 - grad)) * 2.0); + ring *= fade; + ring = clamp(ring, 0.0, 1.0); + + // As our normal map is for the inside of the ring, we make an inverted + // version for the outside by unpacking, multiplying by -1.0 and repacking + vec2 inverted_rings_normal_map = (((ring_pattern.rg * 2.0 - 1.0) * -1.0) + 1.0) / 2.0; + vec3 rings_normal_map = mix(vec3(0.5, 0.5, 0.0), vec3(ring_pattern.rg, 0.0), ring_inner); + rings_normal_map = mix(rings_normal_map, vec3(inverted_rings_normal_map, 0.0), ring_outer); + rings_normal_map.z = ring; + + // Running Drops + vec4 rain_uv_xy = texture(drop_uv_texture, uv_triplanar_pos.xy / drop_scale); + rain_uv_xy.y = uv_triplanar_pos.y / drop_scale; + vec4 rain_uv_zy = texture(drop_uv_texture, uv_triplanar_pos.zy / drop_scale); + rain_uv_zy.y = uv_triplanar_pos.y / drop_scale; + rain_uv_xy.y += (sin(TIME + rain_uv_xy.b * 6.28) * 0.1 * rain_uv_xy.b - TIME * rain_uv_xy.b * .35) * drop_speed; + rain_uv_zy.y += (sin(TIME + rain_uv_zy.b * 6.28) * 0.1 * rain_uv_zy.b - TIME * rain_uv_zy.b * .35) * drop_speed; + + vec4 drops_pattern_xy = texture(drop_texture, rain_uv_xy.rg); + vec4 drops_pattern_zy = texture(drop_texture, rain_uv_zy.rg); + + vec4 drops_pattern = mix(drops_pattern_xy, drops_pattern_zy, uv_power_normal.x); + drops_pattern = mix(drops_pattern, vec4(0.5, 0.5, 0.0, 1.0), uv_power_normal.y); + + // Combine + float top_mask = smoothstep(1.0, 0.5, dot(mat3(CAMERA_MATRIX) * NORMAL, vec3(0.0, 1.0, 0.0))); + vec3 combined = mix(rings_normal_map, drops_pattern.rgb, top_mask); + + ROUGHNESS = roughness; + NORMALMAP = combined; + NORMALMAP_DEPTH = normal_scale; + ALBEDO = albedo.rgb; + ALPHA = combined.b * albedo.a; +} diff --git a/godot/RainEffects3D/splash_outline.gdshader b/godot/RainEffects3D/splash_outline.gdshader new file mode 100644 index 0000000..43cdb0d --- /dev/null +++ b/godot/RainEffects3D/splash_outline.gdshader @@ -0,0 +1,46 @@ +shader_type spatial; +render_mode cull_front; + +uniform vec4 albedo : hint_color = vec4(1.0); +uniform float height : hint_range(0.0, 2.0) = 0.5; +uniform float roughness : hint_range(0.0, 1.0) = 0.2; +uniform float normal_strength : hint_range(-16.0, 16.0) = 1.0; +uniform float frame_rate : hint_range(6.0, 60.0, 1.0) = 12.0; +uniform float splash_size : hint_range(0.1, 8.0) = 1.0; +uniform float refraction : hint_range(-16,16) = 0.05; +uniform sampler2D splashes_texture; +uniform sampler2D profile_noise_texture; + +varying float distance_to_camera; + +void vertex() { + // We round the value so it only changes the uv scale of the rain in big steps + distance_to_camera = length( (MODELVIEW_MATRIX * vec4(0.0, 0.0, 0.0, 1.0)).xyz ); + distance_to_camera = round(distance_to_camera); + + float z_mask = step(0.0, ( mat3(WORLD_MATRIX) * NORMAL).y); + VERTEX += (vec4(0.0, height, 0.0, 0.0) * WORLD_MATRIX).xyz * z_mask; +} + +void fragment() { + float time = fract(floor(TIME * frame_rate) / frame_rate); + vec3 splashes = texture(splashes_texture, -SCREEN_UV * vec2(1.0, VIEWPORT_SIZE.y / VIEWPORT_SIZE.x) * distance_to_camera / splash_size + vec2(time * 37.21, -time * 12.34)).rgb; + float fresnel = max(0.0, dot(NORMAL, VIEW)); + float profile_noise = texture(profile_noise_texture, -SCREEN_UV * vec2(1.0, VIEWPORT_SIZE.y / VIEWPORT_SIZE.x) * distance_to_camera).r; + + // Refraction + vec3 unpacked_normal = NORMALMAP; + unpacked_normal.xy = unpacked_normal.xy * 2.0 - 1.0; + unpacked_normal.z = sqrt(max(0.0, 1.0 - dot(unpacked_normal.xy, unpacked_normal.xy))); + vec3 ref_normal = normalize( mix(NORMAL,TANGENT * unpacked_normal.x + BINORMAL * unpacked_normal.y + NORMAL * unpacked_normal.z, NORMALMAP_DEPTH) ); + vec2 ref_ofs = SCREEN_UV - ref_normal.xy * refraction; + float ref_amount = 1.0 - albedo.a; + + ALBEDO = albedo.rgb; + ALBEDO *= 1.0 - ref_amount; + NORMAL = VIEW; + NORMALMAP = splashes * normal_strength; + ROUGHNESS = roughness; + EMISSION += textureLod(SCREEN_TEXTURE, ref_ofs, ROUGHNESS * 8.0).rgb * ref_amount; + ALPHA = max(0.0, smoothstep(0.0, 0.5, fresnel) * splashes.b - profile_noise); +} \ No newline at end of file diff --git a/godot/RainEffects3D/water_splashes.png b/godot/RainEffects3D/water_splashes.png new file mode 100644 index 0000000..4a03a40 Binary files /dev/null and b/godot/RainEffects3D/water_splashes.png differ diff --git a/godot/RainEffects3D/water_splashes.png.import b/godot/RainEffects3D/water_splashes.png.import new file mode 100644 index 0000000..28a8e0d --- /dev/null +++ b/godot/RainEffects3D/water_splashes.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/water_splashes.png-4cf905983f2dacd9c65b6be767b003fd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://RainEffects3D/water_splashes.png" +dest_files=[ "res://.import/water_splashes.png-4cf905983f2dacd9c65b6be767b003fd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=true +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/godot/Screens/RainEffects3DDemo.tscn b/godot/Screens/RainEffects3DDemo.tscn new file mode 100644 index 0000000..cc696ec --- /dev/null +++ b/godot/Screens/RainEffects3DDemo.tscn @@ -0,0 +1,112 @@ +[gd_scene load_steps=18 format=2] + +[ext_resource path="res://RainEffects3D/rings_drops.gdshader" type="Shader" id=1] +[ext_resource path="res://RainEffects3D/splash_outline.gdshader" type="Shader" id=2] +[ext_resource path="res://Vines3D/checker.png" type="Texture" id=3] +[ext_resource path="res://RainEffects3D/water_splashes.png" type="Texture" id=4] +[ext_resource path="res://RainEffects3D/drop.png" type="Texture" id=5] +[ext_resource path="res://RainEffects3D/raindrop_ring_patterns.png" type="Texture" id=6] +[ext_resource path="res://RainEffects3D/drop_uvs.png" type="Texture" id=7] +[ext_resource path="res://RainEffects3D/rain_object.obj" type="ArrayMesh" id=8] + +[sub_resource type="OpenSimplexNoise" id=2] +octaves = 1 + +[sub_resource type="NoiseTexture" id=3] +seamless = true +noise = SubResource( 2 ) + +[sub_resource type="ShaderMaterial" id=4] +shader = ExtResource( 2 ) +shader_param/albedo = Color( 0.745098, 0.745098, 0.745098, 0.498039 ) +shader_param/height = 0.4 +shader_param/roughness = 0.1 +shader_param/normal_strength = 1.0 +shader_param/frame_rate = 12.0 +shader_param/splash_size = 4.0 +shader_param/refraction = 0.05 +shader_param/splashes_texture = ExtResource( 4 ) +shader_param/profile_noise_texture = SubResource( 3 ) + +[sub_resource type="ShaderMaterial" id=5] +next_pass = SubResource( 4 ) +shader = ExtResource( 1 ) +shader_param/albedo = Color( 0.494118, 0.494118, 0.494118, 0.317647 ) +shader_param/roughness = 0.2 +shader_param/normal_scale = 2.0 +shader_param/ring_width = 0.2 +shader_param/ring_fadeout = 0.35 +shader_param/ring_scale = 3.0 +shader_param/drop_speed = 2.0 +shader_param/drop_scale = 2.0 +shader_param/ring_pattern_texture = ExtResource( 6 ) +shader_param/drop_texture = ExtResource( 5 ) +shader_param/drop_uv_texture = ExtResource( 7 ) + +[sub_resource type="SpatialMaterial" id=1] +next_pass = SubResource( 5 ) +albedo_texture = ExtResource( 3 ) +roughness = 0.5 +uv1_scale = Vector3( 12, 12, 12 ) + +[sub_resource type="ProceduralSky" id=6] + +[sub_resource type="Environment" id=7] +background_mode = 2 +background_sky = SubResource( 6 ) +ambient_light_energy = 0.5 +tonemap_mode = 4 + +[sub_resource type="Animation" id=8] +resource_name = "CameraMove" +length = 8.0 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("CameraPivot:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 8 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 0, 360, 0 ) ] +} + +[sub_resource type="Animation" id=9] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("CameraPivot:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ) ] +} + +[node name="RainEffects3DDemo" type="Spatial"] + +[node name="Level" type="MeshInstance" parent="."] +mesh = ExtResource( 8 ) +material/0 = SubResource( 1 ) + +[node name="CameraPivot" type="Spatial" parent="."] + +[node name="Camera" type="Camera" parent="CameraPivot"] +transform = Transform( 1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 6.5, 10 ) + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource( 7 ) + +[node name="DirectionalLight" type="DirectionalLight" parent="."] +transform = Transform( 1, 0, 0, 0, -0.707107, 0.707107, 0, -0.707107, -0.707107, 0, 20, 0 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "CameraMove" +anims/CameraMove = SubResource( 8 ) +anims/RESET = SubResource( 9 )