Render.ru

Позиция объекта, после отключения констрейна.

Рейтинг
47
#1
Пример сцены: некая робо-рука, берет нечто, переносит в другое место, и оставляет там.

Делается парент констрейн. Он выключен. Рука приближается, берет, констрейн активируется (все это, конечно же, ключами анимации). После переноса объекта в нужную точку, констрейн отключается. Дабы не следовать дальше за робо-рукой.

И в этот момент, объект возвращается в свое первичное положение.

Есть команда SetRestPosition. Но она не добавляет "основных" положение объекту, а заменяет старые значение новыми (что в принципе логично).

То есть, для перемещения объекта из "А" в "Б" с помощью констрейна, приходится ставить ключи на атрибуты RestPosition.

Вопрос: единственный ли это метод? Быть может, есть более простой и быстрый способ?
 

Вложения

Рейтинг
47
#3
Эээ ,не. Такой "финт" не везде пройдет.
У тебя получилось, потому что в первом кадре анимации, припаренчивание объекта включено.

Если бы цилиндр подъезжал, брал объект из А, вез в Б, оставлял и уезжал...
При повторном воспроизведении анимации, без включенной галочки RestPosition. Шар оставался бы стоять в точке Б. И в момент, когда его цилиндр должен был бы брать, резко перескакивал в А.
 

Олег Геннадьевич

Активный участник
Рейтинг
14
#4
Пример сцены: некая робо-рука, берет нечто, переносит в другое место, и оставляет там.

Делается парент констрейн. Он выключен. Рука приближается, берет, констрейн активируется (все это, конечно же, ключами анимации). После переноса объекта в нужную точку, констрейн отключается. Дабы не следовать дальше за робо-рукой.

И в этот момент, объект возвращается в свое первичное положение.

Есть команда SetRestPosition. Но она не добавляет "основных" положение объекту, а заменяет старые значение новыми (что в принципе логично).

То есть, для перемещения объекта из "А" в "Б" с помощью констрейна, приходится ставить ключи на атрибуты RestPosition.

Вопрос: единственный ли это метод? Быть может, есть более простой и быстрый способ?
Как вариант все делать через группы или локаторы.

Отправлено с моего A0001 через Tapatalk
 
Рейтинг
47
#5
Как вариант все делать через группы или локаторы.
Как вариант, конечно можно. Но рациональность такого подхода, весьма спорна.
Ведь придется отдельно анимировать робо-руку, отдельно объект который она берет. И если к примеру, изменится скорость движения руки, придется потом подстраивать и анимацию объекта.
 

Олег Геннадьевич

Активный участник
Рейтинг
14
#6
Как вариант, конечно можно. Но рациональность такого подхода, весьма спорна.
Ведь придется отдельно анимировать робо-руку, отдельно объект который она берет. И если к примеру, изменится скорость движения руки, придется потом подстраивать и анимацию объекта.
Вы, наверно, не поняли о чем я. Ничего там не надо анимировать вручную, кроме руки.

Отправлено с моего A0001 через Tapatalk
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
579
#7
а не проще сделать 3 объекта? 1 объект, там где рука берет объект (стол например), второй сама рука и третий - сам объект. а потом просто заанимировать веса констрейнта. ))
к примеру 1 кадр рука берет объект. переключился констрейнт от с тола к руке. потом пока рука движется к точке отпускания, объект стола передвинулся к ому месту где объект отпускается. и снова веса заанимировть
 
Рейтинг
47
#8
Вы, наверно, не поняли о чем я. Ничего там не надо анимировать вручную, кроме руки.
Скорее всего не понял.
Можно конечно "завернуть" в группу, руку и объект. "Подъезд" руки к объекту, анимировать непосредственно руку. А дальнейшие перемещение, выставляя ключи на группу (тогда рука и объект будут едины). Но все равно, мне кажется, это подойдет для простеньких манипуляций. За перемещение будут отвечать ключи на руке и на группе. Один констрейн, пусть даже с большим количеством параметров, будет проще "отследить".
 

Олег Геннадьевич

