max and maya bounding volume creation

Started by
8 comments, last by RobTheBloke 12 years, 9 months ago
Hey all, before I make BV creation algorithms I was wondering if 3dstudiomax and Maya have built in support for computing and exporting bounding volumes, especially best fitting OBBs. Thanks in advance.
Advertisement
Um, may I ask why? Creating an OBB or whatever oriented BB is a very simple and straightforward thing.
Both 3ds max and maya have bounding boxes on every transform. You can simply query them.

Um, may I ask why? Creating an OBB or whatever oriented BB is a very simple and straightforward thing.


Creating a best fitting OBB is a very straightforward and simple thing? Either you are a math genius or you do not understand what it takes to compute a best fitting OBB. I'm assuming you've computed an AABB (which is very simple) and you believe that an OBB is that same thing.

Both 3ds max and maya have bounding boxes on every transform. You can simply query them.


Interesting. So I'm assuming it has options for different types of BVs such as spheres, AABB, OBB, k-dops etc.
Does it compute best fitting OBBs? (i would assume so)

Also, when you say it can compute an OBB on every transform, do you mean the artist can choose how to compute multiple OBB's per object? Is this something artists have complete control over, or is there some type of setting for how many OBBs will be used on the object?

Thanks for all of the help. I don't want to waste a lot of time reinventing the wheel if the artists can easily export bounding volumes =)

[quote name='szecs' timestamp='1311143902' post='4837819']
Um, may I ask why? Creating an OBB or whatever oriented BB is a very simple and straightforward thing.


Creating a best fitting OBB is a very straightforward and simple thing? Either you are a math genius or you do not understand what it takes to compute a best fitting OBB. I'm assuming you've computed an AABB (which is very simple) and you believe that an OBB is that same thing.
[/quote]

You are right, I misunderstood. Sorry for that. I'd guess that RobTheBloke misunderstand it too, I couldn't find any modifiers or anything that compute the best fitting BB. I believe 3ds Max only has the object oriented bounding box (object's AABB )
Darn. So you're saying that they will compute AABB for you but not OBB? That's a bummer. I guess I'll have to implement my own best fitting OBB constructor =(

I'm not sure. Look for plugins or scripts on the net. Or maybe you'll find a library too. How precise does it have to be? How fast (real time)? If neither of them, you could compute several AABB:s for several different axes (dunno, rotate axes with 5° increment pitch/yawn for example), and choose the smallest.

Darn. So you're saying that they will compute AABB for you but not OBB? That's a bummer. I guess I'll have to implement my own best fitting OBB constructor =(

They won't compute OBB*, but the bone hierarchy will inherently provide you with an OBB tree. They may not be best fitting, but they won't be far off (unless your modeller is a lunatic!). Obviously if you are using the OBB trees for a single high poly mesh, they won't be of any use to you (you might have to generate some form of tree for that data). But assuming your modeller is using sensible hierarhies of objects, they will be more than adequate for things such as visibility testing etc.

* They are actually computed as a result of modelling operations. How good they are, then depends on how your modeller likes to work.

Interesting. So I'm assuming it has options for different types of BVs such as spheres, AABB, OBB, k-dops etc.


No. Just OBB.


Does it compute best fitting OBBs? (i would assume so)


Both Maya and Max require OBB trees for their selection and visibility algorithms. The basic premise is that the Max/Maya scene is split into 2 types of objects (ish), Shapes and Transforms. Shapes are simply local space geometry data, and an AABB is computed for that object (in local space). Transforms simply position shapes within the scene, and they also have their own OBBs (generated from any AABBs from child shapes, and any OBB's from child transforms). The result is a usable OBB tree.

They cannot be computed as 'best fitting' because this makes no sense for Maya/Max (i.e. the location of the actual transform is always important for things like scale/rotate/translate/select tools). The result will either be a tree that is nowhere near best fitting (blame the artist), or a tree that is quite accurate.


Also, when you say it can compute an OBB on every transform, do you mean the artist can choose how to compute multiple OBB's per object?

The bounding boxes are computed. Things that are computed in Max/Maya cannot be controlled by artists.


Is this something artists have complete control over, or is there some type of setting for how many OBBs will be used on the object?


Artists have no direct control over how the tree is generated. Well, that's not quite true. A tree will always be generated that's a best fit for their model data. If they like to work by combining hundreds of small meshes into a single mesh blob, then the tree that is generated will be fairly useless. If however they prefer working with lots of grouped/parented objects, the tree will be about as accurate as you can get....

This topic is closed to new replies.

Advertisement