Removing now useless files.
Before Width: | Height: | Size: 146 B |
@ -1,329 +0,0 @@
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>3.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>3.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>18</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-0.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>3.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>17</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-2.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>2.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>16</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>0.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>1.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>15</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>1.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-0.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>14</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-1.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-0.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>13</idBlue>
|
||||
<typeID>20</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-1.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-2.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>12</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-3.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-3.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>11</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-4.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-4.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>10</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<ambientLight>
|
||||
<rColour>1.0</rColour>
|
||||
<gColour>1.0</gColour>
|
||||
<bColour>1.0</bColour>
|
||||
</ambientLight>
|
||||
|
||||
<fogColourDay>
|
||||
<rColour>0.57</rColour>
|
||||
<gColour>0.80</gColour>
|
||||
<bColour>0.98</bColour>
|
||||
<alpha>1.0</alpha>
|
||||
</fogColourDay>
|
||||
|
||||
<fogColourRise>
|
||||
<rColour>0.88</rColour>
|
||||
<gColour>0.38</gColour>
|
||||
<bColour>0.38</bColour>
|
||||
<alpha>1.0</alpha>
|
||||
</fogColourRise>
|
||||
|
||||
<fogColourNight>
|
||||
<rColour>0.09</rColour>
|
||||
<gColour>0.1</gColour>
|
||||
<bColour>0.24</bColour>
|
||||
<alpha>1.0</alpha>
|
||||
</fogColourNight>
|
||||
|
||||
<directionalLight>
|
||||
<xOffset>-1.0</xOffset>
|
||||
<yOffset>-6</yOffset>
|
||||
<zOffset>1.0</zOffset>
|
||||
<rColour>1.0</rColour>
|
||||
<gColour>1.0</gColour>
|
||||
<bColour>0.9</bColour>
|
||||
<intensity>0.6</intensity>
|
||||
</directionalLight>
|
||||
|
||||
<terrain>
|
||||
<texture>seamlessTerrain.png</texture>
|
||||
<ambientFactor>0.14</ambientFactor>
|
||||
<diffuseFactor>0.8</diffuseFactor>
|
||||
<specularFactor>0.2</specularFactor>
|
||||
<shininess>1.0</shininess>
|
||||
</terrain>
|
||||
|
||||
<skydome>
|
||||
<model>skydome.obj</model>
|
||||
<texture>skydomeNew.png</texture>
|
||||
<nightTexture>nightskydome.png</nightTexture>
|
||||
</skydome>
|
||||
|
||||
<waterPlane>
|
||||
<yPosition>14.5</yPosition>
|
||||
<texture>waterTexture.png</texture>
|
||||
</waterPlane>
|
||||
|
||||
<physics>
|
||||
<friction>0.9</friction>
|
||||
<strength>300.0</strength>
|
||||
</physics>
|
||||
|
||||
<positionConstraint>
|
||||
<objectNum>0</objectNum>
|
||||
<xPosition>0.0</xPosition>
|
||||
<yPosition>0.0</yPosition>
|
||||
<zPosition>0.0</zPosition>
|
||||
<strength>100.0</strength>
|
||||
</positionConstraint>
|
Before Width: | Height: | Size: 146 B |
@ -1,308 +0,0 @@
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>3.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>3.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>18</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>3.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-0.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>17</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>2.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-2.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>16</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>1.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>0.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>15</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-0.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>1.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>14</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-0.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-1.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>13</idBlue>
|
||||
<typeID>20</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-2.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-1.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>12</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-3.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-3.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>11</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<composition>
|
||||
<scale>1.0</scale>
|
||||
<xRot>0.0</xRot>
|
||||
<yRot>0.0</yRot>
|
||||
<zRot>0.0</zRot>
|
||||
<manualPos>false</manualPos>
|
||||
<xPos>-4.500000</xPos>
|
||||
<yOffset>0.0</yOffset>
|
||||
<zPos>-4.500000</zPos>
|
||||
<idGreen>0</idGreen>
|
||||
<idBlue>10</idBlue>
|
||||
<typeID>80</typeID>
|
||||
<trigger>
|
||||
<name>-</name>
|
||||
<xPosition>0</xPosition>
|
||||
<yPosition>0</yPosition>
|
||||
<zPosition>0</zPosition>
|
||||
<targetIdGreen>-</targetIdGreen>
|
||||
<targetIdBlue>-</targetIdBlue>
|
||||
<distance>1.0</distance>
|
||||
<isBiggerThan>false</isBiggerThan>
|
||||
<objectNum>0</objectNum>
|
||||
<luaScript>-</luaScript>
|
||||
<toChangeIdGreen>0</toChangeIdGreen>
|
||||
<toChangeIdBlue>0</toChangeIdBlue>
|
||||
<toChangeObjNum>0</toChangeObjNum>
|
||||
</trigger>
|
||||
</composition>
|
||||
|
||||
<ambientLight>
|
||||
<rColour>1.0</rColour>
|
||||
<gColour>1.0</gColour>
|
||||
<bColour>1.0</bColour>
|
||||
</ambientLight>
|
||||
|
||||
<fogColour>
|
||||
<rColour>0.10</rColour>
|
||||
<gColour>0.14</gColour>
|
||||
<bColour>0.14</bColour>
|
||||
<alpha>1.0</alpha>
|
||||
</fogColour>
|
||||
|
||||
<directionalLight>
|
||||
<xOffset>-1.0</xOffset>
|
||||
<yOffset>1.5</yOffset>
|
||||
<zOffset>1.0</zOffset>
|
||||
<rColour>1.0</rColour>
|
||||
<gColour>1.0</gColour>
|
||||
<bColour>0.9</bColour>
|
||||
<intensity>0.2</intensity>
|
||||
</directionalLight>
|
||||
|
||||
<terrain>
|
||||
<texture>seamlessTerrain.png</texture>
|
||||
<ambientFactor>0.1</ambientFactor>
|
||||
<diffuseFactor>0.8</diffuseFactor>
|
||||
<specularFactor>0.2</specularFactor>
|
||||
<shininess>3.0</shininess>
|
||||
</terrain>
|
||||
|
||||
<skydome>
|
||||
<texture>skydome.png</texture>
|
||||
</skydome>
|
||||
|
||||
<physics>
|
||||
<friction>0.9</friction>
|
||||
<strength>100.0</strength>
|
||||
</physics>
|
||||
|
||||
<positionConstraint>
|
||||
<objectNum>0</objectNum>
|
||||
<xPosition>0.0</xPosition>
|
||||
<yPosition>0.0</yPosition>
|
||||
<zPosition>0.0</zPosition>
|
||||
<strength>100.0</strength>
|
||||
</positionConstraint>
|
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 8.9 MiB |
Before Width: | Height: | Size: 678 KiB |
@ -1,134 +0,0 @@
|
||||
\documentclass[sponsored]{acmsiggraph}
|
||||
|
||||
\title{Developing a Marble game \\ \large \normalfont Results of a practical
|
||||
course at the Chair for Computer Graphics and Multimedia \\ (RWTH Aachen
|
||||
University, Germany)}
|
||||
|
||||
\author{Jasper Veit Manousek\thanks{Jasper.Manousek@rwth-aachen.de}
|
||||
\and Steffen F\"undgens\thanks{Steffen.Fuendgens@rwth-aachen.de}
|
||||
\and Fabian Klemp\thanks{Fabian.Klemp1@rwth-aachen.de}
|
||||
\and Simon Froitzheim\thanks{Simon.Froitzheim@rwth-aachen.de} }
|
||||
|
||||
\pdfauthor{Jasper Veit Manousek, Steffen F\"undgens, Fabian Klemp, Simon Froitzheim}
|
||||
|
||||
\keywords{game programming, pinball game}
|
||||
|
||||
\usepackage{tabularx}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\teaser{
|
||||
\includegraphics[width=\linewidth]{images/teasersmall.png}
|
||||
\caption{\label{fig:Teaser} The player reached the end of the game.}
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
|
||||
Marble Racing games are a sub-genre of games where the player controls a marble to either run races, solve puzzles or complete similar tasks. In \textit{Saxum} the player must travel through an open level completing some basic switch tasks and a simple puzzle to help the sun rise again.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
\section{Gameplay}
|
||||
Common Marble Racing Games usually strive for action- and skill-based gameplay with many obstacles and a fast pace. Our game takes a different approach and explores the possibility of a more puzzle-based concept with exploration elements: The player is located in an initially dark
|
||||
area where only a few torches light the path ahead. Only if he manages to master the obstacles on his way (like impassable water), he can reach the end of the stage and let the sun rise again as shown in Figure 1.
|
||||
|
||||
The level design is certainly not completely open but leaves room for a bit of exploration. The in comparison rather slow marble speed helps to create a for the most part relaxing gaming experience which gets further emphasized by generous checkpoint distribution and the resignation of flashy effects. The puzzles revolve around moving blocks onto switches and pushing switches in the correct order.
|
||||
|
||||
\section{Implementation}
|
||||
|
||||
\subsection{Loading}
|
||||
|
||||
Our game plays mainly on a heightmap. We load the height-map from a greyscale PNG and pass the height data to a framebuffer, so ACGL can render it. We also pass the height data to \textit{Bullet Physics}, to create a collision shape.
|
||||
|
||||
On the height-map we place objects that we load from two XML files. The compositions file defines some properties for classes of objects, like the names of the OBJ file and the texture file, and parameters for lighting and for the physics. It also defines compositions that are made up of multiple objects that can be scaled, rotated and translated individually. One compositions file could get used for multiple levels. The level XML file defines which compositions are placed where. This part of the file gets generated by our converter. In addition to that, the compositions can also be scaled and rotated manually here.
|
||||
|
||||
The converter is a separate executable that takes the path to a PNG file as input. In the PNG file compositions are placed as pixels.
|
||||
We decided to let the red value of the pixel identify which kind of composition it represents. The green and blue values are written by the converter and used to identify single compositions. This way manual changes in the generated level XML can be kept when the converter is run again.
|
||||
|
||||
\subsection{Triggers}
|
||||
|
||||
Because a lot of the gameplay in \textit{Saxum} is focused on solving challenges and activating events, we decided to integrate the scripting language Lua to make our triggers customizable. In the level XML we can add triggers to objects. We define a region in global space and when the object enters or leaves the region a Lua script is called. The script can then activate different events like opening a door or letting the sun rise at the end of the level.
|
||||
|
||||
\subsection{Graphics}
|
||||
|
||||
For the visual aspects we started with basic rendering of OBJ files. Every object has a position and a rotation.
|
||||
The loading of the OBJ files and the textures was already implemented in ACGL.
|
||||
Next we implemented Phong shading for point lights and directional lights.
|
||||
This gave us a basic lighting model, based on the normals of the triangle meshes.
|
||||
|
||||
We then moved on to shadow mapping for shadows.
|
||||
We started with shadow mapping for our only directional light(the sun), because it was the easiest to implement.
|
||||
To further refine our shadows we implemented Cascaded Shadow Mapping, which utilizes several shadow maps with different
|
||||
resolutions(the closer to the camera, the higher the resolution).
|
||||
|
||||
Later we expanded on this by implementing shadow mapping for point lights using cube map textures. It took quite some time to implement them correctly due to
|
||||
discrepancies of how OpenGL defined the up vector and how we thought it should be.
|
||||
|
||||
We implemented a basic day/night cycle using one sky texture for the day and one for the night which get blended together depending on the height of the sun.
|
||||
|
||||
The sky textures are mapped to a skydome and the sun is procedurally painted on top. This allowed the sun to easily be moved during runtime.
|
||||
|
||||
To hide the popping of objects and the terrain into the view frustum we implemented a basic fog.
|
||||
We later changed the color of the fog depending on the sun height to get a more realistic sun rise.
|
||||
|
||||
The last feature we implemented was a basic flame rendering.
|
||||
To do that we used a geometry shader to generate a basic flame shape during runtime.
|
||||
The circular flame shape is generated using a cosine and an exponential function.
|
||||
|
||||
To get a simple illusion of heat we blurred the flames:
|
||||
We do this in several render passes:
|
||||
At first we render the flames with color.
|
||||
After that we increase the size of the flames a little bit and render the flames without color while also writing to the stencil buffer.
|
||||
We then blur the parts selected by the stencil shader.
|
||||
|
||||
\subsection{Physics}
|
||||
|
||||
The physics is based on \textit{Bullet Physics}, with a simple callback function used to relay the data to the graphics pipeline. We decided to use a btvhTerrainShape for the terrain. This is much more effective than using a triangle mesh. Additionally we have spheres, boxes, and a few other basic primitives. Finally we implemented btvhTriangleMesh shapes and concave triangle meshes, which are more strenuous for the system, but allow for moveable triangle meshes.
|
||||
|
||||
Unfortunately \textit{Bullet Physics} proved unable to handle many forms of constraints that we required. For this we created two instances of spring constraints. The first is a spring constraint which creates a force attempting to keep two rigid bodies a set distance apart. The second was a derivation of the first, generating a force in an attempt to confine the rigid body to a certain position. This constraint is what we used to create switches that could be embedded within the terrain by filtering out the collision between the two bodies.
|
||||
We also used a similar constraint to create a physics based camera. The camera attempts to follow the player at an angle specified by the player. Finally we used the constraints to get the player to float in the air. To do this a constraint is added via the Lua script, allowing the player to get an improved view of the sunrise.
|
||||
|
||||
Additionally the respawn animation was created using the physics engine. It lets the ball continue to rotate, while changing certain properties of it, especially how it will move and that it will ignore the collision with all other objects. After it sinks a certain distance it will reappear in a similar fashion before its normal physic state is restored.
|
||||
|
||||
The physics came with many challenges, partially stemming from our integration into a new field, but also partially due to the nature of \textit{Bullet Physics} itself. If bullet does not receive enough updates the simulation becomes jagged and unrealistic. To solve this it is suggested to recall the world multiple times per frame to allow a more accurate simulation. Unfortunately, especially with the introduction of the physics based camera, problems arose. To solve this we not only recall the complete update method within the physics, but also recall the complete update method in the level to stabilize the experience.
|
||||
|
||||
\subsection{Content Creation}
|
||||
\textit{Saxum} contains many custom models that we created with the tools that the program Blender provides as well as several textures from the website cgtextures.com. We edited these textures, so they can fit our purposes: Texture editing work included smoothing for better UV-Mapping, removing seams etc. All editing, including the creation of the PNGs that are used for heightmap generation and object placement, as well as our completely custom textures were done with the GNU Image Manipulation Program.
|
||||
\section{Conclusion}
|
||||
|
||||
Our group had no prior experience with such large projects. Though our lack of previous experience hampered our progress, we have managed to amass a great deal of experience in game design, project management and teamwork, as well as knowledge in the underlying framework of games.
|
||||
|
||||
Our game is an interesting twist on an old concept, and our play tests have shown that we manage to achieve a notable awe factor for those who complete it.
|
||||
|
||||
Through the experience we have gained we are confident that all our future projects, especially those in the discipline of game programming will benefit.
|
||||
|
||||
\section{References}
|
||||
|
||||
\href{http://cgTextures.com}{cgTextures.com}\\
|
||||
\href{http://blender.org}{Blender}\\
|
||||
\href{http://Gimp.org}{Gimp}\\
|
||||
\href{http://bulletphysics.org}{Bullet Physics}\\
|
||||
ACGL - Aachen Computer Graphics Library
|
||||
|
||||
|
||||
%\begin{figure}[t]
|
||||
% \centering
|
||||
% \includegraphics[width=0.3\linewidth]{images/Dummy}
|
||||
% \caption{\label{fig:OneImage} Use one image.}
|
||||
%\end{figure}
|
||||
%
|
||||
%\begin{figure}[t]
|
||||
% \centering
|
||||
% \parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (a)}
|
||||
% \parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (b)}
|
||||
% \parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (c)}
|
||||
% \caption{\label{fig:SeveralImages}
|
||||
% Use several images.}
|
||||
%\end{figure}
|
||||
|
||||
\bibliographystyle{acmsiggraph}
|
||||
\bibliography{references}
|
||||
\end{document}
|
@ -1,52 +0,0 @@
|
||||
\definecolor{ACGgreen}{RGB}{0,48,16}
|
||||
\definecolor{ACGyellow}{RGB}{224,224,208}
|
||||
\definecolor{ACGorange}{RGB}{240,112,48}
|
||||
\definecolor{ACGwhite}{RGB}{223,223,207}
|
||||
|
||||
\setbeamercolor*{normal text}{fg=ACGyellow,bg=ACGgreen}
|
||||
|
||||
\DeclareOption{overlystylish}
|
||||
{
|
||||
\def\beamer@cta@do{
|
||||
\setbeamertemplate{background canvas}[vertical shading][bottom=black,top=black,middle=ACGgreen!50!black]
|
||||
}
|
||||
}
|
||||
\ProcessOptions
|
||||
|
||||
\@ifundefined{beamer@cta@do}{}{\beamer@cta@do}
|
||||
|
||||
\mode<presentation>
|
||||
|
||||
\setbeamercolor*{example text}{fg=ACGgreen!65!black}
|
||||
|
||||
\setbeamercolor{alerted text}{fg=ACGorange!70!red}
|
||||
|
||||
\setbeamercolor*{structure}{fg=ACGorange}
|
||||
|
||||
\setbeamercolor{palette primary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!75!black}
|
||||
\setbeamercolor{palette secondary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!60!black}
|
||||
\setbeamercolor{palette tertiary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!45!black}
|
||||
\setbeamercolor{palette quaternary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!30!black}
|
||||
|
||||
\setbeamercolor*{block body}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block body alerted}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block body example}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block title}{parent=structure,bg=normal text.bg!75!black}
|
||||
\setbeamercolor*{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!75!normal text.fg,bg=normal text.bg!75!black}
|
||||
\setbeamercolor*{block title example}{use={normal text,example text},fg=example text.fg!75!normal text.fg,bg=normal text.bg!75!black}
|
||||
|
||||
\setbeamercolor{item projected}{fg=black}
|
||||
|
||||
\setbeamercolor*{sidebar}{parent=palette primary}
|
||||
|
||||
\setbeamercolor{palette sidebar primary}{use=normal text,fg=normal text.fg}
|
||||
\setbeamercolor{palette sidebar secondary}{use=structure,fg=structure.fg}
|
||||
\setbeamercolor{palette sidebar tertiary}{use=normal text,fg=normal text.fg}
|
||||
\setbeamercolor{palette sidebar quaternary}{use=structure,fg=structure.fg}
|
||||
|
||||
\setbeamercolor*{separation line}{}
|
||||
\setbeamercolor*{fine separation line}{}
|
||||
|
||||
|
||||
\mode
|
||||
<all>
|
@ -1,100 +0,0 @@
|
||||
%*****************************************************************************%
|
||||
% This LaTeX-Template is based on the beamer package: %
|
||||
% http://latex-beamer.sourceforge.net %
|
||||
% %
|
||||
% For further details on how to create beamer slides you can check their %
|
||||
% documentation: %
|
||||
% http://mirror.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf %
|
||||
% %
|
||||
% The layout fits the current standard of the acg color scheme. %
|
||||
% Version: 1.0 %
|
||||
% Authors: Lars Krecklau <krecklau@informatik.rwth-aachen.de> %
|
||||
%*****************************************************************************%
|
||||
\documentclass{beamer}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage[german]{babel}
|
||||
|
||||
% Place in these lines your title and the author's names:
|
||||
\newcommand{\myTitle}{\includegraphics[width=9cm]{saxum_logo.png}}
|
||||
\newcommand{\myAutors}{Fabian Klemp, Steffen F\"undgens, Simon Froitzheim, Jasper Manousek}
|
||||
\newcommand{\myAutorsFoot}{\myAutors}
|
||||
|
||||
% If you want to draw images by latex:
|
||||
% http://www.texample.net/tikz/
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,shapes}
|
||||
|
||||
% Apply the acg layout
|
||||
\include{layoutacg}
|
||||
|
||||
% Setup the title page
|
||||
\title{\myTitle}
|
||||
\author{\myAutors}
|
||||
\institute{RWTH Aachen University}
|
||||
\date{\today}
|
||||
\subject{\myTitle}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\section{\myTitle}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Puzzle/Exploration marble game in a desert-ruins setting
|
||||
\item Player is in search for the missing sun
|
||||
\item Pseudo-realistic graphics style
|
||||
\item Focus on physics-based gameplay
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\subsection{Fabian - Graphics}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Phong Shading
|
||||
\item Shadow Mapping
|
||||
\item Simple flame simulation with geometry shader
|
||||
\item Blurring of flames
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Simon - Content Creation}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Modeling
|
||||
\item Texturing
|
||||
\item Level design
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Steffen - General Programming}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Converter
|
||||
\item Loading
|
||||
\item Triggers and Lua scripts
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Jasper - Game Logic}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Bullet integration
|
||||
\item Custom constraints
|
||||
\item Camera
|
||||
\item Simple animations
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 555 KiB |
Before Width: | Height: | Size: 827 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 2.1 MiB |
@ -1,39 +0,0 @@
|
||||
\mode<presentation>
|
||||
{
|
||||
\usetheme{Darmstadt}
|
||||
\useoutertheme{miniframes}
|
||||
\usecolortheme{acg}
|
||||
|
||||
\setbeamercovered{transparent}
|
||||
\setbeamertemplate{navigation symbols}{}
|
||||
\setbeamertemplate{footline}
|
||||
{
|
||||
\includegraphics[width=\paperwidth]{images/logo.png}
|
||||
\vspace*{-0.8cm}
|
||||
\begin{center}
|
||||
\color{ACGorange}\large{\insertpagenumber}
|
||||
\end{center}
|
||||
\vspace*{-0.8cm}
|
||||
\begin{flushright}
|
||||
\textcolor{ACGwhite}{\footnotesize{}} \hspace*{0.95cm}
|
||||
\end{flushright}
|
||||
\vspace*{-0.3cm}
|
||||
}
|
||||
|
||||
\setbeamertemplate{headline}
|
||||
{
|
||||
\vspace*{0.1cm}
|
||||
\includegraphics[width=\paperwidth]{images/line.png}
|
||||
\vspace*{-0.1cm}
|
||||
\huge
|
||||
\begin{center}
|
||||
\invisible{Ag}
|
||||
\color{ACGorange}\insertsubsection
|
||||
\invisible{Ag}
|
||||
\end{center}
|
||||
\vspace*{-0.1cm}
|
||||
\includegraphics[width=\paperwidth]{images/line.png}
|
||||
\vspace*{-0.3cm}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 8.9 MiB |
@ -1,135 +0,0 @@
|
||||
%*****************************************************************************%
|
||||
% This LaTeX-Template is based on the beamer package: %
|
||||
% http://latex-beamer.sourceforge.net %
|
||||
% %
|
||||
% For further details on how to create beamer slides you can check their %
|
||||
% documentation: %
|
||||
% http://mirror.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf %
|
||||
% %
|
||||
% The layout fits the current standard of the acg color scheme. %
|
||||
% Version: 1.0 %
|
||||
% Authors: Lars Krecklau <krecklau@informatik.rwth-aachen.de> %
|
||||
%*****************************************************************************%
|
||||
\documentclass{beamer}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage[german]{babel}
|
||||
|
||||
% Place in these lines your title and the author's names:
|
||||
\newcommand{\myTitle}{Milestone 2 - Marble Race Game - Group C}
|
||||
\newcommand{\myAutors}{Fabian Klemp, Steffen F\"undgens, Simon Froitzheim, Jasper Manousek}
|
||||
\newcommand{\myAutorsFoot}{\myAutors}
|
||||
|
||||
% If you want to draw images by latex:
|
||||
% http://www.texample.net/tikz/
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,shapes}
|
||||
|
||||
% Apply the acg layout
|
||||
\include{layoutacg}
|
||||
|
||||
% Setup the title page
|
||||
\title{\myTitle}
|
||||
\author{\myAutors}
|
||||
\institute{RWTH Aachen University}
|
||||
\date{\today}
|
||||
\subject{\myTitle}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\section{\myTitle}
|
||||
|
||||
\subsection{Steffen}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Level Editor:
|
||||
\begin{itemize}
|
||||
\item Create Heightmap
|
||||
\item Create LevelX.png
|
||||
\item Run our Converter
|
||||
\end{itemize}
|
||||
\uncover<2->{ Basic Triggers:
|
||||
\begin{itemize}
|
||||
\item need some work ...
|
||||
\end{itemize}}
|
||||
\uncover<3->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item make Triggers more awesome
|
||||
\item Implement a seperate loading thread (split up level and only load closest stuff)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Japser}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Physics:
|
||||
\begin{itemize}
|
||||
\item Changed control behaviour of the marble
|
||||
\item Implemented several collision shapes
|
||||
\item Implemented MeshCollision
|
||||
\item Scaling Problems
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Make Physics more roboust
|
||||
\item Camera collision(already started)
|
||||
\item Animations(Sliding Door, Canon, ...)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Simon}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Modeling/Texturing:
|
||||
\begin{itemize}
|
||||
\item Improved marble texture
|
||||
\item Improved textures on other objects
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Design a half-pipe
|
||||
\item Design an actual level
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Fabian}
|
||||
\begin{frame}
|
||||
\includegraphics[width=9cm]{images/sketch}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Graphics:
|
||||
\begin{itemize}
|
||||
\item Implemented fog
|
||||
\item Implemented a skydome
|
||||
\item Implemented Shadow mapping
|
||||
\begin{itemize}
|
||||
\item Sun shadow works mostly (has a bug)
|
||||
\item Started point light shadows (huge mess)
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Finish working on shadows
|
||||
\item Implement bump mapping
|
||||
\item Particle Systems
|
||||
\item (Screen Space Ambient Occlusion)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\subsection{Demo}
|
||||
\begin{frame}
|
||||
\includegraphics[width=8.5cm]{images/demo}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
@ -1,52 +0,0 @@
|
||||
\definecolor{ACGgreen}{RGB}{0,48,16}
|
||||
\definecolor{ACGyellow}{RGB}{224,224,208}
|
||||
\definecolor{ACGorange}{RGB}{240,112,48}
|
||||
\definecolor{ACGwhite}{RGB}{223,223,207}
|
||||
|
||||
\setbeamercolor*{normal text}{fg=ACGyellow,bg=ACGgreen}
|
||||
|
||||
\DeclareOption{overlystylish}
|
||||
{
|
||||
\def\beamer@cta@do{
|
||||
\setbeamertemplate{background canvas}[vertical shading][bottom=black,top=black,middle=ACGgreen!50!black]
|
||||
}
|
||||
}
|
||||
\ProcessOptions
|
||||
|
||||
\@ifundefined{beamer@cta@do}{}{\beamer@cta@do}
|
||||
|
||||
\mode<presentation>
|
||||
|
||||
\setbeamercolor*{example text}{fg=ACGgreen!65!black}
|
||||
|
||||
\setbeamercolor{alerted text}{fg=ACGorange!70!red}
|
||||
|
||||
\setbeamercolor*{structure}{fg=ACGorange}
|
||||
|
||||
\setbeamercolor{palette primary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!75!black}
|
||||
\setbeamercolor{palette secondary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!60!black}
|
||||
\setbeamercolor{palette tertiary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!45!black}
|
||||
\setbeamercolor{palette quaternary}{use={structure,normal text},fg=structure.fg,bg=normal text.bg!30!black}
|
||||
|
||||
\setbeamercolor*{block body}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block body alerted}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block body example}{bg=normal text.bg!90!black}
|
||||
\setbeamercolor*{block title}{parent=structure,bg=normal text.bg!75!black}
|
||||
\setbeamercolor*{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!75!normal text.fg,bg=normal text.bg!75!black}
|
||||
\setbeamercolor*{block title example}{use={normal text,example text},fg=example text.fg!75!normal text.fg,bg=normal text.bg!75!black}
|
||||
|
||||
\setbeamercolor{item projected}{fg=black}
|
||||
|
||||
\setbeamercolor*{sidebar}{parent=palette primary}
|
||||
|
||||
\setbeamercolor{palette sidebar primary}{use=normal text,fg=normal text.fg}
|
||||
\setbeamercolor{palette sidebar secondary}{use=structure,fg=structure.fg}
|
||||
\setbeamercolor{palette sidebar tertiary}{use=normal text,fg=normal text.fg}
|
||||
\setbeamercolor{palette sidebar quaternary}{use=structure,fg=structure.fg}
|
||||
|
||||
\setbeamercolor*{separation line}{}
|
||||
\setbeamercolor*{fine separation line}{}
|
||||
|
||||
|
||||
\mode
|
||||
<all>
|
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 23 KiB |
@ -1,39 +0,0 @@
|
||||
\mode<presentation>
|
||||
{
|
||||
\usetheme{Darmstadt}
|
||||
\useoutertheme{miniframes}
|
||||
\usecolortheme{acg}
|
||||
|
||||
\setbeamercovered{transparent}
|
||||
\setbeamertemplate{navigation symbols}{}
|
||||
\setbeamertemplate{footline}
|
||||
{
|
||||
\includegraphics[width=\paperwidth]{images/logo.png}
|
||||
\vspace*{-0.8cm}
|
||||
\begin{center}
|
||||
\color{ACGorange}\large{\insertpagenumber}
|
||||
\end{center}
|
||||
\vspace*{-0.8cm}
|
||||
\begin{flushright}
|
||||
\textcolor{ACGwhite}{\footnotesize{\myAutorsFoot}} \hspace*{0.95cm}
|
||||
\end{flushright}
|
||||
\vspace*{-0.3cm}
|
||||
}
|
||||
|
||||
\setbeamertemplate{headline}
|
||||
{
|
||||
\vspace*{0.1cm}
|
||||
\includegraphics[width=\paperwidth]{images/line.png}
|
||||
\vspace*{-0.1cm}
|
||||
\huge
|
||||
\begin{center}
|
||||
\invisible{Ag}
|
||||
\color{ACGorange}\insertsubsection
|
||||
\invisible{Ag}
|
||||
\end{center}
|
||||
\vspace*{-0.1cm}
|
||||
\includegraphics[width=\paperwidth]{images/line.png}
|
||||
\vspace*{-0.3cm}
|
||||
}
|
||||
}
|
||||
|
@ -1,199 +0,0 @@
|
||||
%*****************************************************************************%
|
||||
% This LaTeX-Template is based on the beamer package: %
|
||||
% http://latex-beamer.sourceforge.net %
|
||||
% %
|
||||
% For further details on how to create beamer slides you can check their %
|
||||
% documentation: %
|
||||
% http://mirror.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf %
|
||||
% %
|
||||
% The layout fits the current standard of the acg color scheme. %
|
||||
% Version: 1.0 %
|
||||
% Authors: Lars Krecklau <krecklau@informatik.rwth-aachen.de> %
|
||||
%*****************************************************************************%
|
||||
\documentclass{beamer}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage[german]{babel}
|
||||
|
||||
% Place in these lines your title and the author's names:
|
||||
\newcommand{\myTitle}{Title}
|
||||
\newcommand{\myAutors}{Authors}
|
||||
\newcommand{\myAutorsFoot}{\myAutors}
|
||||
|
||||
% If you want to draw images by latex:
|
||||
% http://www.texample.net/tikz/
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,shapes}
|
||||
|
||||
% Apply the acg layout
|
||||
\include{layoutacg}
|
||||
|
||||
% Setup the title page
|
||||
\title{\myTitle}
|
||||
\author{\myAutors}
|
||||
\institute{RWTH Aachen University}
|
||||
\date{\today}
|
||||
\subject{\myTitle}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\section{\myTitle}
|
||||
|
||||
\subsection{Layouts}
|
||||
|
||||
\begin{frame}[t]
|
||||
Start the content of the slide on top of the page...
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
...or let it be centered automatically.
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{block}{Block 1}
|
||||
Use \textbf{blocks} to structure your slides.
|
||||
\end{block}
|
||||
\begin{block}{Block 2}
|
||||
Blocks will be aligned vertically.
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{columns}[t]
|
||||
\column[T]{0.7\linewidth}
|
||||
\begin{block}{Block 1}
|
||||
Use \textbf{columns} for horizontal slide layouts
|
||||
\end{block}
|
||||
\begin{block}{Block 2}
|
||||
Blocks will be vertically aligned in each column
|
||||
\end{block}
|
||||
\column[T]{0.3\linewidth}
|
||||
\begin{block}{Block 3}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{images/dummy}
|
||||
\end{figure}
|
||||
\end{block}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Beamer Techniques}
|
||||
|
||||
\begin{frame}
|
||||
\begin{block}{Uncover}
|
||||
\begin{itemize}
|
||||
\item Use \textbf{uncovering} for making only parts of the slide fully visible
|
||||
\uncover<2->{\item This helps to concentrate on the current points}
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{block}{Alert}
|
||||
\begin{itemize}
|
||||
\item Use \textbf{alert} as another technique for emphasizing
|
||||
\uncover<2->{\item Focus on \alert<2>{important} details}
|
||||
\uncover<3->{\item This helps to guide the viewer through your presentation}
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{block}{Visible}
|
||||
\begin{itemize}
|
||||
\item You may also want to place something in between points
|
||||
\visible<2>{\item So this is our additional information}
|
||||
\item But already reserve the space
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[t]
|
||||
\begin{columns}[t]
|
||||
\column[T]{0.7\linewidth}
|
||||
\begin{block}{Only}
|
||||
\begin{itemize}
|
||||
\item Use \textbf{only} to display something on one specific slide
|
||||
\item For example: Images to certain keypoints:
|
||||
\begin{itemize}
|
||||
\uncover<2->{\item Image on \alert<2->{\only<-2>{100}\only<3>{50}\only<4>{25}\%} line width}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\column[T]{0.3\linewidth}
|
||||
\only<2->{
|
||||
\begin{block}{Image}
|
||||
\only<2>{
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{images/dummy}
|
||||
\end{figure}
|
||||
}
|
||||
\only<3>{
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.5\linewidth]{images/dummy}
|
||||
\end{figure}
|
||||
}
|
||||
\only<4>{
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.25\linewidth]{images/dummy}
|
||||
\end{figure}
|
||||
}
|
||||
\end{block}
|
||||
}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\subsection{TikZ + Beamer}
|
||||
|
||||
\begin{frame}
|
||||
% Example taken from: http://www.texample.net/tikz/examples/beamer-arrows/
|
||||
% The example was slightly modified
|
||||
\begin{block}{Use TikZ in LaTeX}
|
||||
% For every picture that defines or uses external nodes, you'll have to
|
||||
% apply the 'remember picture' style. To avoid some typing, we'll apply
|
||||
% the style to all pictures.
|
||||
\tikzstyle{every picture}+=[remember picture]
|
||||
|
||||
% Below we mix an ordinary equation with TikZ nodes. Note that we have to
|
||||
% adjust the baseline of the nodes to get proper alignment with the rest of
|
||||
% the equation.
|
||||
\begin{equation*}
|
||||
\vec{a}_p = \vec{a}_o+\frac{{}^bd^2}{dt^2}\vec{r} +
|
||||
\tikz[baseline]{
|
||||
\node[draw, anchor=base] (t1)
|
||||
{$ 2\vec{\omega}_{ib}\times\frac{{}^bd}{dt}\vec{r}$};
|
||||
} +
|
||||
\tikz[baseline]{
|
||||
\node[draw, anchor=base] (t2)
|
||||
{$\vec{\alpha}_{ib}\times\vec{r}$};
|
||||
} +
|
||||
\tikz[baseline]{
|
||||
\node[draw,anchor=base] (t3)
|
||||
{$\vec{\omega}_{ib}\times(\vec{\omega}_{ib}\times\vec{r})$};
|
||||
}
|
||||
\end{equation*}
|
||||
|
||||
\begin{itemize}
|
||||
\alert<1>{\item Coriolis acceleration} \tikz[baseline=-.5ex] \node [coordinate] (n1) {};
|
||||
\alert<2>{\item Transversal acceleration} \tikz[baseline=-.5ex] \node [coordinate] (n2) {};
|
||||
\alert<3>{\item Centripetal acceleration} \tikz[baseline=-.5ex] \node [coordinate] (n3) {};
|
||||
\end{itemize}
|
||||
|
||||
% Now it's time to draw some edges between the global nodes. Note that we
|
||||
% have to apply the 'overlay' style.
|
||||
\begin{tikzpicture}[overlay]
|
||||
\path[->]<1-> (n1) edge [bend right] (t1);
|
||||
\path[->]<2-> (n2) edge [bend right] (t2);
|
||||
\path[->]<3-> (n3) edge [out=0, in=-90] (t3);
|
||||
\end{tikzpicture}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
@ -1,125 +0,0 @@
|
||||
%*****************************************************************************%
|
||||
% This LaTeX-Template is based on the beamer package: %
|
||||
% http://latex-beamer.sourceforge.net %
|
||||
% %
|
||||
% For further details on how to create beamer slides you can check their %
|
||||
% documentation: %
|
||||
% http://mirror.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf %
|
||||
% %
|
||||
% The layout fits the current standard of the acg color scheme. %
|
||||
% Version: 1.0 %
|
||||
% Authors: Lars Krecklau <krecklau@informatik.rwth-aachen.de> %
|
||||
%*****************************************************************************%
|
||||
\documentclass{beamer}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage[german]{babel}
|
||||
|
||||
% Place in these lines your title and the author's names:
|
||||
\newcommand{\myTitle}{Milestone 3 - Marble Race Game - Group C}
|
||||
\newcommand{\myAutors}{Fabian Klemp, Steffen F\"undgens, Simon Froitzheim, Jasper Manousek}
|
||||
\newcommand{\myAutorsFoot}{\myAutors}
|
||||
|
||||
% If you want to draw images by latex:
|
||||
% http://www.texample.net/tikz/
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,shapes}
|
||||
|
||||
% Apply the acg layout
|
||||
\include{layoutacg}
|
||||
|
||||
% Setup the title page
|
||||
\title{\myTitle}
|
||||
\author{\myAutors}
|
||||
\institute{RWTH Aachen University}
|
||||
\date{\today}
|
||||
\subject{\myTitle}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\section{\myTitle}
|
||||
|
||||
\subsection{Steffen}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Triggers:
|
||||
\begin{itemize}
|
||||
\item Trigger Scripts are now written in Lua
|
||||
\item No more hardcoded trigger events
|
||||
\item Could be changed at runtime
|
||||
\end{itemize}
|
||||
\uncover<2->{Converter
|
||||
\begin{itemize}
|
||||
\item Added various features
|
||||
\end{itemize}}
|
||||
\uncover<3->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Debug Converter
|
||||
\item Implement a seperate loading thread (split up level and only load closest stuff)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Japser}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Physics:
|
||||
\begin{itemize}
|
||||
\item Added spring constraints (can be used by Doors and Buttons for example)
|
||||
\item Implemented collision masks
|
||||
\item General collision fixes
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Make Physics more roboust
|
||||
\item Camera collision(already started)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Simon}
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Level Design:
|
||||
\begin{itemize}
|
||||
\item Worked on our own heightmap
|
||||
\item Added a bridge to our level
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Finish the level
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Fabian}
|
||||
|
||||
\begin{frame}
|
||||
\begin{itemize}
|
||||
\item Graphics:
|
||||
\begin{itemize}
|
||||
\item \grqq{Improved}\grqq{} shadows
|
||||
\item Removed cascaded shadow mapping
|
||||
\item Improved point light shadows(see demo)
|
||||
\end{itemize}
|
||||
\uncover<2->{ Future Work:
|
||||
\begin{itemize}
|
||||
\item Finish working on shadows
|
||||
\item Implement bump mapping
|
||||
\item Particle Systems
|
||||
\item (Screen Space Ambient Occlusion)
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\subsection{Demo}
|
||||
\begin{frame}
|
||||
\includegraphics[width=11cm]{images/demo_m3}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|