-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
24 lines (18 loc) · 1.08 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Bullet Cocos3D Wrapper
IMPORTANT!!
You need to edit your build settings and add a NOT recursive header search path "./Bullet\ Wrapping/src/" WITH the quotes to the "Header Search Paths" and "User Header Search Paths".
create an instance of CC3PhysicsWorld (contains a btDiscreteDynamicsWorld)
CC3PhysicsWorld *_physicsWorld = [[CC3PhysicsWorld alloc] init];
and set it's gravity
[_physicsWorld setGravity:0 y:-9.8 z:0];
create a physics object
//for a box that is 1 x 1 x 1
CC3MeshNode *boxNode;
btCollisionShape *boxCollisionShape = btBoxCollisionShape(btVector3(1,1,1));//I might provide a wrapper sometime in the future.
CC3PhysicsObject3D *boxObject = [_physicsWorld createPhysicsObject:node shape:boxCollisionShape mass:1 restitution:0.3 position:boxNode.location];
apply force/impulse
[boxObject applyForce:cc3v(0,1,0) position:boxObject.node.position];
[boxObject applyImpulse:cc3v(0,1,0) position:boxObject.node.position];
you need to call this in an update method:
[_physicsWorld synchTransformation];
to set the location of a physics object you need to delete the object then re-make it