2016-09-09 10 views
0

У меня есть система, которая считывает изображение SVG, а затем генерирует мир вокселов на основе этих данных. В основном, SVG-изображение сообщает программе, где поставить этот блок.Чистые способы создания кубов в AFrame.io

До сих пор он работал на Minecraft, но я хочу изменить его так, чтобы он создавал мир вокселей в удобном для браузера способом (то есть, чтобы люди могли смотреть на модель без установки Minecraft и необходимой инфраструктуры).

Там будет много кубов. Одним из очевидных методов является создание HTML-страницы с большим количеством операторов <a-box position="-1 0.5 -3" rotation="0 0 0" color="#4CC3D9"></a-box>, но я предполагаю, что это не изящно и может привести к проблемам с большими моделями.

Каковы мои возможности в создании воксельских миров на основе AFrame.io во внешнем приложении (не JavaScript)? Я ищу решение, которое будет работать в режиме без звука (то есть я отправляю SVG-файл на сервер и там он преобразует его в мир AFrame.io voxel).

ответ

1

Обратите внимание на такие примеры, как https://ngokevin.github.io/aframe-magicavoxel-projects/, используя https://github.com/ngokevin/aframe-magicavoxel-projects, этого может быть достаточно для ваших нужд.

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

+0

Спасибо, но я не хочу использовать MagicaVoxel. Я скорее хочу знать, как такое программное обеспечение, как MagicaVoxel, позволяет экспортировать модели в совместимом с Aframe образом. –

+1

MagicaVoxel экспортирует в стандартный формат obj + mtl. – Utopiah

+0

Под форматом «стандартный obj» вы подразумеваете это [это] (https://en.wikipedia.org/wiki/Wavefront_.obj_file)? –

1

Вы можете использовать компонент шаблона: https://github.com/ngokevin/aframe-template-component/. Таким образом, вы можете использовать для циклов в HTML.

или компонент генератора сущности: https://github.com/ngokevin/aframe-entity-generator-component. Передайте ему mixin и он создаст X количество объектов, использующих этот mixin. Затем вы можете комбинировать с другими компонентами, такими как макет или рандомизатор, для настройки

+0

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

+0

Я думаю, было бы лучше, если бы вы могли каким-то образом преобразовать SVG в OBJ заранее. Возможно, разобрав его. На самом деле я просто перечитываю ваш вопрос, и мой ответ не имеет смысла для этого, извините. Вы можете попробовать создать поле для каждого воксела и слить геометрию (проверить API-интерфейс геометрии), чтобы все было одним призывом к рисованию. – ngokevin