Render.ru

убить instances

eranicle

Знаток
Рейтинг
28
#1
как убить Instacne?
пример, создаем дубликат объекта с включенным instance, но в какой то момент instance нужно удалить, при этом чтобы все ключи объекта сохранились.
спасибо, заранее... :)
 

Ghostfly

Активный участник
Рейтинг
19
#2
Создать shape и пренести на него старую transform ноду.
Ещё не помню уже что там с копированием ключей - давно анимацией не занимался - их можно всем скопом скопировать? Если да то можно и так, но первый вариант он красивее-)))
 

eranicle

Знаток
Рейтинг
28
#3
нет, при дублировании чтобы сохранились ключи, надо ставить галку instance, т.е. ее по любому удалять придется..
спасибо, за совет. прости мне мою безграмотность, подскажи, пожалуйста, как создать shape? пытаюсь создать сферку, забрать у нее ее shape, не получается...
 

Ghostfly

Активный участник
Рейтинг
19
#4
я про edit ----> keys ----> copy keys/paste keys. пропробовал - работает.
Про трансформ ноду - надо найти как она соединяется с шейпой. Сейчас не до этого. если кто знает - подскажите.
 

Миша Ершов

Модератор форума
Рейтинг
314
#8
Вот для кучи мой скриптик. Простенько и функционально.

{
string $selectedNodes[] = `ls -sl`;
if (size($selectedNodes) > 1)
error "You must select only one object";
copyKey;
duplicate -rr;
pasteKey;
delete $selectedNodes[0];

string $unInstancedObject[] = `ls -sl`;
rename $unInstancedObject[0] $selectedNodes[0];
}
 

Миша Ершов

Модератор форума
Рейтинг
314
#9
2 Gostfly
Shape node является потомком transform node, и не может существовать без него. Обычное отношение родитель-предок, которое нельзя разорвать.
 

Миша Ершов

Модератор форума
Рейтинг
314
#10
Вот релиз 1.2 с исправлениями. Теперь всё идеально работает :)))

{
string $selectedNodes[] = `ls -sl`;
if (size($selectedNodes) > 1)
error "You must select only one object";
$haveKeys = `copyKey`;
if ($haveKeys == 0)
{
duplicate -rr;
delete $selectedNodes[0];
string $unInstancedObject[] = `ls -sl`;
rename $unInstancedObject[0] $selectedNodes[0];
}
else
{
duplicate -rr;
pasteKey;
delete $selectedNodes[0];
string $unInstancedObject[] = `ls -sl`;
rename $unInstancedObject[0] $selectedNodes[0];
};
}
 
Сверху