Голосование

Нужны ли "ноды" для POV-Ray?

Да
0 (0%)
Нет
0 (0%)
Не понимаю вопрос
0 (0%)

Проголосовало пользователей: 0

Автор Тема: Povray-3.7: Неофициальный экспортёр  (Прочитано 18352 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #15 : 26 Мая 2014, 21:16:55 »
Изменил, теперь выдаёт пстое окно...
Делаю свою сцену с кубиком - картинка выходит .
Поищу причину, пока не могу сообразить...

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #16 : 26 Мая 2014, 23:33:30 »
Приготовил первый файл для знакомства с интерфейсом и пробы своего компьютера.
В сцене можно увидеть, как настраивается лампа для мягких теней, как устанавливаются параметры фотонов во вкладке рендер, параметры фотонов во вкладках объект, параметры материалов и как назначаются текстуры для цвета и для нормал. Смотрите внимательно. Блендеровский меш записан как повреевский примитив sphere - вкладка объект write as
На картинке во вложении видно, что у меня рендер прошёл за 12,5 минут
Архив с файлом во втором вложении

... докладываю: рендеринг прошел удачно, время около 5 минут на i7 3770k ...
... порадовало, что все ядра процессора загружены на все 100 процентов ...
... второй раз рендер не прошел ...
... сыплется на фазе парсинга в 72 строке ...

Цитировать
Parser Options
  Input file: povwip27.pov
  Remove bounds........On
  Split unions.........Off
  Library paths:
    /usr/share/povray
    /usr/share/povray/ini
    /usr/share/povray/include
  Clock value:    0.000  (Animation off)
Image Output Options
  Image resolution.....800 by 600 (rows 1 to 600, columns 1 to 800).
  Output file..........povwip27.png, 24 bpp PNG
  Dithering............Off
  Graphic display......On  (gamma: sRGB)
  Mosaic preview.......Off
  Continued trace......Off
Information Output Options
  All Streams to console..........On
  Debug Stream to console.........On
  Fatal Stream to console.........On
  Render Stream to console........On
  Statistics Stream to console....On
  Warning Stream to console.......On
==== [Parsing...] ==========================================================
File 'povwip27.pov' line 72: Parse Error: Expected 'object or directive',
 interior found instead
Fatal error in parser: Cannot parse input.
Render failed
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #17 : 26 Мая 2014, 23:36:06 »
Цитировать
Изменил, теперь выдаёт пустое окно...
sandman, запусти блендер из консоли и покажи весь вывод после того, как выдаст пустое окно.
Ещё, посмотри, какие файлы сохраняются в указанную тобой папку. Упакуй эту папку и выложи здесь, чтобы я посмотрел

Цитировать
З.Ы. я за нестандартный подход всегда был... Много не обещаю, но чем смогу - помогу... Пока врубаюсь...
Old Demon, спасибо. Жду вопросов, так будет легче скоординироваться. Ясное дело, что мой аддон - далёк от совершенства, ни все идеи ещё начали своё воплощение, но, я неплохо разобрался со структурой сцены поврея и могу спокойно продолжать работу над экспортёром.
Никак у меня дело обстоит с добычей координат bezier и nurbs. Что-то там в API блендера шиворот-навыворот. Я прикрутил поверхности вращения (lathe), которые в поврее создаются кривыми и nurbs кривые, которые в режиме 3d в поврее могут отображаться как sphere_sweep. Очень важно работать с этими объектами напрямую, не используя конвертирование в меш. Так вот как дело доходит до трансформаций этих кривых, у меня бутылки и рюмки то набок ложатся, то вверх тормашками., то ещё как-нибудь, только ни так, как требуется.

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #18 : 26 Мая 2014, 23:50:18 »
Цитировать
... сыплется на фазе парсинга в 72 строке ...

#declare data_Cube_006_orig =
texture{Material_003_tex}
interior {
    ior 1.340000
    dispersion 1.000000
    dispersion_samples 7
}
photons { refraction on target collect off }
}

Объект не записан, что-то где-то вырублено, скорей всего во вкладке Object /Write /Write as
Не нужно использовать write as mesh, если была попытка. Нужно выбирать mesh2. Mesh2 - это прогрессивная форма записи меша, а mesh - это старая форма, которая проще и короче, но в опубликованной версии сломана. Я забыл закомментировать. Уже исправил, в следующих публикациях выложу пофиксенную
Или visible... попробую поискать.
« Последнее редактирование: 26 Мая 2014, 23:57:24 от LanuHum »

