3d форум по Blender

Blender => Blender Internal и Cycles => Тема начата: Pogrammist от 25 Июнь 2018, 19:57:24

Название: Скриптинг на Cycles
Отправлено: Pogrammist от 25 Июнь 2018, 19:57:24
Доброго времени суток! Возникла проблема с написанием скрипта на Cycles. Ситуация следующая: у меня есть набор значений цветов в общем количестве 100 штук, как осуществить последовательную смену цветов материала посредством скрипта? Пожалуйста помогите :'(
Название: Re: Скриптинг на Cycles
Отправлено: Samovar от 25 Июнь 2018, 20:45:19
Нихрена непонятно :) Ты бы хоть ссылки приложил того что есть, и приблизительно того, что хочешь (или более подробное описание сего)
На первый взгляд, думаю, что можно решить без программирования и скриптов...
Название: Re: Скриптинг на Cycles
Отправлено: Николай Николаев от 25 Июнь 2018, 21:27:44
>> у меня есть набор значений цветов в общем количестве 100 штук
... каким образом описан этот набор? это файл? ...
Название: Re: Скриптинг на Cycles
Отправлено: Pogrammist от 25 Июнь 2018, 23:14:56
>> у меня есть набор значений цветов в общем количестве 100 штук
... каким образом описан этот набор? это файл? ...
Набор представлен в виде кода. Что то вроде с1 = (1, 0, 1) и тд. Надо именно автоматизировать смену цвета материала с последующим рендером изображения. На Blender Render это легко можно осуществить, а вот в Cycles понятия не имею как такое сделать можно.
Название: Re: Скриптинг на Cycles
Отправлено: Pogrammist от 25 Июнь 2018, 23:17:44
Нихрена непонятно :) Ты бы хоть ссылки приложил того что есть, и приблизительно того, что хочешь (или более подробное описание сего)
На первый взгляд, думаю, что можно решить без программирования и скриптов...
Вот для Blender Render скрипт выглядит как то так. Примерно тоже самое я хотел бы сделать и для Cycles, но не пойму как это осуществить.
Название: Re: Скриптинг на Cycles
Отправлено: Николай Николаев от 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
Название: Re: Скриптинг на Cycles
Отправлено: Pogrammist от 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


Ругается на что-то, а на что - не понятно
Название: Re: Скриптинг на Cycles
Отправлено: Samovar от 26 Июнь 2018, 14:49:15
Напиши свой конвертер, а не пытайся использовать чужой... ты больше времени потратишь на врубание в чужой код...
...а если нет понимания  и знаний, то советы тоже мало тебе помогут...)
Название: Re: Скриптинг на Cycles
Отправлено: Striver от 26 Июнь 2018, 19:27:53
Цитировать
Ругается на что-то, а на что - не понятно
Написано, что надо в консоль поглядеть, там будет полное сообщение об ошибке.
Сверху, в меню "Окно" есть пункт "Показать/скрыть системную консоль". Нажми на него, и появится окошко консоли с информацией. Там и твоё сообщение об ошибке будет. Если непонятно будет, кидай текст (ну, или хотя-бы скриншот) сюда на форум, может, кто-нибудь разберётся.
Название: Re: Скриптинг на Cycles
Отправлено: Pogrammist от 27 Июнь 2018, 16:22:38
Спасибо всем кто откликнулся! Справился с задачей))