Jump to content

  • Log In with Google      Sign In   
  • Create Account


Am I on the right track?(my physics engine design)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 mrheisenberg   Members   -  Reputation: 356

Like
0Likes
Like

Posted 25 February 2013 - 08:33 PM

Basically my physics engine design is that I have a 3D grid of bounding cubes the size of the scene.Each entity also has it's bounding volume.The grid is in an octree, so it very quickly tests with which of the smallest levels of boxes the bounding volume of each entity intersects.So basically for each entity I get a list of the indexes of all cubes it intersects.For each cube I get a list of indexes for all entities that intersect it.So then in the narrow phase each entity goes trough it's list of intersected cubes and for each of them it loops trough the list of the entities that intersect that cube and tests it against the entity.Is this a decent design or am I going in the wrong direction?I get a decent performance so far, so I was thinking I'd stick to it and start adding optimizations and having the entities have rest/active states, but I guess I wanted a consultation before I carry on.One thing that might give me trouble is integrating terrain collision into it, not sure how that'll work out.



Sponsor:

#2 EWClay   Members   -  Reputation: 659

Like
0Likes
Like

Posted 26 February 2013 - 05:08 AM

Sounds fine. Do you need an octree for a grid? I'd have thought you could just look up the cubes directly.

#3 Dirk Gregorius   Members   -  Reputation: 747

Like
0Likes
Like

Posted 26 February 2013 - 12:13 PM

For terrain you simple project your AABB into the plane and detect the quads it overlaps. If your terrain is a triangle mesh you could e.g. use an AABB tree. There are some other options for the broadphase as well. Instead of the octree your could use Sweep and Prune or a dynamic tree. But the octree is totally fine.


Edited by Dirk Gregorius, 26 February 2013 - 12:14 PM.


#4 mrheisenberg   Members   -  Reputation: 356

Like
0Likes
Like

Posted 26 February 2013 - 10:20 PM

Thanks for the input, If understand properly the sweep and prune method is faster, but the octree method is generally better for when you have really fast moving, really varying in size objects?After the narrow phase I have a third phase where I check against a composite shape between the two objects where the composite shape is made of boxes that match some of the bone matrices for the bigger bones, so they're basically hitboxes for the body/limbs of the characters.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS