Sign in to follow this  

Picking 3D objects with mouse

This topic is 4781 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

I'm trying to find a way to select units with mouse cursor in a 3D RTS game. What's the fastest way? I figured out I'm supposed to create bounding boxes for all units (ComputeBoundingBox(...) ?) and then a vector from mouse click position paralell to the view axis would be useful. Am I supposed to walk from start of the "pick line" to the nearest object while checking if current point is inside any of bounding boxes? Or is there a math function checking intersection of a ray with a box (or set of boxes)? Thanks

Share this post


Link to post
Share on other sites
I've been busy with this last week. I recommend not using the D3DXComputeBoundingBox function.

Why?

Well, it does what it says: box. Not a rectangle, but a box.

So imagine you want to have a bounding box around a piece of paper (long and thin). If you used the D3DX function, it will make the width (1mm?) of the paper have a bounding box of the length of the paper.. to make a box!

A rectangle would be a lot better, since it will fit exactly round the paper.

How to do this:

vector Max = 0
vector Min = 0
Loop through all vertices
if (vertices[i].x < Min.x) Min.x = vertices[i].x
if (vertices[i].x > Max.x) Max.x = vertices[i].x
//(repeat for y/z)
Next

And then you got yourself a vector min and max: min is top-left of you, vMax is far-right-top. Good luck ;)

Share this post


Link to post
Share on other sites

This topic is 4781 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.

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