Рекомендуемый 3D тип модели для модели символов в игре, загруженной вручную?

Скорее всего, у вас устаревшая версия Node.JS - как видно из здесь , вам нужен Node.JS 11 или новее.

Загрузите последнюю версию Node.JS с веб-сайта .

Если вы не можете использовать / получить последнюю версию, вы можете использовать MDN polyfill , который работает для нескольких уровней вложенности:

function flattenDeep(arr1) {
   return arr1.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
}

7
задан Borealid 14 July 2010 в 08:24
поделиться

5 ответов

В первую очередь, спасибо другим двум отвечающим сторонам. Также basszero, Вы были правы относительно файла смешения, и я должен был проверить Википедию сначала! Это - почти бесполезная разгрузка двоичных данных памяти Блендера.

Вскоре после записи этого вопроса я решил идти вперед и записать загрузчик Объекта, потому что 1) это дало бы мне опыт загрузки 3D формата файла и 2) это казалось хорошим, наиболее часто используемым форматом, но также и легкий загрузиться. Это закончило тем, что было большим решением, потому что это заставило меня понять, я на самом деле не знал различия между объектом и группой, и я также не знал много о материалах. Это помогло мне установить код для этих 3D структур.

Оба ответа рекомендуют основанные на XML форматы. Я не хочу формат XML. Я не полагаю, что это - правильное место для XML. Я полагаю, что те форматы были созданы, потому что XML гибок, универсален, и легок создать схемы для, но это не то, что я ищу. Я хочу формат, который быстр для загрузки (XML не, собственно говоря), это не должно быть гибко или человекочитаемо, и что-то, для чего я могу записать средство импорта, вместо того, чтобы полагаться на библиотеки XML. basszero даже сказал, "за счет того, чтобы быть XML", и он абсолютно прав; это - стоимость, которую я не чувствую, стоит нагрузки.

Мой загрузчик Объекта сделан. Я разделил его от фактических образцовых классов и реализовал его с интерфейсом MeshFactory так, чтобы я мог в будущем писать другой загрузчик, если я хотел... Который является планом. Я проводил больше исследования прошедшие дни пары и выбрал ms3d формат.

ms3d формат поддерживает скелетное оснащение (соединения) и ключевой кадр скелетная анимация, и кроме того поддерживает альфа-карта и текстурная карта. Кроме того, это - easily-computer-readable двоичный формат, который не тратит впустую пространства (как XML, и Объект делают) с человекочитаемыми тегами и маркировками и таким.

Блендер, к сожалению, не имеет (работа) ms3d сценария экспорта, таким образом, я буду писать сценарий для него сам. К счастью это не трудный процесс, и можно прочитать документацию Блендера и использовать другие средства экспорта в качестве примеров. Я должен буду повторить на своем Python, но иначе кажется очень простым, от того, что я видел других сценариев.

Сторона Java вещей должна быть легкой, на самом деле это будет еще легче, чем формат Объекта, потому что ms3d более структурирован. Я нашел спецификации для ms3d формата онлайн в стиле C (гений!), таким образом, они невероятно очевидны и у меня нет дальнейших вопросов о формате. Я буду основывать свою реализацию прочь этой спецификации, хотя я май в более позднее время реализую свои собственные изменения; это - большая вещь о записи моего собственного средства импорта и средства экспорта, я могу изменить формат, поскольку я считаю целесообразным.

В целом, я решил, что это - лучшее решение.

И basszero, Вы абсолютно правы, как я видел от своего загрузчика Объекта: "После того как у Вас есть все это, чтение в, организация данных (дисплейный список, структуры, массив вершины, буфер вершины, и т.д.) и рендеринг является совершенно другим зверем".

Cruachan: № Java3D для меня, я придерживаюсь JOGL. Я действительно на самом деле владею той книгой (хотя это не доступно в данный момент), хотя я не помню, как он загрузил модели, но я вполне уверен, он использовал загрузчики формата Java3D, которые делают это автоматически. Не что-то я - планирование использования... Прошу прощения!

- Ricket

2
ответ дан 7 December 2019 в 10:08
поделиться

Если Вы можете жить только с геометрией или готовы обработать свое собственное текстурирование, то .obj является, вероятно, самым простым и широко поддерживал 3D формат файла. Это - в основном ASCII 3D моделирования.

Иначе я склонялся бы к vrml. Это четко определено и существует по крайней мере некоторый код вокруг для запущения Вас. Я успешно загрузил vrml модели в java3D с помощью кода в свободном доступе. Собственный размер файла имеет тенденцию быть большим, но это может быть решено при помощи сжатого формата.

Я не рекомендовал бы.3ds. Единственным временем я обработал читателя для этого формата, был в Delphi Паскаль, и это является грязным, неточным, трудным обработать и имеет тенденцию иметь много 'изменений', таким образом, что, хотя мне удалось получить мои модели обработки читателя, экспортируемые от 3D МАКСА само очень хорошо, он отклонил много моделей от других пакетов, которые утверждали, что были в 3DS формат, но не были правильно сформированы.

ДОБАВЛЕННЫЙ: Также я рекомендовал бы смотреть на Java3D API, и O'Reilly заказывают Уничтожающее Игровое Программирование в Java как, даже если Вы не спускаетесь по маршруту Java3D, это, вероятно, ответит на большое количество Ваших вопросов.

3
ответ дан 7 December 2019 в 10:08
поделиться

Woah, человек, Вы собираетесь выпустить ms3d средство экспорта при окончании его? И если так, как это прибывает? Я действительно должен достать средство экспорта, которое работает на анимацию и который использует Fragmotion, и похоже на то, что Ваше выполнение является моей последней надеждой.

0
ответ дан 7 December 2019 в 10:08
поделиться

Я полагаю, что .blend является главным образом разгрузкой двоичных данных в структурах памяти от блендера, не собирающегося справка Вы очень за пределами блендера. Используйте Блендер, чтобы смоделировать, но экспортировать в другой формат.

Это может быть немного подробным, но я услышал, что Collada оборачивает 3D информацию очень приятно (за счет того, чтобы быть XML). Позитивный аспект - то, что там вероятно propery определение схемы, которое Вы могли пройти через JAXB, приводящий к полному синтаксическому анализатору w/никакая работа от Вас.

.md* форматы может также быть хорошей альтернативой. Они от идентификационных механизмов (q1, q2, q3, q4, doom3), и они документируются. Они также содержат последовательности анимаций.

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

1
ответ дан 7 December 2019 в 10:08
поделиться

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

Смотрите некоторые примеры использования Ogre и Irrlicht здесь: http://gamekit.googlecode.com

0
ответ дан 7 December 2019 в 10:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: