Quote
So I just downloaded TSM and ran some tests. Indeed you can move the top node's pivot to your heart's content without affecting the children's animations. What I think is missing here is an understanding that the origin in TSM and the center of the final exported model have absolutely nothing to do with each other. The location of the top node's pivot determines the model center. I think that TSM users have been trying to solve the problem by moving the entire model and then moving the individual part pivots (since TSM doesn't move them with each other for whatever reason). The solution is as simple as opening the translate dialog box, selecting "axis only," and then moving the pivot to a place that will put the model in the right place.
To calculate the amount of translation required, you will need to locate the correct edges of the model and find the average between them. The simplest way to do this would be to find the z-axis (fore/aft) location of one vertex on the front coupler or buffer, then find the matching vertex on the opposite coupler or buffer, add the two values, then divide by two. This will give you the proper location of the top node pivot. Then it's a simple matter of finding out where that pivot presently is, and doing some basic arithmetic to find out how much translation is required.
I'll walk you through an example. Let's say I have a locomotive that is off-center, and let's presume that this locomotive has buffers at each end. So I select a single vertex from the furthest forward part of one of the front buffers, and get a z-value of 10.125m. Let's say I then select the furthest aft vertex of one of the aft buffers and get a z-value of -10.250m. I then add these two values together to get -0.125m, and divide by two to get the correct location of the model center, which is -0.0625m. Let's say the top node pivot is located at a z-value of 0m. I then simply translate the pivot -0.0625m by entering that value in the translate dialog and clicking "axis only."
Let's say I did all the same work, but the top node's pivot was originally located at z=-0.213m. Subtract -0.213 from -0.0625 to yield +0.1505m.
Note that what TSM calls the z-axis, 3DS/GMax calls the y-axis. Most Max users are probably already familiar with the "affect pivot only/affect object only/affect hierarchy only" buttons on the hierarchy tab, though.
To calculate the amount of translation required, you will need to locate the correct edges of the model and find the average between them. The simplest way to do this would be to find the z-axis (fore/aft) location of one vertex on the front coupler or buffer, then find the matching vertex on the opposite coupler or buffer, add the two values, then divide by two. This will give you the proper location of the top node pivot. Then it's a simple matter of finding out where that pivot presently is, and doing some basic arithmetic to find out how much translation is required.
I'll walk you through an example. Let's say I have a locomotive that is off-center, and let's presume that this locomotive has buffers at each end. So I select a single vertex from the furthest forward part of one of the front buffers, and get a z-value of 10.125m. Let's say I then select the furthest aft vertex of one of the aft buffers and get a z-value of -10.250m. I then add these two values together to get -0.125m, and divide by two to get the correct location of the model center, which is -0.0625m. Let's say the top node pivot is located at a z-value of 0m. I then simply translate the pivot -0.0625m by entering that value in the translate dialog and clicking "axis only."
Let's say I did all the same work, but the top node's pivot was originally located at z=-0.213m. Subtract -0.213 from -0.0625 to yield +0.1505m.
Note that what TSM calls the z-axis, 3DS/GMax calls the y-axis. Most Max users are probably already familiar with the "affect pivot only/affect object only/affect hierarchy only" buttons on the hierarchy tab, though.