Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Корректная загрузка файла 3DS, проблемы с pivot point 
:(
    Опции темы
zb8194
Дата 17.7.2004, 23:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сравнительно недавно я решил написать загрузчик (с анимацией) моделей из файла 3DS. Сначала это казалось достаточно простым делом, однако затем (как всегда) возникли непредвиденные

трудности. Дело в том, что если при создании модели в 3DStudio Max (вер. 5.0) поизвращаться с её позицией/поворотами + позицией/поворотами Pivot point (точка определяющая локальную

систему координат объекта и являющаяся по совместительству центром вращения объекта), то корректная загрузка на этом прекращается.

Изучение доков по данной проблеме показало, в том числе, важность для решения этой проблемы блоков:

0x4160 (Локальная система координат + вектор переноса) - матрица 4x3
0xb013 (Pivot point)
???

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

Я пытался реализовать следующую последовательность действий:

0)гружу кучу всего, в том числе:
1) гружу вершины и данные о гранях объекта
2)гружу 0x4160
3)гружу 0xb013
4).......

4) осуществляю обратный сдвиг вершин объекта по вектору переноса и умножаю вершины на лок.сист.коорд (ЛСК)

5)сдвигаю вершины на позицию из 0-го кадра анимации
6)поворачиваю объект на данные 0-го кадра анимации

(делаю именно нулевой кадр анимации, т.к. пока я просто добиваюсь нормального исходного отображения объекта, а прочая анимация для меня в данное время не важна)

7)??????????????? что надо делать еще - без понятия

Может, кто-нибудь имеющий опыт загрузки моделей из файла 3ds поделится своими соображениями по данной теме? Заранее благодарен.

P.S. пишу на C++, OpenGL
  Вверх
cardinal
Дата 18.7.2004, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Я думаю, что ты велосипед изобретаешь. Дело в том, что уже давным давно написаны всякие разные 3ds loader'ы. У меня например есть 3ds importer, который написал Lev Povalahev.
Структура этих 3ds файлов довольно таки навороченная и чтобы файл загрузить надо написать достаточно большое кол-во кода.
Я бы тебе предложил найти что-нибудь готовое и посмотреть на это и если все еще останется желание заниматья этим то пожалуйста. У меня оно быстро отпало, когда я увидел сколько там всего понаписано. smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
zb8194
Дата 18.7.2004, 23:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Велосипед велосипедом, конечно, однако просто неохота останавливаться на достигнутом (так как оно, в своем теперешнем состоянии меня не удовлетворяет).
К слову говоря, методом обнуления различных блоков 3DS файла, я выяснил, что для корректного отобьражения объекта в нулевом кадре анимация вообще не важна. Важны только блоки:

0x4160 и 0xb013 (см выше).

Как их надо соотносить между собой, правда, для меня пока загадка. Надо как-то комбинировать умножение прямой и обратной маттрицы, что в 0x4160, а также что-то замутить в промежутке с 0xb013, но что??????
  Вверх
cardinal
Дата 19.7.2004, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Качай тут:
http://www.levp.de/3d/
Изучай как этот чувак все сделал и проводи параллели thumbs-up.gif

Там помоему до фига информации...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
zb8194
Дата 19.7.2004, 23:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











К сожалению упомянутый выше загрузчик оказался не в состоянии решить проблему злосчастного pivot point. Картина, выдаваеваемая им в окне визуализации 100% соответствует моей - т.е. она также некорректна. Увы....

Развивая тему - конечно, если этот нехороший pivot не трогать, а оставлять в 3DS Max по умолчанию, то, в принципе, жить можно, однако тяжко. Ибо значительно сужаются горизонты применения проги - использовать её будет можно с несамыми хилыми оговорками... В любом случае спасибо за помощь. Ну а вообще, как говаривал один персонаж - будем искать.
  Вверх
WolfON
Дата 20.7.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



качни GlScene на glscene.org, покапайся в срцах, там хороший алгоритм =)
PM MAIL ICQ   Вверх
zb8194
Дата 20.7.2004, 23:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Понемногу продвигаюсь самостоятельно. Теперь уже многое стало яснее (хотя и не все). Насчет glscene.org - посмотрю, хотя не уверен. Этот 3DS - такая скотина - одни файлы грузятся нормально, другие нет... Слишком много факторов на это влияет. Хотя определенный прогресс был буквально сегодня достигнут. У меня стали вроде нормально корректно грузиться даже самые мудреные файлы, но без масштабирования и иерархии пока. Надеюсь так же будет и дальше (теперь дорогу видно, надеюсь).

И кстати - насчет:

Цитата
К слову говоря, методом обнуления различных блоков 3DS файла, я выяснил, что для корректного отобьражения объекта в нулевом кадре анимация вообще не важна. Важны только блоки:
0x4160 и 0xb013 (см выше).


это я погорячился.Бывает. Еще как необходимы!
  Вверх
zb8194
Дата 20.7.2004, 23:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Еще как необходимы!


Это я насчет блоков анимации, масштабирования и пр.
  Вверх
yurgen20
Дата 21.7.2004, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 3.4.2003

Репутация: нет
Всего: нет



Слушай, а исходники выкинуть не жалко будет? Хотя бы недоделанные. Очень уж интересная тема.
PM MAIL   Вверх
ver01
Дата 14.4.2005, 18:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











что за бред,почему блок TRACKPIVOT,который 0xb013,хранит неправильные координаты???мне нужно знать координаты центра объекта.помогите!
  Вверх
cardinal
Дата 14.4.2005, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Может байты перевернуты?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
December DezmASter
z-END Caramel
  • Старайтесь изложить проблему как можно ясней.
    Как показывает статистика, на один понятный вопрос приходится три правильных ответа.

  • Лучше один раз увидеть, чем сто раз услышать.
    Прикрепляйте к сообщению иллюстрации. Если не знаете как это сделать посмотрите здесь: "Как вставлять картинки?"

  • Как вы спросите - так вам и ответят. Будьте вежливы.

и последнее: форум фотошоп предназначен для того, чтобы учиться. Топики с просьбами "сделайте мне" будут удаляться в раздел

работа


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, DezmASter, z-END, Caramel.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Photoshop, Illustrator, Corel и т.п. | Следующая тема »


 




[ Время генерации скрипта: 0.0658 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.