Оффлайн sandman

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #19 : 27 Мая 2014, 21:28:55 »
***INITIALIZING***
Traceback (most recent call last):
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 3142, in render
    self._export(scene, povPath, renderImagePath)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 2968, in _export
    write_pov(self._temp_file_in, scene, info_callback)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 2813, in write_pov
    writeMaterial(material)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 993, in writeMaterial
    if(t and t.use and validPath and
UnboundLocalError: local variable 'validPath' referenced before assignment

location: <unknown location>:-1

location: <unknown location>:-1

Вот... пробовал уже разные сборки блендера, не поиму, где я что наворотил... :-\

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #20 : 27 Мая 2014, 22:34:32 »
Цитировать
LanuHum, у меня под Win проблема. Твою сцену не тестировал, ограничился кубом по умолчанию... Где-то косяк при экспорте параметров камеры.

Это не косяк. По умолчанию в настройках камеры включено architectural и установлен параметр manual correction of aspect ratio. Это была проверка туториала по настройке камеры отсюда:
http://www.f-lohmueller.de/pov_tut/camera_light/arc_persp_e1.htm
Отключи architectural и установи manual correction of aspect ratio на 0 - всё будет нормально. Я отключу это умолчание, ибо с этим туториалом ещё предстоит разбираться.
Собственно, вот ссылка на обновление:
http://yadi.sk/d/7PTZ6pKhRSkdL

Цитировать
if(t and t.use and validPath and

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

Это не мой код. Ты используешь официальный аддон, я посмотрел, это там 993 строчка  if(t and t.use and validPath and
Скачай по ссылке в этом посте с моего яндексдиска, замени то, что у тебя есть на папку из скачанного архива. :)

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #21 : 27 Мая 2014, 23:39:16 »
Предоставляю файл, показывающий типы материалов layered и pigment_pattern.
Layered - слоёный пирог. Чтобы видеть нижний слой, верхний должен иметь прозрачные просветы. Можно использовать 256 слоёв
Pigment-pattern  использует чёрно-белую текстуру как маску для размещения двух материалов на объекте. Эти материалы, в свою очередь, могут также быть созданы с использованием pigment-pattern. Этот материал используется, например, для листьев деревьев.
Тип материала pattern хотел показать, но, как оказалось, сломан. Я много возился, что-то где-то нарушил. В ближайшее время исправлю.
Рендер файла должен показать такую картинку:
« Последнее редактирование: 27 Мая 2014, 23:41:28 от LanuHum »

Оффлайн sandman

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #22 : 29 Мая 2014, 17:06:14 »
Поменял папку, ...

***INITIALIZING***
Scene name: povwip27
Export path: /home/barrakuda/Projekte/bblender/povray/
Traceback (most recent call last):
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 2173, in render
    self._export(scene, povPath, renderImagePath)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 2063, in _export
    write_pov(self._temp_file_in, scene, info_callback)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 1948, in write_pov
    exportMeshes(scene,ob)
  File "/usr/share/blender/2.70/scripts/addons/render_povray/render.py", line 1503, in exportMeshes
    fileInc=open("%s/data_%s_dec.inc"%(scene.pov.scene_path,povName),'w')
PermissionError: [Errno 13] Permission denied: '///data_Cube_001_dec.inc'

location: <unknown location>:-1

location: <unknown location>:-1

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #23 : 29 Мая 2014, 20:00:38 »
Цитировать
PermissionError: [Errno 13] Permission denied: '///data_Cube_001_dec.inc'
Что-то не везёт нам с тобой. У тебя, что ни шаг, то ошибка. :)
Работает же у меня без проблем. :o

В пользовательских настройках блендера во вкладке File отключи Relative paths и сохрани настройки. Я забыл предупредить о том, что не нашёл, как использовать относительные пути к файлам.

Ещё такая ошибка выскакивает при попытке создания файла там, где под юзером этого ни сделать:
Цитировать
Scene name: povwip27
Export path: /usr/
Traceback (most recent call last):
  File "/home/leonid/blender/arch/blender-2.70a/2.70/scripts/addons/render_povray/render.py", line 2173, in render
    self._export(scene, povPath, renderImagePath)
  File "/home/leonid/blender/arch/blender-2.70a/2.70/scripts/addons/render_povray/render.py", line 2063, in _export
    write_pov(self._temp_file_in, scene, info_callback)
  File "/home/leonid/blender/arch/blender-2.70a/2.70/scripts/addons/render_povray/render.py", line 327, in write_pov
    file = open(filename, "w")
PermissionError: [Errno 13] Permission denied: '/usr/povwip27.pov'
У тебя почему-то не хочет создавать файл data_Cube_001_dec.inc, путь к которому не /home/barrakuda/Projekte/bblender/povray/, а /// - относительный.


Всех хочу предупредить, что завтра уезжаю в отпуск на две недели, так что встретимся, скорее всего, 15 июня.
« Последнее редактирование: 29 Мая 2014, 20:21:54 от LanuHum »

Оффлайн sandman

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #24 : 29 Мая 2014, 21:09:54 »
Получилось!!!  :D :D :D
Правда дольше чем у тебя, всего два ядра...

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #25 : 29 Мая 2014, 22:36:21 »
Получилось!!!  :D :D :D
Правда дольше чем у тебя, всего два ядра...

Ура!

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #26 : 29 Мая 2014, 23:12:08 »
Этот файл показывает использование pigment map для распределения цвета и slope map для распределения рельефа.
Картинка должна быть такой:

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #27 : 01 Июня 2014, 17:06:55 »
Цитировать
Я забыл предупредить о том, что не нашёл, как использовать относительные пути к файлам.

http://www.blender.org/documentation/blender_python_api_2_70_5/bpy.path.html -> bpy.path.abspath()

Пробежался чуток по скрипту:

name=tex.pov.tex_image_path
name=name.split("/")
name=name[len(name)-1]

и подобное, заменяем на:
filename = os.path.basename(filepath)

Последний элемент списка берется так:
lastItem = myList[-1]

Если нужно вывести bool, как int (0/1), то просто: "%i" % boolVar

А так успехов =)
« Последнее редактирование: 01 Июня 2014, 17:28:04 от bdancer »

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #28 : 02 Июня 2014, 18:03:35 »
>> Пробежался чуток по скрипту:
... думаю, что Леонид когда вернётся из отпуска сам поблагодарит за изменения в код, но пользуясь случаем, хочу спросить ...

