Sign in to follow this  
Followers 0
Xardov

XNA 4.0 Bounding Boxes

6 posts in this topic

So I'm a beginner with XNA 4.0 and programming in general, and i'm just trying to create a Bounding Box for a small cube I have. Problem is, I have absolutely no idea where to even start, because as far as I know, there isn't a BoundingBox stored in ModelMesh like there is a BoundingSphere. Also, I don't know what the min and max values are.... So, how would I go about creating a Bounding Box?
0

Share this post


Link to post
Share on other sites
in this case, your BB is your cube (since BBs are boxes, and cubes are a type of a box). you can either test your current shape itself, or just clone it for a data structure.
0

Share this post


Link to post
Share on other sites
Here is the Bounding Box help.

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.boundingbox.boundingbox.aspx

The Min and Max values are Vector3's.

In your case you would create a Bounding Box like this.

BoundingBox cubeBox = new BoundingBox(new Vector3(cube.Position.X - cube.Origin.X, cube.Position.Y - cube.Origin.Y, 0), new Vector3(cube.Position.X + cube.Origin.X, cube.Position.Y + cube.Origin.Y, 0);

Bounding boxes are easy to create once you are familiar.

I normally use rectangles for 2D work.

Just go through the help system and you can easily learn about a subject.

If you highlight a word such as BoundingBox or Vector3 and press F1 then the help screen will open.
1

Share this post


Link to post
Share on other sites
Thanks! I do have one more question however. Your code sets the bounding box's size, but how would I set it's position so that it envelops the model?

And @NetGnome - How would I test for a shape? Sorry, but i'm really a newb at this 3D stuff.
0

Share this post


Link to post
Share on other sites
[quote]And @NetGnome - How would I test for a shape? [/quote]

Which, BB shape or the shape you're creating the BB for?
0

Share this post


Link to post
Share on other sites
[quote name='Xardov' timestamp='1328364735' post='4909516']
Thanks! I do have one more question however. Your code sets the bounding box's size, but how would I set it's position so that it envelops the model?

And @NetGnome - How would I test for a shape? Sorry, but i'm really a newb at this 3D stuff.
[/quote]

The bounding box constructor sets two Vector3's. They are effectively minimum position and maximum position.

As these positions are relative to the Box's Position they would naturally envelope the box.

If you dont understand what a Vector3 is then I suggest you look it up.

Also take a look at rectangle the principal is very similiar.

If you dont know how to make a rectangle do that first.

Then you can improve to the 3D Bounding Box.
0

Share this post


Link to post
Share on other sites
Thanks guys for your responses. So, just to clear things up, where is the origin of a model? I assume top left corner?
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0