Активный участник
Рейтинг
14
#9
Скорее всего не понял.
Можно конечно "завернуть" в группу, руку и объект. "Подъезд" руки к объекту, анимировать непосредственно руку. А дальнейшие перемещение, выставляя ключи на группу (тогда рука и объект будут едины). Но все равно, мне кажется, это подойдет для простеньких манипуляций. За перемещение будут отвечать ключи на руке и на группе. Один констрейн, пусть даже с большим количеством параметров, будет проще "отследить".
Не так) Короче: анимируешь руку на весь цикл анимации, т.е. движение к предмету, если нужна пауза на то, чтобы взять предмет, движение руки с предметом, пауза на то, чтобы положить предмет. Сам предмет заварачиваешь в группу или две(это уже опционально, если у тебя только взять>переместить>поставить, то хватит одной группы, если не только, то надо смотреть по обстоятельствам). Далее в тот момент, как рука переместилась в положение, когда надо взять предмет, перентишь группу, в которой предмет, к руке, ставишь на транслейтах и(или) ротейтах группы ключи анимации. Появится параметр констрейна. Анимируешь его в двух соседних кадрах с 0 на 1. После этого группа вместе с предметом должна приперентится к руке. Потом пререходишь к моменту, когда предмет должен остаться на столе после перемещения, ставишь ключи в соседних кадрах на перенте группы с 1 на 0. В этих же кадрах перентишь уже сам предмет к столу. По тому же принципу, что и группу к руке перентил. Тоже самое можно сделать и с локаторами вместо групп. И так и так работает.

Отправлено с моего A0001 через Tapatalk
 
Рейтинг
47
#11
а не проще сделать 3 объекта? 1 объект, там где рука берет объект (стол например), второй сама рука и третий - сам объект. а потом просто заанимировать веса констрейнта. ))
к примеру 1 кадр рука берет объект. переключился констрейнт от с тола к руке. потом пока рука движется к точке отпускания, объект стола передвинулся к ому месту где объект отпускается. и снова веса заанимировть
Пробовал так делать.
В сцене три геометрии - рука, стол, объект (использую простой шар).
Шар к столу, "лепил" парен констрейном. И к руке, тоже. получается на шаре один парент констрейн, с двумя весами.

Изначально шар стоит на столе. "Прибывает" рука. "Вес" переключается на нее. Она уезжает вместе с шаром, собирается остаеть его на полу. В этот момент, нужно отключить привязку от руки. И шар, сразу же возвращается на стол.

#------------
Пока писал ответ, пробовал в майке. И вроде бы понял о чем вы оба говорили.
#------------
Можно создать в сцене еще один объект, пол. К нему тоже "прилепить" через парент констрейн. Таким образом, у шара будет три ключевые точки. И тогда, да, можно анимировать веса.

Или что бы в "ключевых" точках, были локаторы. С ними провернуть ту же самую констрейновую комбинацию.

Черт, или что бы был одни локатор! Но тогда его придется анимировать между точкой на столе и полу.
 

Олег Геннадьевич

Активный участник
Рейтинг
14
#12
Не, меня ты так и не понял. Тебе надо, чтобы у тебя контролировала РУКА предмет и больше ни чего. А если придется менять анимацию руки? Придется локаторы двигать в новые точки. Как по мне, так это геморрой. А скифа я не совсем понял) Не очень удобно переключаться между перентами обьектов. Они запрятаны хрен знает где, да еще и ключи этих параметров не отображаются на шкале анимации, чтобы их менять нужно лезть в кривые.
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
579
#13
Не очень удобно переключаться между перентами обьектов. Они запрятаны хрен знает где, да еще и ключи этих параметров не отображаются на шкале анимации, чтобы их менять нужно лезть в кривые.
вынести переключение на атрибут. делов то. и отображаться кривые будут
 

Олег Геннадьевич

Активный участник
Рейтинг
14
#14
вынести переключение на атрибут. делов то. и отображаться кривые будут
А можешь объяснить, как это сделать ну или дать ссылку на урок(только именно этот атрибут)?

Отправлено с моего A0001 через Tapatalk
 
Рейтинг
47
#15
Всем спасибо!
Понял я "систему" с группами (сделал тестово).

Но вот все таки идея с двумя локаторами, мне больше понравилась. Так как выделяя шар, получаешь доступ стразу к трем весам (стол, рука, пол). Проще анимировать переключение. Да и на глаз видно, откуда объект стартует, и куда прибывает.
Когда заворачиваешь в группы, для анимации 0-1 (от стола к руке, от руки к полу) приходится переключаться между группой в которой шар и самим шаром. А если меняется анимация (расположение объекта или скорость руки), то по любом придется править ключи на весах.
Но то такое... Кому как нравиться.

И за наводку на скрипт спасибо. Скачал, поставил, попробовал - красота!
Но все равно рад, что помудохался с констрейнами, локаторами, группами, RestPosition-ом и т.д.
 
Сверху