Render.ru

Instance копия для эффектов

AEplug

Мастер
Рейтинг
467
#1
Каким образом можно получить точную копию эффекта, что бы изменяя ее в одном месте так же автоматом менялись параметры и в других.
Объект Instance не работает, хотя и показывается вроде так же.

Например два объекта независимых типа текст, но надо что бы Extrude у них был одинаковый (это простой пример, на самом деле этих текстов может быть много) и лехко можно было в случае чего настроить фаски, глубину и любые другие параметры

или Sweep для разных объектов

ну и множество других применений

А так же может кто знает как сделать такое и с текстурами???

в максе и мае все это делается через ноды или Instance Copy
 

Вложения

I

ilay

Guest
#2
Привет
Не нужно инстансов как где-либо, те истансы что в сине, походят ближе только полигональным объектам...либо объект при CStO возвращает полигон. объект.
в максе и мае все это делается через ноды или Instance Copy
все также происходит с экспрессо

1. Выделил параметр на материнском деформере(как пример привожу, указал Set Driver
2. Выделил все дочерние бенды или которые будут управляемы
3. и на нужном параметре дочерних указал Set Driven

будут созданы тэги экспрессо, все крути значения на основном деформере

Также с матом, но будет создан нуль-объект Expression, с тэгом где параметры мата будут подчиненны какому-ть параметру
 

Вложения

AEplug

Мастер
Рейтинг
467
#3
Выделил параметр
но речь то о КУЧЕ параметров! что каждый руками связывать???
в АЕ например, можно делать копию, где ВСЕ параметры автоматом формулами привязываются к одному
а руками... ну это ж чокнешься! там их море
 
I

ilay

Guest
#4
но речь то о КУЧЕ параметров! что каждый руками связывать???
в АЕ например, можно делать копию, где ВСЕ параметры автоматом формулами привязываются к одному
а руками... ну это ж чокнешься! там их море
"Формулами" :)... для этого рекомендую изучить скриптинг чтоб манипулировать массивом параметров

чуть позже покажу
 
I

ilay

Guest
#5
вот такой примитив - сцена в 15-й версии - http://rghost.ru/53083819

аналогично экспрессо, на все подчиненные деформеры накинуты пайтон тэги с кодом
Код:
import c4d
def main():
    target = doc.SearchObject("BendM")
    child = op.GetObject()
    child[c4d.DEFORMOBJECT_SIZE] = target[c4d.DEFORMOBJECT_SIZE]
    child[c4d.DEFORMOBJECT_MODE] = target[c4d.DEFORMOBJECT_MODE]
    child[c4d.DEFORMOBJECT_STRENGTH] = target[c4d.DEFORMOBJECT_STRENGTH]
    child[c4d.DEFORMOBJECT_ANGLE] = target[c4d.DEFORMOBJECT_ANGLE]
где child[c4d.ХХХХХ] - параметр объекта, просто перетащить
 

Вложения

AEplug

Мастер
Рейтинг
467
#6
ну вообще да, жаль тока удобство создания страдает.
А ведь наверное можно написать скрипт, который сделает это сам? возьмет ВСЕ параметры объекта, сделает его копию, и сам пропишет все эти child = target?

А табуляция обязательна?
Код:
target = doc.SearchObject("BendM")
вот так не работает
Код:
 *табуляция* target = doc.SearchObject("BendM")
только так

пс
попутно оказалось что тег КОДА на форуме глючит, пробелы считает за один
 
I

ilay

Guest
#7
ну вообще да, жаль тока удобство создания страдает.
А ведь наверное можно написать скрипт, который сделает это сам? возьмет ВСЕ параметры объекта, сделает его копию, и сам пропишет все эти child = target?
почему ж... есть дока к сдк pyAPI > http://www.maxon.net/support/developer-support.html
а конкретнее - c4d.Description > http://www.maxonexchange.de/sdk/CIN...es/c4d/Description/index.html#c4d.Description
можно собрать оттуда для автоматизации и записать в тэг пайтона.
Во общем дерзай.
 

AEplug

Мастер
Рейтинг
467
#8
пока для себя нашел два таких относительно простых выхода
(учить целый язык программирования нецелесообразно только ради такой простой задачи)

1 если выделять все эти объекты, то их параметры меняются тоже вместе для всех сразу. там и ключи создаются и даже интерполяция между ними тоже для всех меняется. для быстрого выделения можно использовать объект типа Selection

2 Сделать как тут с объектом ObjectList
Cinema 4D XPresso: Object List | Видеоуроки Михаила Юдина
http://mikeudin.net/2010/08/11/cinema4d-xpresso-object-list/
но тогда все параметры придется руками перетаскивать. при чем два раза - на вход и на выход.
когда параметров много и если делать эту операцию часто, то не удобно. а в остальном работает и ладно.

самый быстрый первый способ, главное не забыть что выделять надо для редактирования
 
I

ilay

Guest
#9
Михаил вы противоречивая личность :) :
а руками... ну это ж чокнешься! там их море
<>
те 2 способа

(учить целый язык программирования нецелесообразно только ради такой простой задачи)
сам пайтон я знаю на процентов 30-40... а так можно поизучать часть классов модуля c4d
ладно, но считаю за пайтоном будущее, например максон практически убили родной си-ориентированный язык - коффии
 

AEplug

Мастер
Рейтинг
467
#10
я не говорю, что изучать не надо ВООБЩЕ
если бы задача стояла в принципе, то да - без вопросов - можешь? нужно? пиши!

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

может в будущем, когда я освоюсь получше

ПС
тем более это всего лишь один из вопросов, которые меня мучают при переходе с макса на с4д, у меня их еще куча!
а эти способы просто методом научного тыка нашел и они работают

жаль только с4д не позволяет перетаскивать сразу несколько выделеных параметров, что в хпрессо, что в питон...
 
Сверху