[Orxonox-commit 4246] r8917 - in code/branches/environment3/data/levels: . includes
fmauro at orxonox.net
fmauro at orxonox.net
Wed Nov 2 15:35:24 CET 2011
Author: fmauro
Date: 2011-11-02 15:35:23 +0100 (Wed, 02 Nov 2011)
New Revision: 8917
Modified:
code/branches/environment3/data/levels/asteroidField.oxw
code/branches/environment3/data/levels/includes/asteroidField.lua
Log:
Added newtonian gravity to asteriods and comments
Modified: code/branches/environment3/data/levels/asteroidField.oxw
===================================================================
--- code/branches/environment3/data/levels/asteroidField.oxw 2011-11-02 14:16:25 UTC (rev 8916)
+++ code/branches/environment3/data/levels/asteroidField.oxw 2011-11-02 14:35:23 UTC (rev 8917)
@@ -27,14 +27,16 @@
<Scene
ambientlight = "0.8, 0.8, 0.8"
skybox = "Orxonox/Starbox"
+ hasPhysics = true
>
<Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
<SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff2 />
-
+
+ <!-- Generate asteroid field with diameter 12000 containing 250 asteroids -->
<?lua
dofile("includes/asteroidField.lua")
- asteroidField(0, 0, 0, 12000, 250)
+ asteroidField(0, 0, 0, 150, 50,12000, 250)
?>
</Scene>
Modified: code/branches/environment3/data/levels/includes/asteroidField.lua
===================================================================
--- code/branches/environment3/data/levels/includes/asteroidField.lua 2011-11-02 14:16:25 UTC (rev 8916)
+++ code/branches/environment3/data/levels/includes/asteroidField.lua 2011-11-02 14:35:23 UTC (rev 8917)
@@ -1,20 +1,28 @@
-function asteroidField(posX,posY,posZ,radius,count)
+--[[ asteroid field generator
+--[[
+--[[ generates asteroid field
+--[[ posX, posY, posZ - position in space
+--[[ minSize, maxSize - size boundaries of each asteroid
+--[[ radius - size of the cube around position in space
+--[[ count - number of asteroids
+function asteroidField(posX, posY, posZ, minSize, maxSize, radius, count)
for i = 1, count, 1
do
- size = math.random()
- print("<MovableEntity ")
+ size = (math.random() * (maxSize - minSize)) + minSize
+ print("<StaticEntity ")
print("position = \"")
print((2 * math.random() * radius) - radius + posX) print(",")
print((2 * math.random() * radius) - radius + posY) print(",")
print((2 * math.random() * radius) - radius + posZ) print("\"")
- print("scale = \"") print(size * 150) print("\"")
+ print("scale = \"") print(size) print("\"")
- print("collisionType = dynamic linearDamping = 0.8 angularDamping = 0 collisiondamage = 1 enablecollisiondamage = true>")
- print("<attached> <Model mass=\"") print(size * 1000) print("\" mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" /> </attached>")
- print("<collisionShapes> <SphereCollisionShape radius=\"") print(size * 350) print("\" /> </collisionShapes>")
- print("</MovableEntity>")
+ print("collisionType = static linearDamping = 0.8 angularDamping = 0 collisiondamage = 1 enablecollisiondamage = true>")
+ print("<attached> <Model mass=\"") print(size * 10) print("\" mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" /> </attached>")
+ print("<attached> <ForceField position=\"0,0,0\" mode=\"newtonianGravity\" diameter=\"") print(size + (size * 0.2)) print("\" massDiameter=\"") print(size) print("\" mass=\"") print(size * 1000) print("\" /> </attached>")
+ print("<collisionShapes> <SphereCollisionShape radius=\"") print(size) print("\" /> </collisionShapes>")
+ print("</StaticEntity>")
end
end
More information about the Orxonox-commit
mailing list