Модели блендера XNA 3D не сохраняют масштаб

Итак, я делаю все свои модели в Blender, а затем экспортирую их в формат .fbx, используя File -> Export, а затем проверяю XNA Strict Options. Это отлично работает, за исключением того, что когда я помещаю свою модель в XNA, она растягивается по оси вверх-вниз и всегда в одном масштабе. Независимо от того, насколько я масштабирую его в Blender, в игре он всегда одинакового размера. Любые идеи? Кроме того, я не уверен, связано ли это, но если у меня есть модель с несколькими частями, она будет отображать только одну ее часть. Любая помощь приветствуется!


person SupremeSteak1    schedule 15.12.2013    source источник


Ответы (1)


Я больше знаком с 3ds max, чем с blender, но если бы это происходило в max, я бы знал, что происходит, поэтому я скажу это на случай, если Blender работает аналогичным образом.

Когда вы что-то изменяете в приложении для 3D-моделирования (например, масштабируете модель по определенной оси), это фактически не меняет положения вершин, как вы думаете. Он только создает матрицу преобразования, которую можно применить к исходным позициям вершин во время рендеринга, чтобы она выглядела так, как вы ожидаете. Поэтому, когда вы импортируете модель в Xna, вы импортируете модель с немасштабированными позициями вершин и всеми матрицами преобразования, необходимыми для рендеринга модели так, как вы ожидаете. Но вы должны применить эти преобразования в своем коде Xna, иначе модель не будет отображаться так, как в вашем приложении для моделирования. (проблема, с которой вы столкнулись)

Вы применяете преобразования, вызывая Xna Model.CopyAbsoluteBoneTransformsTo(Matrix[]). Убедитесь, что вы не звоните Model.CopyBoneTransformsTo(Matrix[]), вам нужен тот, в котором есть слово «Абсолют».

Вот руководство, в котором показано, как реализовать этот метод: http://msdn.microsoft.com/en-us/library/bb203933(v=xnagamestudio.40).aspx

person Steve H    schedule 17.12.2013
comment
Извините, что беспокою вас, но я попробовал это, и у меня возникли небольшие проблемы. Сфера была на боку, и вид был испорчен. Если бы вы могли взглянуть на код, который у меня есть, и посмотреть, есть ли у меня что-нибудь, что могло бы изменить ситуацию, это было бы здорово! Большое спасибо! Ссылка: dropbox.com/s/8lzynqtfs9x7ksw/3d%20test.txt < / а> - person SupremeSteak1; 18.12.2013
comment
Спасибо большое! Я уже некоторое время пытаюсь заставить это работать, и не думаю, что нашел бы это. - person SupremeSteak1; 18.12.2013