Всё логично, макс работает с параметрическими объектами, поэтому матрица задаётся только однажды в момент создания объекта. А затем все операции по скалированию, перемещению, развороту и так далее, производятся за счёт умножения матрицы на соответствующие вектора, которые также являются параметрическими. Например, при отзеркаливании объекта матрица просто напросто домножается на "минус единицу". В итоге, если вы, скажем, пользуетесь нормалмапами, то отзеркаленый объект будет отображаться "вывернутым наизнанку" именно за счёт этого самого домножения векторов нормалей на "-1". Смиритесь с этим, поскольку это не баг, а особенность любой программы, использующей параметрические объекты. Бороться с этим можно только следующим образом:
1. Забудьте о борьбе с подобным явлением, если у вас уже имеется анимация, поскольку анимация производится только с имеющейся в распоряжении параметрической матрицей. То есть производить подобные оперции необходимо до того, как объект начинает анимироваться. Кстати этот момент относится к вопросу о культуре моделирования. Подобные вещи необходимо производить обязательно, даже, если в текущий момент времени всё обошлось. Поверьте, в следующий раз не обойдётся.
2. Использование различных модификаторов типа reset transform/scale и XForm решают вопрос только в отдельно взятых очень редких случаях, в остальном они не могут помочь, особенно XForm модификаторы, которые вообще категорически не рекомендую использовать.
3. Решается проблема следующим образом.
- проверьте, что всё, что вы делаете, вы делаете в правильном масштабе.
- необходимо разместить и отскалировать объект таким образом, чтобы после этого уже никогда не производить над ним никаких операций, имеющих отношение к внутреннему изменению матрицы, то есть в финальную стадию, которую назовём условно NoEditable. Грубо-говоря, мы сможем производить операции с этим объектом только в аспекте objectspace, но ни в коем случае не в tangentspace, ни накладывать текстурных координат, ни, тем-более, обсчитывать карт. Всё это должно быть произведено на более ранних этапах.
- параметрически задать в 0 глобальной системы координат любой объект из серии примитивов (лучше всего бокс со стороной 1 или сферу радиусом 1), таким образом, чтобы локальные оси координат этого объекта совпадали с глобальными осями координат. (Шестикласник сумет разобраться как это проще всего сделать.)
- наложить на объект модификатор EditMesh, войти в него, поочерёдно приаттачить к объекту всё, что требует нормализации.
- схлопнуть стек модификаторов в EditableMesh, после чего отдетачить всё необходимое в нужном вам порядке и грохнуть объект.
- Всё, нормальзация матрицы произведена, можно анимировать и экспортить куда угодно.