Автор Тема: Скриптинг на Cycles  (Прочитано 1364 раз)

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

Оффлайн Pogrammist

  • Житель
Скриптинг на Cycles
« : 25 Июнь 2018, 19:57:24 »
Доброго времени суток! Возникла проблема с написанием скрипта на Cycles. Ситуация следующая: у меня есть набор значений цветов в общем количестве 100 штук, как осуществить последовательную смену цветов материала посредством скрипта? Пожалуйста помогите :'(

Оффлайн Samovar

  • Житель
Re: Скриптинг на Cycles
« Ответ #1 : 25 Июнь 2018, 20:45:19 »
Нихрена непонятно :) Ты бы хоть ссылки приложил того что есть, и приблизительно того, что хочешь (или более подробное описание сего)
На первый взгляд, думаю, что можно решить без программирования и скриптов...

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Скриптинг на Cycles
« Ответ #2 : 25 Июнь 2018, 21:27:44 »
>> у меня есть набор значений цветов в общем количестве 100 штук
... каким образом описан этот набор? это файл? ...

Оффлайн Pogrammist

  • Житель
Re: Скриптинг на Cycles
« Ответ #3 : 25 Июнь 2018, 23:14:56 »
>> у меня есть набор значений цветов в общем количестве 100 штук
... каким образом описан этот набор? это файл? ...
Набор представлен в виде кода. Что то вроде с1 = (1, 0, 1) и тд. Надо именно автоматизировать смену цвета материала с последующим рендером изображения. На Blender Render это легко можно осуществить, а вот в Cycles понятия не имею как такое сделать можно.

Оффлайн Pogrammist

  • Житель
Re: Скриптинг на Cycles
« Ответ #4 : 25 Июнь 2018, 23:17:44 »
Нихрена непонятно :) Ты бы хоть ссылки приложил того что есть, и приблизительно того, что хочешь (или более подробное описание сего)
На первый взгляд, думаю, что можно решить без программирования и скриптов...
Вот для Blender Render скрипт выглядит как то так. Примерно тоже самое я хотел бы сделать и для Cycles, но не пойму как это осуществить.

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Скриптинг на Cycles
« Ответ #5 : 26 Июнь 2018, 03:30:45 »
>> но не пойму как это осуществить.
... для cycles у тебя будет материал, представленный в системе узлов Nodetree и рулить нужно входом нужной ноды ...
например так
Код: python
for up in colors:
    mat = bpy.data.materials["Material"]
    nodes = mat.node_tree.nodes
    diffuse = nodes["Diffuse BSDF"].inputs["Color"]
    diffuse.default_value = (up[0]/255,up[1]/255,up[2]/255,1)

    bpy.ops.object.select_pattern(pattern = "Suzanne")
    bpy.context.object.rotation_euler[2] += 0.4
    f_name = str(counter)
    scn.render.filepath = os.path.join(output_path, f_name + ".jpg")
    bpy.ops.render.render( write_still=True )
    bpy.context.scene.render.filepath = output_path
    counter += 1

Оффлайн Pogrammist

  • Житель
Re: Скриптинг на Cycles
« Ответ #6 : 26 Июнь 2018, 14:11:18 »
>> но не пойму как это осуществить.
... для cycles у тебя будет материал, представленный в системе узлов Nodetree и рулить нужно входом нужной ноды ...
например так
Код: python
for up in colors:
    mat = bpy.data.materials["Material"]
    nodes = mat.node_tree.nodes
    diffuse = nodes["Diffuse BSDF"].inputs["Color"]
    diffuse.default_value = (up[0]/255,up[1]/255,up[2]/255,1)

    bpy.ops.object.select_pattern(pattern = "Suzanne")
    bpy.context.object.rotation_euler[2] += 0.4
    f_name = str(counter)
    scn.render.filepath = os.path.join(output_path, f_name + ".jpg")
    bpy.ops.render.render( write_still=True )
    bpy.context.scene.render.filepath = output_path
    counter += 1


Ругается на что-то, а на что - не понятно

Оффлайн Samovar

  • Житель
Re: Скриптинг на Cycles
« Ответ #7 : 26 Июнь 2018, 14:49:15 »
Напиши свой конвертер, а не пытайся использовать чужой... ты больше времени потратишь на врубание в чужой код...
...а если нет понимания  и знаний, то советы тоже мало тебе помогут...)

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: Скриптинг на Cycles
« Ответ #8 : 26 Июнь 2018, 19:27:53 »
Цитировать
Ругается на что-то, а на что - не понятно
Написано, что надо в консоль поглядеть, там будет полное сообщение об ошибке.
Сверху, в меню "Окно" есть пункт "Показать/скрыть системную консоль". Нажми на него, и появится окошко консоли с информацией. Там и твоё сообщение об ошибке будет. Если непонятно будет, кидай текст (ну, или хотя-бы скриншот) сюда на форум, может, кто-нибудь разберётся.

Оффлайн Pogrammist

  • Житель
Re: Скриптинг на Cycles
« Ответ #9 : 27 Июнь 2018, 16:22:38 »
Спасибо всем кто откликнулся! Справился с задачей))

 


Яметрика

* По форуму

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

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


Скачано: 33
Автор: slava22

Скачано: 126
Автор: Николай Николаев

Скачано: 142
Автор: Mihanik
1.jpg
Скачано: 106
Автор: apukki
12.jpg
Скачано: 147
Автор: apukki