]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
Level objects have colliders
authorLockedLunatic <locked.lunatic@aon.at>
Sat, 25 Jun 2016 01:57:53 +0000 (03:57 +0200)
committerLockedLunatic <locked.lunatic@aon.at>
Sat, 25 Jun 2016 01:57:53 +0000 (03:57 +0200)
backface culling for shadows
doors
lever doesn't throw exceptions anymore

19 files changed:
Weave/Game.cpp
Weave/Graphix/Graphix.cpp
Weave/Scene/Door.cpp [new file with mode: 0644]
Weave/Scene/Door.h [new file with mode: 0644]
Weave/Scene/Lever.cpp
Weave/Scene/Lever.h
Weave/Scene/Scene.cpp
Weave/Weave.vcxproj
Weave/Weave.vcxproj.filters
models/Door.blend
models/Door.blend1
models/Door.dae
models/boulder.blend
models/boulder.blend1
models/boulder.dae
models/boulder_col.dae [new file with mode: 0644]
models/level_2.blend
models/level_2.blend1
models/level_2.dae

index a5c371b06cf9ce7a5a25cec9c9ef913845941205..672bc8dba0fdabff695f97fcf7e599e979ba27b9 100644 (file)
@@ -59,20 +59,29 @@ Game::Game() : playing(true)
        Lever* lever1 = new Lever(translate(vec3(2.55167f, 2.51451f, -5.54817f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "default_2D.png");\r
        current_world->addObject(lever1);\r
        lever1->setAnimationLoop(false);\r
-       //lever1->setup(door1);\r
-\r
-\r
-       current_world->addObject(new SceneObject(translate(vec3(-5.50806f, 0.91084f, 19.01143f)) * rotate(-1.57f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(-5.50806f, -0.52355f, 7.75976f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(3.0515f, -1.3978f, -3.00258f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(3.0515f, -1.3978f, -6.02786f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(10.0674f, -1.3978f, -1.83059f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(10.02701f, -1.3978f, 1.3517f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(16.17073f, -1.46596f, -5.34347f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(21.94122f, -1.36633f, 2.71334f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(30.17974f, -3.34705f, -2.16098f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(18.57976f, 2.46041f, -1.78333f)) * rotate(0.51f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
-       current_world->addObject(new SceneObject(translate(vec3(26.31248f, 1.66742f, 0.82817f)) * rotate(-0.95f, vec3(0, 1, 0)) * rotate(-0.35f, vec3(1, 0, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
+\r
+\r
+       Door* door1 = new Door(translate(vec3(-9.78039f, -1.06029f, -6.46377f)) * rotate(1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png");\r
+       current_world->addObject(door1);\r
+       door1->setup(1.5708f, vec3(0, 1, 0), 1);\r
+       lever1->setup(door1);\r
+       Door* door2 = new Door(translate(vec3(-2.58412f, -1.06029f, -6.46377f)) * rotate(-1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png");\r
+       current_world->addObject(door2);\r
+       door2->setup(-1.5708f, vec3(0, 1, 0), 1);\r
+       lever1->setup(door2);\r
+\r
+\r
+       current_world->addObject(new Level(translate(vec3(-5.50806f, 0.91084f, 19.01143f)) * rotate(-1.57f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(-5.50806f, -0.52355f, 7.75976f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -3.00258f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -6.02786f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(10.0674f, -1.3978f, -1.83059f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(10.02701f, -1.3978f, 1.3517f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(16.17073f, -1.46596f, -5.34347f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(21.94122f, -1.36633f, 2.71334f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(30.17974f, -3.34705f, -2.16098f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(18.57976f, 2.46041f, -1.78333f)) * rotate(0.51f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
+       current_world->addObject(new Level(translate(vec3(26.31248f, 1.66742f, 0.82817f)) * rotate(-0.95f, vec3(0, 1, 0)) * rotate(-0.35f, vec3(1, 0, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png"));\r
 \r
 \r
        current_world->addObject(new Boar(translate(vec3(-7.14729f, 0.1f, -3.08567f)) * rotate(1.5f, vec3(0, 1, 0))));\r
index 9faa62b5b01e9cf03f139b941dcb4d07158f7f9e..18fbb26be90ac52eda8125ea7cfd63ab2ccd67cc 100644 (file)
@@ -144,6 +144,7 @@ void Graphix::init()
        //glEnable(GL_LIGHTING);\r
        //glEnable(GL_LIGHT0);\r
        glEnable(GL_CULL_FACE);\r
+       glCullFace(GL_BACK);\r
        glShadeModel(GL_SMOOTH);\r
 \r
        glEnable(GL_BLEND);\r
diff --git a/Weave/Scene/Door.cpp b/Weave/Scene/Door.cpp
new file mode 100644 (file)
index 0000000..7e19a69
--- /dev/null
@@ -0,0 +1,70 @@
+#include "Door.h"
+
+Door::Door(std::string modelpath, std::string texturepath) : Level(modelpath, texturepath),
+angle(0), axis(vec3(0, 1, 0)), duration(0), speed(0), time(0)
+{
+       original = modelMat;
+}
+
+Door::Door(const mat4& modelMat, const vec4& material, string modelpath, string texturepath) : Level(modelMat, material, modelpath, texturepath),
+angle(0), axis(vec3(0, 1, 0)), duration(0), speed(0), time(0)
+{
+       original = modelMat;
+}
+
+Door::~Door()
+{
+
+}
+
+void Door::setup(float _angle, vec3 _axis, float _duration)
+{
+       angle = _angle;
+       axis = _axis;
+       duration = _duration;
+}
+
+void Door::trigger()
+{
+       //TODO add event
+       if (speed == 0)
+       {
+               if (time == 0)
+               {
+                       speed = 1;
+               }
+               else
+               {
+                       speed = -1;
+               }
+       }
+       else
+       {
+               speed = -speed;
+       }
+}
+
+void Door::reverseTrigger()
+{
+
+}
+
+//TODO overwrite update
+void Door::update(float deltaT)
+{
+       time = time + speed * deltaT;
+       if (time < 0)
+       {
+               time = 0;
+               speed = 0;
+       }
+       if (time > duration)
+       {
+               time = duration;
+               speed = 0;
+       }
+
+       modelMat = original * rotate(angle * time / duration, axis);
+
+       Level::update(deltaT);
+}
\ No newline at end of file
diff --git a/Weave/Scene/Door.h b/Weave/Scene/Door.h
new file mode 100644 (file)
index 0000000..70de4c4
--- /dev/null
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "../GLM.h"
+
+#include "Level.h"
+
+class Door : public Level
+{
+public:
+       Door(std::string modelpath, std::string texturepath);
+       Door(const mat4& modelMat, const vec4& material, string modelpath, string texturepath);
+       ~Door();
+
+       void update(float) override;
+
+       void setup(float angle, vec3 axis, float _duration);
+       void trigger();
+       void reverseTrigger();
+
+protected:
+       mat4 original;
+       float angle;
+       vec3 axis;
+       float duration;
+
+       float speed;
+       float time;
+};
\ No newline at end of file
index b4c2de841576b396548c67b2057c834c92d0e855..57879aa6604039ec2f566fe7ace4376aecc17cbc 100644 (file)
@@ -5,7 +5,6 @@
 Lever::Lever(const mat4& _modelMat, const vec4& _material, string _modelpath, string texturepath) : SceneObject(_modelMat, _material, _modelpath, texturepath)
 {
        turned = false;
-       recipient = nullptr;
        collide_group = COL_LEVER;
        collide_with = COL_EVENT;
 }
@@ -15,9 +14,9 @@ Lever::~Lever()
 
 }
 
-void Lever::setup(SceneObject* object)
+void Lever::setup(Door* object)
 {
-       recipient = object;
+       recipients.push_back(object);
 }
 
 void Lever::trigger()
@@ -32,14 +31,20 @@ void Lever::trigger()
        if (turned)
        {
                this->startanimation((uint)0, 1.0f);
-               recipient->startanimation((uint)0, 1.0f);
+               for (auto i = recipients.cbegin(); i != recipients.cend(); ++i)
+               {
+                       (*i)->trigger();
+               }
 
                Message::info("Sesam öffne dich!");
        }
        else
        {
                this->startanimation((uint)0, -1.0f);
-               recipient->startanimation((uint)0, -1.0f);
+               for (auto i = recipients.cbegin(); i != recipients.cend(); ++i)
+               {
+                       (*i)->trigger();
+               }
 
                Message::info("Sesam schließe dich!");
        }
index f852d6e588abeb69eb15bbd71435b39d55fdc11b..1604c173bbb930b4f8568969f7fb634d7b4fd032 100644 (file)
@@ -3,6 +3,9 @@
 #include "../GLM.h"
 
 #include "SceneObject.h"
+#include "Door.h"
+
+#include <list>
 
 typedef unsigned int uint;
 
@@ -11,11 +14,11 @@ class Lever : public SceneObject
 public:
        Lever(const mat4& _modelMat, const vec4& _material, string _modelpath, string texturepath);
        ~Lever();
-       void setup(SceneObject* object);
+       void setup(Door* object);
        void trigger();
        void reverseTrigger();
 
 protected:
-       SceneObject* recipient;
+       std::list<Door*> recipients;
        bool turned;
 };
\ No newline at end of file
index 396eb68a5212733d35e419ce581f47063390ea76..5d83d6b8a853e439b4030580d396ec1af72b8ca6 100644 (file)
@@ -301,7 +301,7 @@ void Scene::draw() const
        }
 
        /* Prepare Shadows */
-       glCullFace(GL_FRONT);
+       //glCullFace(GL_BACK);
        glEnable(GL_POLYGON_OFFSET_FILL);
        glPolygonOffset(4.f, 0.f);
        glViewport(0, 0, 1024, 1024);
@@ -314,7 +314,7 @@ void Scene::draw() const
        drawSceneObjects(DRAW_Model,false);
 
 
-       glCullFace(GL_BACK);
+       //glCullFace(GL_BACK);
        glDisable(GL_POLYGON_OFFSET_FILL);
        glViewport(0, 0, W_WIDTH, W_HEIGHT);
 
index 3d219691f8a6fed614be6d4cc7229ceb524433df..8255fa7c3f7f35526d0af15786dfa939e459f283 100644 (file)
     <ClCompile Include="Graphix\Textures\Texture.cpp" />\r
     <ClCompile Include="Scene\Boar.cpp" />\r
     <ClCompile Include="Scene\Camera.cpp" />\r
+    <ClCompile Include="Scene\Door.cpp" />\r
     <ClCompile Include="Scene\EventBox.cpp" />\r
     <ClCompile Include="Scene\Level.cpp" />\r
     <ClCompile Include="Scene\Lever.cpp" />\r
     <ClInclude Include="Graphix\Textures\Texture.h" />\r
     <ClInclude Include="Scene.h" />\r
     <ClInclude Include="Scene\Camera.h" />\r
+    <ClInclude Include="Scene\Door.h" />\r
     <ClInclude Include="Scene\EventBox.h" />\r
     <ClInclude Include="Scene\Level.h" />\r
     <ClInclude Include="Scene\Lever.h" />\r
index cc39f757a58f85d52295242bff8ede17f9344ecb..d92779ee7042806f599e5e8abdbf9a1ab4787282 100644 (file)
     <ClCompile Include="Scene\Lever.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="Scene\Boar.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="Scene\Door.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="Fps.h">\r
     <ClInclude Include="Scene\Lever.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="Scene\Boar.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="Scene\Door.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
 </Project>
\ No newline at end of file
index 90082e02e2eb12e8168bc47f56d48dc2c7847374..6afb7500b44df186ec3bd3c95fca2e5f1b4f1290 100644 (file)
Binary files a/models/Door.blend and b/models/Door.blend differ
index 064a6110536bbf0e94843eedac12118040a4a8d8..09bc6208e1308283c4585b4815e4ad62bf8ab9f4 100644 (file)
Binary files a/models/Door.blend1 and b/models/Door.blend1 differ
index b14047fa501075f12cfd980e6858c6aef23d36a3..70590f7efbab4f1345ffe0ffed416adb4dbbbe51 100644 (file)
@@ -3,10 +3,10 @@
   <asset>
     <contributor>
       <author>Blender User</author>
-      <authoring_tool>Blender 2.76.0 commit date:2015-11-03, commit time:10:56, hash:f337fea</authoring_tool>
+      <authoring_tool>Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08</authoring_tool>
     </contributor>
-    <created>2016-06-24T14:33:11</created>
-    <modified>2016-06-24T14:33:11</modified>
+    <created>2016-06-25T03:53:00</created>
+    <modified>2016-06-25T03:53:00</modified>
     <unit name="meter" meter="1"/>
     <up_axis>Z_UP</up_axis>
   </asset>
@@ -15,7 +15,7 @@
     <geometry id="Cube_001-mesh" name="Cube.001">
       <mesh>
         <source id="Cube_001-mesh-positions">
-          <float_array id="Cube_001-mesh-positions-array" count="24">-0.07499998 -1.2 0 -0.07499998 -1.2 3 -0.07499998 0 0 -0.07499998 0 3 0.07499998 -1.2 0 0.07499998 -1.2 3 0.07499998 0 0 0.07499998 0 3</float_array>
+          <float_array id="Cube_001-mesh-positions-array" count="24">-0.07499998 -3.6 0 -0.07499998 -3.6 3.9 -0.07499998 0 0 -0.07499998 0 3.9 0.07499998 -3.6 0 0.07499998 -3.6 3.9 0.07499998 0 0 0.07499998 0 3.9</float_array>
           <technique_common>
             <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
               <param name="X" type="float"/>
@@ -35,7 +35,7 @@
           </technique_common>
         </source>
         <source id="Cube_001-mesh-map-0">
-          <float_array id="Cube_001-mesh-map-0-array" count="72">0.8421047 0 0.8421049 1 0.4210527 1 0.8947365 0 0.8947367 1 0.8421052 1 0.4210522 0 0.4210526 0.9999998 3.97357e-7 1 0.9473683 0 0.9473683 0.9999998 0.8947368 0.9999998 0.9473684 0.3999999 1 0.3999999 0.9999999 0.7999998 1 0.3999999 0.9473685 0.3999999 0.9473684 0 0.4210525 0 0.8421047 0 0.4210527 1 0.8421049 0 0.8947365 0 0.8421052 1 0 0 0.4210522 0 3.97357e-7 1 0.8947367 0 0.9473683 0 0.8947368 0.9999998 0.9473684 0.7999998 0.9473684 0.3999999 0.9999999 0.7999998 0.9999999 0 1 0.3999999 0.9473684 0</float_array>
+          <float_array id="Cube_001-mesh-map-0-array" count="72">0.8421047 0 0.4210527 1 0.4210525 0 0.8947365 0 0.8421052 1 0.8421049 0 0.4210522 0 3.97357e-7 1 0 0 0.9473683 0 0.8947368 0.9999998 0.8947367 0 0.9473684 0.3999999 0.9999999 0.7999998 0.9473684 0.7999998 1 0.3999999 0.9473684 0 0.9999999 0 0.8421047 0 0.8421049 1 0.4210527 1 0.8947365 0 0.8947367 1 0.8421052 1 0.4210522 0 0.4210526 0.9999998 3.97357e-7 1 0.9473683 0 0.9473683 0.9999998 0.8947368 0.9999998 0.9473684 0.3999999 1 0.3999999 0.9999999 0.7999998 1 0.3999999 0.9473685 0.3999999 0.9473684 0</float_array>
           <technique_common>
             <accessor source="#Cube_001-mesh-map-0-array" count="36" stride="2">
               <param name="S" type="float"/>
           <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
           <input semantic="TEXCOORD" source="#Cube_001-mesh-map-0" offset="2" set="0"/>
           <vcount>3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
-          <p>3 0 0 2 0 1 0 0 2 7 1 3 6 1 4 2 1 5 5 2 6 4 2 7 6 2 8 1 3 9 0 3 10 4 3 11 2 4 12 6 4 13 4 4 14 7 5 15 3 5 16 1 5 17 1 0 18 3 0 19 0 0 20 3 1 21 7 1 22 2 1 23 7 2 24 5 2 25 6 2 26 5 3 27 1 3 28 4 3 29 0 4 30 2 4 31 4 4 32 5 5 33 7 5 34 1 5 35</p>
+          <p>3 0 0 0 0 1 1 0 2 7 1 3 2 1 4 3 1 5 5 2 6 6 2 7 7 2 8 1 3 9 4 3 10 5 3 11 2 4 12 4 4 13 0 4 14 7 5 15 1 5 16 5 5 17 3 0 18 2 0 19 0 0 20 7 1 21 6 1 22 2 1 23 5 2 24 4 2 25 6 2 26 1 3 27 0 3 28 4 3 29 2 4 30 6 4 31 4 4 32 7 5 33 3 5 34 1 5 35</p>
         </polylist>
       </mesh>
     </geometry>
   </library_geometries>
-  <library_animations>
-    <animation id="Cube_rotation_euler_X">
-      <source id="Cube_rotation_euler_X-input">
-        <float_array id="Cube_rotation_euler_X-input-array" count="2">0 2</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_X-input-array" count="2" stride="1">
-            <param name="TIME" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_X-output">
-        <float_array id="Cube_rotation_euler_X-output-array" count="2">0 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_X-output-array" count="2" stride="1">
-            <param name="ANGLE" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_X-interpolation">
-        <Name_array id="Cube_rotation_euler_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_X-interpolation-array" count="2" stride="1">
-            <param name="INTERPOLATION" type="name"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_X-intangent">
-        <float_array id="Cube_rotation_euler_X-intangent-array" count="4">-0.780823 0 1.219177 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_X-intangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_X-outtangent">
-        <float_array id="Cube_rotation_euler_X-outtangent-array" count="4">0.780823 0 2.780823 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_X-outtangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <sampler id="Cube_rotation_euler_X-sampler">
-        <input semantic="INPUT" source="#Cube_rotation_euler_X-input"/>
-        <input semantic="OUTPUT" source="#Cube_rotation_euler_X-output"/>
-        <input semantic="INTERPOLATION" source="#Cube_rotation_euler_X-interpolation"/>
-        <input semantic="IN_TANGENT" source="#Cube_rotation_euler_X-intangent"/>
-        <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_X-outtangent"/>
-      </sampler>
-      <channel source="#Cube_rotation_euler_X-sampler" target="Cube/rotationX.ANGLE"/>
-    </animation>
-    <animation id="Cube_rotation_euler_Y">
-      <source id="Cube_rotation_euler_Y-input">
-        <float_array id="Cube_rotation_euler_Y-input-array" count="2">0 2</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Y-input-array" count="2" stride="1">
-            <param name="TIME" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Y-output">
-        <float_array id="Cube_rotation_euler_Y-output-array" count="2">0 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Y-output-array" count="2" stride="1">
-            <param name="ANGLE" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Y-interpolation">
-        <Name_array id="Cube_rotation_euler_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Y-interpolation-array" count="2" stride="1">
-            <param name="INTERPOLATION" type="name"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Y-intangent">
-        <float_array id="Cube_rotation_euler_Y-intangent-array" count="4">-0.780823 0 1.219177 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Y-intangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Y-outtangent">
-        <float_array id="Cube_rotation_euler_Y-outtangent-array" count="4">0.780823 0 2.780823 0</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Y-outtangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <sampler id="Cube_rotation_euler_Y-sampler">
-        <input semantic="INPUT" source="#Cube_rotation_euler_Y-input"/>
-        <input semantic="OUTPUT" source="#Cube_rotation_euler_Y-output"/>
-        <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Y-interpolation"/>
-        <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Y-intangent"/>
-        <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Y-outtangent"/>
-      </sampler>
-      <channel source="#Cube_rotation_euler_Y-sampler" target="Cube/rotationY.ANGLE"/>
-    </animation>
-    <animation id="Cube_rotation_euler_Z">
-      <source id="Cube_rotation_euler_Z-input">
-        <float_array id="Cube_rotation_euler_Z-input-array" count="2">0 2</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Z-input-array" count="2" stride="1">
-            <param name="TIME" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Z-output">
-        <float_array id="Cube_rotation_euler_Z-output-array" count="2">0 90</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Z-output-array" count="2" stride="1">
-            <param name="ANGLE" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Z-interpolation">
-        <Name_array id="Cube_rotation_euler_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Z-interpolation-array" count="2" stride="1">
-            <param name="INTERPOLATION" type="name"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Z-intangent">
-        <float_array id="Cube_rotation_euler_Z-intangent-array" count="4">-0.780823 0 1.219177 90</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Z-intangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <source id="Cube_rotation_euler_Z-outtangent">
-        <float_array id="Cube_rotation_euler_Z-outtangent-array" count="4">0.780823 0 2.780823 90</float_array>
-        <technique_common>
-          <accessor source="#Cube_rotation_euler_Z-outtangent-array" count="2" stride="2">
-            <param name="X" type="float"/>
-            <param name="Y" type="float"/>
-          </accessor>
-        </technique_common>
-      </source>
-      <sampler id="Cube_rotation_euler_Z-sampler">
-        <input semantic="INPUT" source="#Cube_rotation_euler_Z-input"/>
-        <input semantic="OUTPUT" source="#Cube_rotation_euler_Z-output"/>
-        <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Z-interpolation"/>
-        <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Z-intangent"/>
-        <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Z-outtangent"/>
-      </sampler>
-      <channel source="#Cube_rotation_euler_Z-sampler" target="Cube/rotationZ.ANGLE"/>
-    </animation>
-  </library_animations>
   <library_controllers/>
   <library_visual_scenes>
     <visual_scene id="Scene" name="Scene">
       <node id="Cube" name="Cube" type="NODE">
-        <translate sid="location">0 0 0</translate>
-        <rotate sid="rotationZ">0 0 1 0</rotate>
-        <rotate sid="rotationY">0 1 0 0</rotate>
-        <rotate sid="rotationX">1 0 0 0</rotate>
-        <scale sid="scale">1 3 1.3</scale>
+        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
         <instance_geometry url="#Cube_001-mesh" name="Cube"/>
       </node>
     </visual_scene>
index 3564b3c6681f53aeb79eabc4a5a631d23475545c..f5b0763919bfac43680baffa7bbddb5f1539708c 100644 (file)
Binary files a/models/boulder.blend and b/models/boulder.blend differ
index f0b2bbd6f6e741f90b1719262fc364858ba17d10..3564b3c6681f53aeb79eabc4a5a631d23475545c 100644 (file)
Binary files a/models/boulder.blend1 and b/models/boulder.blend1 differ
index 8875e1d86e1553f985889f2566e2a92d60b7824b..637467a7e0313ae20eae7efb8051412a0b8bb520 100644 (file)
@@ -5,8 +5,8 @@
       <author>Blender User</author>
       <authoring_tool>Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08</authoring_tool>
     </contributor>
-    <created>2016-06-24T17:58:18</created>
-    <modified>2016-06-24T17:58:18</modified>
+    <created>2016-06-25T00:53:59</created>
+    <modified>2016-06-25T00:53:59</modified>
     <unit name="meter" meter="1"/>
     <up_axis>Z_UP</up_axis>
   </asset>
@@ -60,7 +60,7 @@
   <library_visual_scenes>
     <visual_scene id="Scene" name="Scene">
       <node id="Boulder" name="Boulder" type="NODE">
-        <matrix sid="transform">2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 1</matrix>
+        <matrix sid="transform">-2 1.74846e-7 0 0 -1.74846e-7 -2 0 0 0 0 2 0 0 0 0 1</matrix>
         <instance_geometry url="#Plane_008-mesh" name="Boulder"/>
       </node>
     </visual_scene>
diff --git a/models/boulder_col.dae b/models/boulder_col.dae
new file mode 100644 (file)
index 0000000..94a43c2
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+  <asset>
+    <contributor>
+      <author>Blender User</author>
+      <authoring_tool>Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08</authoring_tool>
+    </contributor>
+    <created>2016-06-25T00:53:42</created>
+    <modified>2016-06-25T00:53:42</modified>
+    <unit name="meter" meter="1"/>
+    <up_axis>Z_UP</up_axis>
+  </asset>
+  <library_images/>
+  <library_geometries>
+    <geometry id="Plane_008-mesh" name="Plane.008">
+      <mesh>
+        <source id="Plane_008-mesh-positions">
+          <float_array id="Plane_008-mesh-positions-array" count="81">-0.4649051 0.7266464 1.988688 0.524762 0.7266464 0.009353876 -0.4948233 0.6955534 0.02611315 0.05833733 -0.7263899 1.975411 -1.033598 0.8185883 0.5924209 1.007188 0.7126797 0.4859291 0.9869479 -0.7263899 1.50532 -0.525689 1.067899 1.602996 -0.4640123 0.9759569 0.5250952 0.4636024 1.071122 1.598153 0.1257888 1.045606 0.5370832 0.5256549 -1.003377 1.514762 0.3975188 -1.082101 0.412099 -0.5063025 -1.065505 1.340171 0.6391959 0.6758046 1.961963 0.7504444 -0.7999628 1.83086 -0.7348187 -0.8521165 0.1376461 0.553339 -0.6374564 0.05935144 0.4580541 -0.3600535 2.089924 -0.4926672 -0.6894046 1.975747 -0.9730294 0.7258709 1.494146 -0.9337189 -0.6117897 1.68473 -1.067228 -0.5670865 0.906024 -1.065436 -0.07473802 0.4117253 1.008306 -0.01371026 1.514762 1.007665 0.7188301 1.036191 1.004517 -0.7071495 0.5534489</float_array>
+          <technique_common>
+            <accessor source="#Plane_008-mesh-positions-array" count="27" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <source id="Plane_008-mesh-normals">
+          <float_array id="Plane_008-mesh-normals-array" count="144">0.5043614 0.3921115 0.7693297 0.8753615 0.473236 0.09894436 0.3150516 0.8903725 0.3286021 -0.3084243 -0.4674584 0.8284668 -0.7904149 -0.3693425 0.4887028 -0.3224955 -0.9269267 0.1918432 -0.3140131 0.3851536 0.8677859 -0.8379782 0.4343557 0.3303447 0.04892581 -0.9966545 0.06546932 0.8459599 -0.4383158 -0.3036959 0.9333034 0.03799623 0.357073 0.8582136 -0.4531258 0.241136 -0.4802803 -0.5827026 -0.6555825 0.3696832 -0.3196005 -0.872462 0.2284654 -0.9014711 -0.3676322 -0.3320488 0.8892989 0.3144698 0.8069673 0.4788517 -0.3456949 0.2375003 -0.9402353 0.2440314 -0.04989957 -0.06408905 -0.9966959 -0.5901585 0.03338772 -0.8065967 -0.1638315 -0.9762011 -0.1420942 0.1402384 -0.4315682 0.8911129 -0.003369331 0.9997306 -0.02296769 -0.913456 -0.2866556 -0.2888373 0.5241782 -0.6344029 -0.5681287 -0.0182178 -0.2801391 0.9597865 -0.2188231 0.9391084 -0.2649377 -0.7629802 0.6028459 -0.2333193 0.8120503 -0.03205668 0.5827065 -0.2977731 0.4394419 -0.8474798 0.08221948 0.9584951 -0.2729969 0.3334489 0.4709973 -0.8166844 0.9999946 -0.001155197 -0.003108501 0.02943623 0.1174741 0.9926396 -0.9966567 0.04027712 0.07108622 0.00100708 -0.6199902 0.7846089 -0.03083938 -0.8701024 0.4919052 0.5203895 -0.5480098 0.6548894 0.705521 0.05273997 0.7067239 0.9999979 -0.001921772 -8.44432e-4 -0.8988147 -0.01211601 -0.4381611 -0.9991909 0.03024959 0.0265066 -0.9243043 -0.3816425 -0.0032655 -0.01529753 -0.03694349 -0.9992004 0.02073282 -0.8473893 0.5305672 -0.6609318 -0.7504079 -0.007563054 -0.1169179 -0.006783246 0.9931184 0.7352538 -0.04503154 0.6762944</float_array>
+          <technique_common>
+            <accessor source="#Plane_008-mesh-normals-array" count="48" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <source id="Plane_008-mesh-map-0">
+          <float_array id="Plane_008-mesh-map-0-array" count="300">0.7596042 0.4403491 0.7969436 0.4301934 0.7793556 0.4497918 0.7673757 0.5709341 0.7806977 0.5204791 0.7850591 0.5282396 0.7806977 0.5204791 0.7596042 0.4890157 0.7789636 0.5088171 0.7850591 0.5282396 0 0 0 0 0.6824825 0.4393665 0 0 0.7596042 0.4497918 0.102088 0.06434798 0.8016521 0.5428163 0.8184401 0.5661268 0.7596042 0.4890157 0 0 0.7792162 0.4890157 0.810474 0.5771196 0.9104597 0.5273878 0.8194276 0.4301798 0.810474 0.5771196 0 0 0.8184401 0.5661268 0 0 0.6630296 0.3821479 0 0 0.102088 0.06434798 0 0 0 0 0.102088 0.06434798 0.8184401 0.5661268 0.7850591 0.5282396 0.7596042 0.5478516 0 0 0.563801 0.438968 0 0 0.7792162 0.4890157 0.7793556 0.4497918 0.7792162 0.4890157 0.7789636 0.5088171 0.7596042 0.4890157 0.102088 0.06434798 0 0 0 0 0.8016521 0.5428163 0.810474 0.5771196 0.8184401 0.5661268 0.7596042 0.5478516 0.563801 0.438968 0.7673757 0.5709341 0.7789636 0.5088171 0.8184401 0.4890157 0.8184401 0.5086277 0.7596042 0.4497918 0 0 0.7792162 0.5870755 0.7969436 0.4301934 0.7596042 0.4403491 0 0 0.838052 0.491275 0.8184401 0.4629625 0 0 0.810474 0.5771196 0 0 0 0 0.7969436 0.4301934 0.8194276 0.4301798 0.7793556 0.4497918 0.8184401 0.4629625 0.8184401 0.4890157 0.7792162 0.4890157 0 0 0.563801 0.438968 0.2875885 0.2014626 0.8184401 0.5086277 0.7376769 0.5461374 0.7789636 0.5088171 0.7850591 0.5282396 0.7596042 0.5478516 0.7673757 0.5709341 0.7850591 0.5282396 0 0 0.7596042 0.5478516 0.7792162 0.5674635 0.7792162 0.5870755 0.7585964 0.4301798 0 0 0.563801 0.438968 0.7792162 0.5870755 0.810474 0.5771196 0 0 0 0 0.8184401 0.4629625 0.7793556 0.4497918 0.8194276 0.4301798 0.838052 0.491275 0 0 0.6811564 0.5282396 0 0 0 0 0.6811564 0.5282396 0.7399309 0.5478516 0.7021147 0.524599 0 0 0.838052 0.4497918 0.8184401 0.4629625 0.8194276 0.4301798 0.8184401 0.5086277 0.8184401 0.4890157 0.838052 0.491275 0.838052 0.4497918 0.8194276 0.4301798 0.9104597 0.5273878 0.7399309 0.5478516 0.7850591 0.5282396 0.7021147 0.524599 0.7806977 0.5204791 0.7673757 0.5709341 0.7596042 0.4890157 0.7596042 0.4890157 0.2875885 0.2014626 0 0 0.810474 0.5771196 0.7792162 0.5870755 0 0 0 0 0 0 0.6630296 0.3821479 0.7596042 0.5478516 0 0 0 0 0.102088 0.06434798 0 0 0 0 0.7789636 0.5088171 0.7792162 0.4890157 0.8184401 0.4890157 0.838052 0.491275 0.8184401 0.4890157 0.8184401 0.4629625 0 0 0 0 0.563801 0.438968 0 0 0.2875885 0.2014626 0.563801 0.438968</float_array>
+          <technique_common>
+            <accessor source="#Plane_008-mesh-map-0-array" count="150" stride="2">
+              <param name="S" type="float"/>
+              <param name="T" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <vertices id="Plane_008-mesh-vertices">
+          <input semantic="POSITION" source="#Plane_008-mesh-positions"/>
+        </vertices>
+        <polylist count="50">
+          <input semantic="VERTEX" source="#Plane_008-mesh-vertices" offset="0"/>
+          <input semantic="NORMAL" source="#Plane_008-mesh-normals" offset="1"/>
+          <input semantic="TEXCOORD" source="#Plane_008-mesh-map-0" offset="2" set="0"/>
+          <vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
+          <p>14 0 0 25 1 1 9 2 2 19 3 3 21 4 4 13 5 5 21 4 6 0 6 7 20 7 8 13 8 9 12 8 10 11 8 11 26 9 12 24 10 13 6 11 14 16 12 15 17 13 16 12 14 17 0 6 18 9 2 19 7 15 20 26 9 21 17 13 22 5 16 23 26 9 24 11 17 25 12 14 26 2 18 27 17 18 28 16 18 29 16 19 30 23 19 31 2 19 32 16 20 33 12 20 34 13 20 35 3 21 36 15 21 37 18 21 38 10 22 39 7 22 40 9 22 41 7 15 42 20 7 43 0 6 44 16 23 45 22 23 46 23 23 47 17 24 48 26 24 49 12 24 50 3 25 51 18 25 52 19 25 53 20 7 54 8 26 55 4 27 56 6 28 57 24 28 58 15 28 59 25 1 60 14 0 61 24 10 62 2 29 63 10 30 64 1 31 65 26 32 66 25 32 67 24 32 68 25 1 69 5 16 70 9 2 71 10 30 72 8 26 73 7 15 74 0 33 75 18 33 76 14 33 77 4 34 78 22 34 79 20 34 80 13 5 81 3 35 82 19 3 83 13 36 84 11 36 85 3 36 86 11 17 87 6 11 88 15 37 89 24 38 90 18 38 91 15 38 92 26 39 93 5 39 94 25 39 95 10 30 96 9 2 97 5 16 98 2 29 99 23 40 100 4 27 101 23 41 102 22 41 103 4 41 104 22 42 105 21 4 106 20 7 107 1 31 108 10 30 109 5 16 110 4 27 111 8 26 112 2 29 113 1 31 114 5 16 115 17 13 116 22 42 117 13 5 118 21 4 119 21 4 120 19 3 121 0 6 122 0 6 123 14 0 124 9 2 125 26 9 126 6 11 127 11 17 128 2 43 129 1 43 130 17 43 131 3 44 132 11 44 133 15 44 134 16 45 135 13 45 136 22 45 137 20 7 138 7 15 139 8 26 140 2 29 141 8 26 142 10 30 143 0 46 144 19 46 145 18 46 146 24 47 147 14 47 148 18 47 149</p>
+        </polylist>
+      </mesh>
+    </geometry>
+  </library_geometries>
+  <library_controllers/>
+  <library_visual_scenes>
+    <visual_scene id="Scene" name="Scene">
+      <node id="Boulder" name="Boulder" type="NODE">
+        <matrix sid="transform">-2 1.74846e-7 0 0 -1.74846e-7 -2 0 0 0 0 2 0 0 0 0 1</matrix>
+        <instance_geometry url="#Plane_008-mesh" name="Boulder"/>
+      </node>
+    </visual_scene>
+  </library_visual_scenes>
+  <scene>
+    <instance_visual_scene url="#Scene"/>
+  </scene>
+</COLLADA>
\ No newline at end of file
index e8b2bd33019bd31ea1019d0f21132e162c2fb883..d95534bcce5aec7000987001a88a91cb47f2e9f7 100644 (file)
Binary files a/models/level_2.blend and b/models/level_2.blend differ
index b858d3af608a6d934dfb99e1da27b8d368573d52..bfae877c0f371a9aed316ef36ddeb756fe3f20c3 100644 (file)
Binary files a/models/level_2.blend1 and b/models/level_2.blend1 differ
index e930174d0ec224be247ea64467cba5f5a69e94b3..41badc0053cba83aa21b9da2da5e38555164a229 100644 (file)
@@ -5,8 +5,8 @@
       <author>Blender User</author>
       <authoring_tool>Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08</authoring_tool>
     </contributor>
-    <created>2016-06-24T23:30:59</created>
-    <modified>2016-06-24T23:30:59</modified>
+    <created>2016-06-25T03:55:18</created>
+    <modified>2016-06-25T03:55:18</modified>
     <unit name="meter" meter="1"/>
     <up_axis>Z_UP</up_axis>
   </asset>
@@ -15,7 +15,7 @@
     <geometry id="Plane_006-mesh" name="Plane.006">
       <mesh>
         <source id="Plane_006-mesh-positions">
-          <float_array id="Plane_006-mesh-positions-array" count="12">-1 -1 0 1 -1 0 -1 1 0 1 1 0</float_array>
+          <float_array id="Plane_006-mesh-positions-array" count="12">-0.5744255 -1 0 1 -1 0 -0.5744255 1 0 1 1 0</float_array>
           <technique_common>
             <accessor source="#Plane_006-mesh-positions-array" count="4" stride="3">
               <param name="X" type="float"/>
@@ -58,7 +58,7 @@
     <geometry id="Plane_007-mesh" name="Plane.007">
       <mesh>
         <source id="Plane_007-mesh-positions">
-          <float_array id="Plane_007-mesh-positions-array" count="12">-1 -1 0 1 -1 0 -1 1 0 1 1 0</float_array>
+          <float_array id="Plane_007-mesh-positions-array" count="12">-0.6193239 -1 0 1 -1 0 -0.6193239 1 0 1 1 0</float_array>
           <technique_common>
             <accessor source="#Plane_007-mesh-positions-array" count="4" stride="3">
               <param name="X" type="float"/>
     <geometry id="Plane_003-mesh" name="Plane.003">
       <mesh>
         <source id="Plane_003-mesh-positions">
-          <float_array id="Plane_003-mesh-positions-array" count="42">-0.1757484 -3.306787 19.86395 0.183315 -3.223239 19.7904 -0.1757484 4.382429 19.86395 0.183315 1.71412 19.7904 -0.1757612 -2.666605 -0.01612848 0.1979324 -2.666605 -0.01612848 0.1979324 0.4865039 -0.01612842 -0.1757612 0.4865039 -0.01612842 0.1531823 -2.33085 14.59349 0.1531823 3.403049 14.59349 1.720304 -3.320957 14.69631 1.720304 1.616115 14.69631 1.741601 -3.223239 19.63602 1.741601 1.714111 19.63602</float_array>
+          <float_array id="Plane_003-mesh-positions-array" count="42">-0.1757484 -3.306787 19.86395 0.1204011 -3.223239 19.7904 -0.1757484 4.382429 19.86395 0.1204011 1.71412 19.7904 -0.1757612 -2.666605 -0.01612848 0.1979324 -2.666605 -0.01612848 0.1979324 0.4865039 -0.01612842 -0.1757612 0.4865039 -0.01612842 0.1531823 -2.33085 14.59349 0.1531823 3.403049 14.59349 1.720304 -3.320957 14.69631 1.720304 1.616115 14.69631 1.741601 -3.223239 19.63602 1.741601 1.714111 19.63602</float_array>
           <technique_common>
             <accessor source="#Plane_003-mesh-positions-array" count="14" stride="3">
               <param name="X" type="float"/>
           </technique_common>
         </source>
         <source id="Plane_003-mesh-normals">
-          <float_array id="Plane_003-mesh-normals-array" count="36">-0.09858697 0 -0.9951285 1 0 -6.43116e-7 0 0 1 -0.9999954 0 -0.003063023 -0.0654689 0 0.9978547 -0.9999908 0 0.004311442 -0.09858912 0 -0.9951282 1 0 -6.43116e-7 0 0 1 -0.9999954 0 -0.003063023 -0.06546992 0 0.9978546 -0.9999908 0 0.004311442</float_array>
+          <float_array id="Plane_003-mesh-normals-array" count="36">-0.09479618 0 -0.9954968 1 0 -6.43116e-7 0 0 1 -0.9999954 0 -0.003063023 -0.0654689 0 0.9978547 -0.9999908 0 0.004311442 -0.09479826 0 -0.9954965 1 0 -6.43116e-7 0 0 1 -0.9999954 0 -0.003063023 -0.06546992 0 0.9978546 -0.9999908 0 0.004311442</float_array>
           <technique_common>
             <accessor source="#Plane_003-mesh-normals-array" count="12" stride="3">
               <param name="X" type="float"/>
         <instance_geometry url="#Plane_009-mesh" name="Plane_003"/>
       </node>
       <node id="Plane_004" name="Plane_004" type="NODE">
-        <matrix sid="transform">20.47531 0 0 -0.6843686 0 20.47531 0 43.70205 0 0 20.47531 -3.150613 0 0 0 1</matrix>
+        <matrix sid="transform">20.47531 0 0 -0.6843686 0 20.47531 0 43.70205 0 0 20.47531 -1.07676 0 0 0 1</matrix>
         <instance_geometry url="#Plane_001-mesh" name="Plane_004"/>
       </node>
       <node id="Cylinder_002" name="Cylinder_002" type="NODE">
-        <matrix sid="transform">0.6374725 0 0 -8.657652 0 0.6374725 0 32.58734 0 0 2.711394 -0.8180645 0 0 0 1</matrix>
+        <matrix sid="transform">0.6374725 0 0 -8.657652 0 0.6374725 0 32.58734 0 0 2.711394 1.481413 0 0 0 1</matrix>
         <instance_geometry url="#Cylinder_002-mesh" name="Cylinder_002"/>
       </node>
       <node id="Cylinder_003" name="Cylinder_003" type="NODE">
-        <matrix sid="transform">0.6374725 0 0 -2.313542 0 0.6374725 0 32.34134 0 0 2.711394 -0.9399882 0 0 0 1</matrix>
+        <matrix sid="transform">0.6374725 0 0 -2.313542 0 0.6374725 0 32.34134 0 0 2.711394 1.359489 0 0 0 1</matrix>
         <instance_geometry url="#Cylinder_000-mesh" name="Cylinder_003"/>
       </node>
       <node id="Cylinder_004" name="Cylinder_004" type="NODE">
-        <matrix sid="transform">-0.02604944 0 2.709129 -5.361113 0 0.6374725 0 32.44816 -0.6369401 0 -0.1107974 2.101516 0 0 0 1</matrix>
+        <matrix sid="transform">-0.02604944 0 2.709129 -5.361113 0 0.6374725 0 32.44816 -0.6369401 0 -0.1107974 4.400994 0 0 0 1</matrix>
         <instance_geometry url="#Cylinder_001-mesh" name="Cylinder_004"/>
       </node>
       <node id="Plane" name="Plane" type="NODE">