... Андрей, в процессе разработки экспортёра V-Ray/Blender тебе наверняка приходилось натыкаться на "подводные камни" Blender API. Поскольку людей которые в этой шарят в теме не так много, не мог бы дать свои рекомендации на что стоит обратить внимание при разработке экспортёра? Что в Blender API на твой взгляд может вызвать наибольшее проблемы в этом направлении? ...

... Слышал от людей, которые используют твой код, что у тебя очень удобный API . Что ты сейчас используешь для разработки кода, отслеживания ошибок, обработки патчей и в целом для ведения проекта? ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #29 : 03 Июня 2014, 09:30:32 »
Всем привет! Оказывается, у меня по прежнему ещё есть здесь интернет, поэтому буду на связи.
Цитировать
http://www.blender.org/documentation/blender_python_api_2_70_5/bpy.path.html -> bpy.path.abspath()

Андрей, здравствуй! Насколько мне известно, ты сейчас человек очень занятой, поэтому надежд на твои консультации у меня не имеется.
Когда я писал об относительных путях, я имел ввиду правильную запись этих самых путей в повреевский файл и понимание этих путей повреевским парсером. Дело в том, что относительный путь к файлу в блендере не является относительным путём к тому же файлу в поврее. Я б, может, и разобрался бы, если бы не Windows, которой у меня нет, и с которой мне ну очень не хочется иметь никаких дел. Поэтому я хочу куда-нибудь вписать вот эту вот строчку:
bpy.context.user_preferences.filepaths.use_relative_paths = 0
Никому не будет от этого больно, и проблема решится сама по себе, не надо будет в пользовательских настройках убирать птицу с относительных путей.
Цитировать
и подобное, заменяем на:
filename = os.path.basename(filepath)

Спасибо!
Знаю, что нерациональных записей у меня там достаточно. Потому что я взялся писать свою версию раньше, чем разобрался в питоне. Я только вчера, например, создал свой первый словарь. Хочу применить словарь для замены имён в юникоде на имена повреем читаемые. Я всегда противился невозможности назвать объект, текстуру, материал по русски, а нашёл рендерер, который мне назло понимает только американскую раскладку. :)

И, всё же, если найдёшь время, может, посмотришь на мои проблемы с кривыми? Я в следующем посте изложу суть

 

* По форуму

* Последние вложения

Снимок 1.PNG
Скачано: 1
Автор: atmk
Снимок.PNG
Скачано: 0
Автор: atmk
Screw.jpg
Скачано: 5
Автор: Dmi3ryd
Cylinder_animation.gif
Скачано: 6
Автор: Dmi3ryd
seit1.jpg
Скачано: 9
Автор: sandman