Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

wasd

Collision detection with scene graphs

This topic is 5367 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What is a good way to perform collision detection/response when using a scene graph? I want to learn how to do scene graphs, so I''m going to create a small demo with one, and I understand how to do rendering, but was wondering what the best way for collision detection would be. Would you select each object from the tree in turn, then perform collision detection with everything that is not a child of the object, update it''s position if nescecary, put it back into the tree keep looping until no more collisions have been detected? --------------------------------------- Let''s struggle for our dream of Game! http://andrewporritt.4t.com

Share this post


Link to post
Share on other sites
Advertisement
I believe a scene graph should be a logical tree structure, describing objects relative to eachother.
For example a character holding a gun. If he mounts a truck and drives it, the truck moves and the contents including the player and his gun are relative to that.

If you make a client/server structure, the scene graph holds only objects, position, and their properties on the server side (the game). The client has a related render graph, that holds graphics objects with their bounding boxes for frustum culling. That leaves collision detection. For this you could define a separate tree on the server/game.

Selecting each object from the tree defeats the purpose of a tree. Every node should have a bounding box that includes all the children and objects in the node and the children recursively. If that box fails the text the whole branch can be discarded.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!