Как использовать модели Blender в Java?

На самом деле общий вопрос?

Скажем, я делаю игру и создал модель персонажа в Blender. Как использовать эту модель в Java?

Я каким-то образом импортирую его?

Спасибо.

Ответы

Ответ 1

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

Цикл экспорта-импорта часто упоминается как "Asset Pipeline", и вы, как правило, хотите сохранить его максимально простым и автоматическим, поскольку это то, что вы или ваши художники будете выполнять на регулярной основе.

Итак, если мы посмотрим на несколько конкретных графических движков и платформ,

  • OGRE3D (или Ogre4J) поддерживает его собственный текстовый формат (.scene,.mesh.xml,.material.xml) для загрузки сцен, моделей и материалов. Кроме того, у него есть поддержка анимации якоря, кроме того, есть поддержка загрузки файлов .blend файлов. См. их документацию для блендера.
  • JmonkeyEngine поддерживает загрузку как OGRE3D.scene, так и .blend напрямую. Он также имеет собственный бинарный формат j3o, который можно преобразовать, когда вы хотите упаковать игру. Для конкретных примеров см. Их руководства.

Существует множество форматов, которые вы можете принять во внимание при принятии решения о том, как вы хотите использовать свою модель. Однако, когда он импортируется, игровой движок по выбору представляет его во внутренней структуре, которая обычно позволяет вам отделяться от точного формата выбора.

Выбор, который нужно использовать, и не должен быть написан на камне, поскольку требования могут измениться, и если они будут выполнены правильно, это не должно оказывать существенного влияния на проект. Это также необходимо учитывать, если вы пишете свой собственный движок.

Ответ 2

Доступны сценарии ввода/вывода для Blender, которые помогут вам.

Blend2Java, например, представляет собой набор скриптов Python для использования с Blender, который будет экспортировать в Java XML, который может быть декодирован стандартным классом java.beans.XMLDecoder.

Хороший обзор того, как это сделать на http://blend2java.sourceforge.net/blend2java-howto.html

Ответ 3

Вот лучшая идея: используйте существующую библиотеку Java 3D (dzzd Я настоятельно рекомендую) и загружать в вашу модель, используя встроенную библиотеку в функциях. Затем, вместо того, чтобы просто работать с данными, вы можете фактически отобразить его. Из Blender это простой вопрос экспорта в формате 3DS.

Ответ 4

Еще одно решение: Java.Blend предоставляет вам безопасный Java-API для всех данных в файле Blender. Он поддерживает даже создание новых файлов Blender из Java;)