Перейти к публикации
Форум - ComputerCraft
Totoro

Вывод 3D моделей на голограмму [OpenComputers]

Рекомендованные сообщения

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

 

Изображение

 

Плюсы: можно скачать любую модель (obj, 3ds) из интернета, и после небольшой доработки превратить в голограмму.

Минусы: "небольшая" обработка на самом деле настоятельно нуждается в упрощении. =)

 

Примечание: при программировании использовлся проектор второго уровня, который посволяет создать трехцветную голограмму с произвольной палитрой.

 

Итак, исходный код программы, которая отвечает за отрисовку:

http://pastebin.com/dQqne1E2

Пример модели (фигурка человека, файл должен иметь расширение *.txt):

http://pastebin.com/1LC4mB75

 

Он не сложен. Все лишнее я выкинул.

Программа получает название файла, грузит его и скидывает в 3d массив. Попутно составляется будущая палитра.

В начале - табличка приблизительных основных цветов.

 

Функция draw() переводит массив данных в проектор, внося поправку на угол. Делается это по формуле поворота точки относительно другой точки, поэтому качества особого (когда угол не кратен PI/2), к сожалению, не наблюдается.

 

 

Теперь неоптимизированная жесть - собственно процесс конвертации модели.

Потребуется:

  • Poly2Vox. "Вокселизатор" моделей. Умеет конвертировать вместе с текстурами.

  • Slab6. Воксельный редактор моделей.
Оба можно скачать здесь: http://advsys.net/ken/download.htm

  • kv6ToSchematic. Конвертер воксельных моделей *.kv6 в *.schematic
Скачать здесь: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/1265323-kv6toschematic-import-3d-models-with-textures

  • Архиватор ZIP. Для распаковки schematic'ов.

1) Скачиваем модель из интернета (или моделим сами).

2) Конвертируем в воксельную, с учетом того, что высота модели должна не превышать 32 вокселя (ограничение проектора OC). Для этого удобно создать батник вроде такого:

poly2vox skull.3ds skull.kv6 /v32
pause
Первый параметр - что конвертируем, второй - во что, флаг в конце - размер самой длинной стороны.

3) Открываем модель в Slab6. Проверяем, все ли на месте, корректируем, красим модель в три цвета.

4) Запускаем kv6ToSchematic и выбираем конвертацию в цветную шерсть.

5) Переименовываем готовый *.schematic в *.zip и извлекаем схему.

 

 

Теперь последний этап. Надо сконвертировать эту схему в простой 3d массив, который удобно читать.

Запускаем вот такой Lua скрипт (можно сделать аналогичный на любом другом языке, но я работаю с Lua):

http://pastebin.com/waVBhTcq

Скрипт запросит название файла, выведет немного тех.информации и создаст одноименный файл с расширением *.txt.

 

Вуаля! Можно запускать голограмму.

  • Like 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

программка круть пасиб, но думаю этот череп смотрелся бы более прикольно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думал над этим =)

Надо модельку хорошую найти. Я когда работал скачал первую, которую нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Код поддерживает проекцию моделей созданных в любых редакторах? К примеру на этом ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×