Голосование

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

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

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

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

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #300 : 13 Сентябрь 2014, 23:01:36 »
... выложи куда-нибудь тестовый файл ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #301 : 13 Сентябрь 2014, 23:30:14 »
... выложи куда-нибудь тестовый файл ...
Не забудь обновить экспортёр, сегодня я делал commit дважды. Какая-то непонятная фигня с анимированными частицами - при просчёте анимации блендер крашится на каком-нибудь кадре :-\
Сюда выложу файл. Размер файла прямо зависит от числа частиц, которое с 4 на 400000 может изменить каждый. Любопытно, но с 400000 частиц файл весит больше полторы сотни метров, а с четырьмя частицами, да ещё в 7-zip, вот:
« Последнее редактирование: 14 Сентябрь 2014, 00:00:12 от LanuHum »

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #302 : 14 Сентябрь 2014, 12:55:02 »
Разобрался с анимацией частиц, вроде :-\
Файл для теста прилагаю. Анимированный объект скрыт. Для редактирования Alt-H
« Последнее редактирование: 15 Сентябрь 2014, 21:58:56 от LanuHum »

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #303 : 16 Сентябрь 2014, 14:23:27 »
Для экспорта дуплей и партиклов можно использовать Object.dupli_list_create(), дупли появятся в Object.dupli_list, после надо его очистить Object.dupli_list_clear().

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #304 : 16 Сентябрь 2014, 19:42:39 »
Для экспорта дуплей и партиклов можно использовать Object.dupli_list_create(), дупли появятся в Object.dupli_list, после надо его очистить Object.dupli_list_clear().
Благодарю, воспользуюсь, но, ныне была цель: восстановить сломанную функцию. Или она уже исправна? Когда анимация объекта как частицы начинается для каждой частицы индивидуально, с момента её рождения.

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #305 : 17 Сентябрь 2014, 14:13:13 »
Цитировать
но, ныне была цель: восстановить сломанную функцию. Или она уже исправна?
Без понятия о какой функции речь =)
В Object.dupli_list будет находится список DupliObject из которых берешь Object, transform и persistent_id, и не надо загоняться ни на какие alive_state и тому подобное.

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #306 : 17 Сентябрь 2014, 20:11:24 »
Цитировать
но, ныне была цель: восстановить сломанную функцию. Или она уже исправна?
Без понятия о какой функции речь =)
В Object.dupli_list будет находится список DupliObject из которых берешь Object, transform и persistent_id, и не надо загоняться ни на какие alive_state и тому подобное.
В своё время вышел журнал Art Mag №16.
http://blenderart.org/issues/
В нём была статья Burn Them All. Её переводили на русский тогда, моделировали реалистичный огонь. Если ты её просмотришь, то поймёшь, о какой функции идёт речь. А, если не посмотришь, то будешь продолжать писать неправильно. :)
Повторяю, как это было в 249. Создаёшь объект, например, Cube. Анимируешь его масштаб: на 1 кадре 0.005, на двадцатом 0.5, на тридцатом 0.001.
Затем, создаёшь объект, например, Sphere, создаёшь на ней систему частиц и в particles["ParticleSettings"].render_type устанавливаешь OBJECT. В particles["ParticleSettings"].dupli_object устанавливаешь Cube. Сфера начнёт излучать анимированные Кубы. При этом, даже, если куб появится на 100500 кадре, его масштаб изначально будет 0.005, через 20 кадров он станет 0.5, а, ещё через 10 кадров масштаб будет 0.001. То есть, на каком кадре ни рождалась бы частица - куб, на протяжении последующих 30 кадров она будет менять свой масштаб согласно кривой IPO предварительно созданной.
Сейчас это ни хрена не работает, а, если оно не работает, то каким волшебным образом ты предлагаешь мне получить информацию о масштабе частицы-куба № 246701 на 100520 кадре? Ты возьмёшь оттуда transform, но он будет таким же неверным, как и получаемый в интернал рендере результат, который и, как я понимаю, вычисляется на основании Object.dupli_list. Сейчас все объекты масштабируются синхронно, независимо от того, когда они рождаются. И, если они родятся после 30 кадра, они будут все в масштабе 0.001 до последнего кадра.
Прилеплен чекбокс Die on hit, вроде бы оно в 25 как раз было для того, чтоб работало как в 249, для чего оно теперь, мне неизвестно, но добиться эффекта, который автоматически создавался в 249 без единого тумблера, я не смог.
Огонь тогда выглядел так:
« Последнее редактирование: 17 Сентябрь 2014, 20:29:50 от LanuHum »

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #307 : 18 Сентябрь 2014, 01:28:38 »
Да, я, пожалуй, продолжу "писать неправильно", а ты можешь продолжать читать выпуски 6ти летней давности по 2.49...

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #308 : 18 Сентябрь 2014, 20:24:09 »
Да, я, пожалуй, продолжу "писать неправильно", а ты можешь продолжать читать выпуски 6ти летней давности по 2.49...
Какая разница, сколько лет механизму? Сейчас так: придумали дым флюидами делать - все делают дым флюидами, а, если другим способом захочешь делать, то подымай архивы. Я не вижу в этом ничего анормального.
Ну-да, босх с моим способом. Пробую разобраться с тем, что ты мне рекомендовал
Код
                    if pSysSet.type == 'EMITTER' and mod.particle_system.name==pSys.name:
                        dupli_objs=ob.dupli_list_create(scene, settings='RENDER')
                        print ("Dupli_list = ",dupli_objs)
