I don’t even know…

Okay, I guess I do know, I made it.
Why?
I don’t even know.
How?
bge and a simple gravity script of course.
wanna hear it? here is go!

```import bge
from mathutils import Vector
co = bge.logic.getCurrentController()
scene = bge.logic.getCurrentScene()

obList = []
for o in scene.objects:
if o.__class__ == bge.types.KX_GameObject:
obList.append(o)

def calcGrav(obA, obB, G):
m1 = obA.mass; m2 = obB.mass
m = m1*m2
loc1 = obA.worldPosition
loc2 = obB.worldPosition
v = loc1 - loc2
r = v.length
F = G * ( (m) / (r*r) )
return -v * F

def loopGrav(obs, G):
for obA in obs:
fV = Vector((0,0,0))
for obB in obs:
if obA != obB:
fV += calcGrav(obA, obB, G)
obA.applyForce(fV, False)

loopGrav(obList, 1)

keyb = bge.logic.keyboard
if keyb.events[bge.events.ZKEY]>0:
for ob in obList:
ob.applyTorque(Vector((0,0,50)), False)

if keyb.events[bge.events.XKEY]>0:
loopGrav(obList, -2.5)

if keyb.events[bge.events.CKEY]>0:
loopGrav(obList, 15)```

HOW TO:
– copy/paste script into blender text editor.
– setup an EMPTY object with logic nodes as shown.
– change ‘Engine’ from ‘Blender Render’ to ‘Blender Game’
– set World>Physics>Gravity to 0.0 (under Bullet)
– create some objects.
– hit ‘p’

This script will (should/might) make all meshes in the scene obey Newton.

### One Response to “Something else with gravity and ragdolls”

1. Up until the first rag doll shows sup, it looks like a bunch of rectanguloid piranhas having dinner. After skipping breakfast and lunch.

This site uses Akismet to reduce spam. Learn how your comment data is processed.