Pivots do not really exist, at least not in the way you think. The obj format has no way of conveying this information, while technically both collada and fbx could export this data many programs would actually struggle to understand reading it back. Even if some would do many aplications would show the origins instead because they actually mean something.
In testing the resulted exports in Deep Exploration, I can see that the pivot points are always moved to
the lower left of the exported component,
What you see is NOT the pivot, its the mathematical origin. They are 2 separate things. Most maya users are insulated of the mathematical model beneath. Now there are some basic concepts in 3d applications, you can assume that the base consents translate pretty well. But see above the mathematical pivot theres a unlimited number of ways to deal with the situation, since almost no application does this the same way theres no point in trying to export it.
Maya also has the same data. You can visualize the origin by selecting the objects and running (save scene first as this is a permanent change):
for ($item in ls -transforms) createNode -p $item locator;
this will place a locator where the mathematical origin of each object in your scene is (you may need to make objects transparent or wireframe to see this). This may or may not coincide with your pivot position. The only thing for positioning that has any importance is this point. The pivot doesn't play a part in the mathematics of the exported object, its not needed as it doesn't really exist. In fact theres no reason why maya objects just have one pivot they could have as many pivots as you wish. Maya just keeps things simple so you have easier time managing things. But other software are free to do what they want.
but the actual origin IS important without it everything else breaks down.
Anyone else have this problem?
Well its not a problem, just how it really works. Rather the problem is how you THINK it works.
Anyone know how to resolve it?
Well that depends on do you want to move the origin or not. THeres really no reason that you can not move the origin to be where you think it is. Except that a LOT of people use the origin placement as a nifty way to reset their animations.
See the reason the transform can say that your object is at 0 0 0 in the channel box has to do with the fact that what you can mark as the place to manipulate form can be different form the mathematical origin. The channelbox is right your object IS at 0 0 0. Now IF you move the origin to the pivot then the object move too, conceptually they will move but stay still. Since the object moves and the points move to exact opposite directions. So you loose this zeroing ability instead.
but yeah youd do the following move object pivot to local center (both in translation AND in rotation), freeze, and move back where it was. Done.
But no i dont actually suggest this for anyone because its a massive one way street once your done it your object is no longer the same , all points have moved, not visibly but mathematically all their values are now permanently different. developpers have hard time doing this automatically for you because they can not understand what each individual perosn thinks. And besides they think about origins and not pivots anyway.*
PS: if you really intended for the origins to be where you moved them then why did you model the object off origin?
- this is the sort of thing that happens when someone says lets make this easy for the user and hide the big things. Then the user s are totally insulated form the issue. They will forget that there is such things as under the hood, and suddely some mismatch happens on some fringe case and theres no way that they can wrap their head around the problem without realizing they need to re think everything the knew to be true.
Off course for developers this is a every day occurrence.