Pre-purchase questions
by Rex Hiebert · in Game Mechanics Kit · 11/18/2009 (12:29 pm) · 1 replies
I am looking at GMK mainly for the bullet physics integration. I am working on a puzzle game that involves moving objects around and would like them to be able to fall, roll, etc. I tried using PhysX and has some measure of success but there are a few areas where it falls short. So I have a few questions about Bullet and how it is implemented through GMK
1. I need to be able to raycast/select objects based on their mesh and not just their bounds. I noticed in the demo that I could do this for most of the physics objects but couldn't with the tires. Can this work for all objects and all collision primitives?
2. PhysX in Torque only allows box, sphere and capsule collision primitives. A) What does bullet/gmk/torque have? B) Do they at least have cylinders? C) Can the collisions be based on just the mesh itself?
3. Some of my shapes are complex. Can multiple collision primitives be used to create collision hull (as PhysX does)?
4. What software is needed to create the physics object info? PhysX requires Max and a plugin for that. I would like to stay away from Max if possible.
5. With PhysX, I can have objects collide with TSStaic objects but it completely ignores StaticShape objects. I have some objects that need to hide from time to time and some doors that need to open and close. Because of that they are set up as StaticShapes. There are no shape animations. Only changing position, rotation or visibility. Can bullet objects see and interact with them?
6. Can the simulation be stopped and started? Can individual objects be toggled to simulate or not?
7. With PhysX the client and server objects can get out of sync. This causes other problems when trying to select or get position info. Synching the objects is something that they are working on for the next release. Does bullet have this issue? I'm not trying to make a fast multiplayer game. I just need to know where the object lands and where it stops.
8. Is there an issue with setTransform? Many of the moves in the game require me to set the position and orientation of the object. PhysX is fine with it, just wanted to make sure bullet was as well.
9. What events are exposed? Is there a notification when an object stops simulating? When all objects are at rest?
10. Are there limits on the number of objects? I've seen some demos with hundreds of objects. I may have about 400 objects that need physics but only 3 to 5 may be simulating at one time.
On a non-physics note...
I noticed that GMK has some trigger options. My game is set up where the user controls a free-flying camera and not an object (RTS style). The normal torque camera does not trigger the triggers or zones. Does GMK or does it still need a player object? I need to know when the camera is above certain areas so that the roof can be hidden so allow looking inside.
I would appreciate any information!
1. I need to be able to raycast/select objects based on their mesh and not just their bounds. I noticed in the demo that I could do this for most of the physics objects but couldn't with the tires. Can this work for all objects and all collision primitives?
2. PhysX in Torque only allows box, sphere and capsule collision primitives. A) What does bullet/gmk/torque have? B) Do they at least have cylinders? C) Can the collisions be based on just the mesh itself?
3. Some of my shapes are complex. Can multiple collision primitives be used to create collision hull (as PhysX does)?
4. What software is needed to create the physics object info? PhysX requires Max and a plugin for that. I would like to stay away from Max if possible.
5. With PhysX, I can have objects collide with TSStaic objects but it completely ignores StaticShape objects. I have some objects that need to hide from time to time and some doors that need to open and close. Because of that they are set up as StaticShapes. There are no shape animations. Only changing position, rotation or visibility. Can bullet objects see and interact with them?
6. Can the simulation be stopped and started? Can individual objects be toggled to simulate or not?
7. With PhysX the client and server objects can get out of sync. This causes other problems when trying to select or get position info. Synching the objects is something that they are working on for the next release. Does bullet have this issue? I'm not trying to make a fast multiplayer game. I just need to know where the object lands and where it stops.
8. Is there an issue with setTransform? Many of the moves in the game require me to set the position and orientation of the object. PhysX is fine with it, just wanted to make sure bullet was as well.
9. What events are exposed? Is there a notification when an object stops simulating? When all objects are at rest?
10. Are there limits on the number of objects? I've seen some demos with hundreds of objects. I may have about 400 objects that need physics but only 3 to 5 may be simulating at one time.
On a non-physics note...
I noticed that GMK has some trigger options. My game is set up where the user controls a free-flying camera and not an object (RTS style). The normal torque camera does not trigger the triggers or zones. Does GMK or does it still need a player object? I need to know when the camera is above certain areas so that the roof can be hidden so allow looking inside.
I would appreciate any information!
Torque Owner Yuri Dobronravin
Logicking
Considering your questions about physics. GMK Physics Pack is just a layer between PhysX, Bullet and Torque Simulation. Both PhysX and Bullet are pretty comprehensive solutions.
I can you give you version of GMK to play with so you will be able to decide whether it suits your needs. Please email me at logicking@logicking.com.
> I noticed that GMK has some trigger options.
Yes, but currently triggers react only on certain type of shapes (Players, Vehicles etc). You should to change code to get it collide with certain types of objects you need.
By the way you can easily track camera pos by some code and check it for collision with a bounds. Should be easy to code.