Импорт FBX в ARToolKit

У меня проблема с импортом модели FBX. Я сделал это с Unity, поэтому я знаю, что модель хорошо экспортируется, но я также должен работать с собственным кодом. Я получаю сообщение об ошибке:

2015-06-02 15:20:21.721 ARAppNFTOSG[746:481003] Error: unsupported model file
type (fbx). Ignoring.

Я пробую это на примере AR с именем ARAppNFTOSG. Я изменил model.dat как:

1

OSG/Geralt/watcher.FBX
0.0 0.0 0.0
0.0 1.0 0.0 0.0
10.0 10.0 10.0
MARKER 1

Я просмотрел форумы OSG и обнаружил, что мне следует установить FBX SDK, который я установил для версий 2013.3 и 2014.1. Также добавьте строку:

 USE_OSGPLUGIN(fbx)

к osgplugins.h Я не уверен, что FBX SDK, который я установил, каким-то образом связан, потому что я не делал связывание вручную. Что я должен делать? Я использую Mac, кстати.


person Berke Atmaca    schedule 02.06.2015    source источник


Ответы (3)


Плагин FBX для OSG не поставляется с ARToolKit для iOS, и я не уверен, что его вообще можно собрать для iOS.

Лучший вариант — использовать инструмент командной строки osgconv из установки OSG в OS X или Windows (например, http://www.artoolkit.org/dist/3rdparty/openscenegraph/3.2.x/OpenSceneGraph-3.2.2%20OS%20X%2010.7%2B%20Installer.zip включает подключаемый модуль FBX и предоставляет osgconv по пути /Applications/OpenSceneGraph/Applications/osgconv) для преобразования из FBX в поддерживаемый формат OSG, например. .osgb и загрузите его во время выполнения.

person bleater    schedule 17.09.2015

Это одноразовый импорт или вы будете использовать много моделей FBX?

Если это единовременно, вы можете использовать пробную версию Sketchup Pro с пробным плагином импортера FBX: http://www.simlab-soft.com/3d-plugins/FBX_Importer_For_Sketchup-main.aspx

И экспортируйте его во что-то, что понимает загруженный вами ARToolkit. (вероятно, файлы COLLADA .dae или файлы 3DS - посмотрите, какие плагины osgdb у него есть, они должны называться, например, как osgdb_dae.so).

Если это будет долгосрочная проблема, вам придется создавать основные классы Open Scene Graph и плагин FBX из исходного кода. Если вы пробовали это до того, как скачали FBX SDK, удалите файлы кеша cmake и начните заново с включенным флагом FBX.

Если вы считаете, что построили его правильно, вам также может потребоваться создать цель «установить», чтобы плагины были зарегистрированы в вашей системе.

person Ruan Caiman    schedule 24.06.2015

USE_OSGPLUGIN (fbx)

необходим только в том случае, если вы выполняете статическую компоновку. Вы статически связываете OSG и его плагины? обычно так не делают.

Вы можете попробовать установить переменную окружения OSG_NOTIFY и посмотреть на результат. Это может сказать вам, почему ему не удается загрузить файл FBX.

person XenonofArcticus    schedule 04.06.2015
comment
Нет, я просто загружаю iOS SDK ARToolKit, в котором есть пример с именем ARAppNFTOSG. В проекте Build Phases я связываю Adobe FBX SDK, но ничего не изменилось. Я думаю, что если есть возможность, что OSG в ARToolKit скомпилирован без поддержки FBX. Поэтому мне нужно скомпилировать с помощью FBX SDK и связать его с моим проектом. Я не уверен, что это проблема. Можете ли вы рассказать, как я установил среду OSG_NOTIFY. - person Berke Atmaca; 04.06.2015
comment
Весьма вероятно, что ARToolkit OSG был скомпилирован без поддержки FBX. Вызовите osg::setNotifyLevel, чтобы установить его из кода: / - person XenonofArcticus; 05.06.2015