[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