Код
read blend: /home/leonid/animparticles.blend
***INITIALIZING***
Dupli_list =  None
***-STARTING-***
Povray found

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #309 : 18 Сентябрь 2014, 23:12:58 »
Цитировать
...да переписали партиклы давно :) да и много че... не, оно похоже конечно и "функциклирует" ( хорошо сатарались), но это уже другой Блендер :)
Ну, они переписали, я восстановил... без патча на С...просто питоном.
Разумеется, если bdancer научит получить эффект новой системой, буду ему благодарен, но, пока он кроме ссылок мне ничего не показал.
А вопрос аналогичный моему уже подымался на BlenderArtist. Значит, проблема всё же есть

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #310 : 18 Сентябрь 2014, 23:23:50 »
Цитировать
...шалишь что ли? :) Смари как бы они твой "косяк" не закрыли в будущих версиях.. ибо... ну ты понел :)
По твоему, они умышленно создают препятствия?
Но, они же не узнают, что я накосячил, ведь никто не пользуется :)

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #311 : 19 Сентябрь 2014, 13:55:50 »
Цитировать
но, пока он кроме ссылок мне ничего не показал.
Ты просто как обычно прочитал мое сообщение по диагонали =) Давай перечитаем:

Для экспорта дуплей и партиклов можно использовать Object.dupli_list_create(), дупли появятся в Object.dupli_list, после надо его очистить Object.dupli_list_clear().

Даже вот так:
Цитировать
дупли появятся в Object.dupli_list

Теперь смотрим твой код:
Код
                    if pSysSet.type == 'EMITTER' and mod.particle_system.name==pSys.name:
                        dupli_objs=ob.dupli_list_create(scene, settings='RENDER')
                        print ("Dupli_list = ",dupli_objs)
Код
read blend: /home/leonid/animparticles.blend
***INITIALIZING***
Dupli_list =  None
***-STARTING-***
Povray found
Конечно тут будет None, функция отработала без ошибок, вернула None, все как надо.

А теперь как надо было:
Код
import bpy

sce = bpy.context.scene
obj = bpy.context.active_object

obj.dupli_list_create(sce, 'RENDER')

for dob in obj.dupli_list:
    print("Duplicated object: %s" % dob.object.name)
    print("  ID: %i" % dob.persistent_id[0])
    print("  TM: %s" % dob.matrix)

obj.dupli_list_clear()

Еще пара замечаний...
DupliObject.persistent_id это массив (нулевой элемент я взял для примера), а dupli_list можно использовать в том числе и для Dupli Group, а Dupli Group могут быть вложены друг в друга и тп, лучше брать от него какой-нибудь хеш и уже с ним составлять уникальное имя для объекта.
Проверить на наличие дуплей (а дупли это дупли фрейм/фейс/верт/груп, а также партиклы-объекты) можно так:
Код
obj.is_duplicator
То есть непосредственно в партикл систем можно лазить только за Hair.
« Последнее редактирование: 19 Сентябрь 2014, 14:01:31 от bdancer »

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #312 : 19 Сентябрь 2014, 20:43:29 »
Цитировать
А теперь как надо было:
Код
obj = bpy.context.active_object
То есть, надо было сделать объект активным?
Получается, что при экспорте сцены я должен каждый объект по очереди делать активным. Во как. :-\
Но, почему интернал показывает совсем другую картинку, которая не соответствует тому, чего я пытаюсь добиться?
Почему кубы все одного размера и сориентированы в одном направлении? У меня куб анимирован по Scale и Rotate. Нижняя картинка создана в поврее, почему в интернале она совсем другая?
« Последнее редактирование: 19 Сентябрь 2014, 22:01:31 от LanuHum »

bdancer

  • Гость
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #313 : 19 Сентябрь 2014, 22:48:04 »
Цитировать
То есть, надо было сделать объект активным?
Получается, что при экспорте сцены я должен каждый объект по очереди делать активным.
С чего такие выводы-то? Не надо ничего активным делать.

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #314 : 19 Сентябрь 2014, 23:27:34 »
Цитировать
С чего такие выводы-то? Не надо ничего активным делать.
Давай сделаем так. Возьми приложенный файл и отрендери тридцатый кадр используя V-Ray. Картинку в студию.
Я тогда хоть буду знать, что мы с тобой говорим об одном и том же исходе, но разными способами достигнутом.

 


Яметрика

* По форуму

* Рекламный блок

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

blender_Ild91AVt1h.png
Скачано: 7
Автор: dimak
Glue to Sphere.jpg
Скачано: 19
Автор: Samovar
screen.jpg
Скачано: 13
Автор: Samovar
screen.jpg
Скачано: 14
Автор: LanuHum
Primer Glossy on-off.jpg
Скачано: 27
Автор: Samovar