Render.ru

блокировка осей вращения

maxim zaikin

Активный участник
Рейтинг
5
#1
Всем известная проблема,блокировка осей вращения,существует ли вариант решения,скрипт какой нибудь,или еще что?
 

tadpole

Знаток
Рейтинг
24
#2
непонял вопроса.Ты хочешь их сам заблокировать? или они у тебя почему то блокируются без твоего согласия?Если хочешь сам , то жмешь в начале левой кнопкой на название оси( чтоб она окрасилась) затем на ней же правой кнопкой, и выбираешь lock selected
 

maxim zaikin

Активный участник
Рейтинг
5
#3
Нет,я про явление ,когда в определённый момент две из трёх осей вращения совмещаются,это можно видеть в режиме gimbal инструмента вращения.
 

Denos

Пользователь сайта
Рейтинг
2
#4
maxim zaikin сказал(а):
Нет,я про явление ,когда в определённый момент две из трёх осей вращения совмещаются,это можно видеть в режиме gimbal инструмента вращения.
Что-то не смог добиться этого определенного момента, когда оси совмещаются. Вообще, всегда с вращением всё ОК.
 

Denzil

Мастер
Рейтинг
353
#5
Denos сказал(а):
Что-то не смог добиться этого определенного момента, когда оси совмещаются. Вообще, всегда с вращением всё ОК.
Что могу сказать.... Мало анимируешь, или очень простые движения. И вращать нужно не в Global или Local, а в Gimbal. Так полностью контроллируется вращение объектов, плюс эффект (или подход к нему) нагляден.
 

Denos

Пользователь сайта
Рейтинг
2
#6
2 Denzil
Я про Gimbal и говорил. Проблема-то где?
О какой блокировке речь?
 

Denzil

Мастер
Рейтинг
353
#7
Делаешь пустую сцену, ось Y-up
Создаешь примитив (сферу, например)
Вращаешь по оси "Y" на 90 град.
Все.... Относительно глобального "Х" в гимбле не повернуть (простым способом, одной осью).

Эффект называется Gimbal Lock. Бороться с помошью грамотной анимации и Euler Filter.
 

moris

Активный участник
Рейтинг
10
#10
Тема так давно была открыта, но все же хочется поднять ее снова. Дензил, можете ли вы в двух словах обьяснить, каков у вас принцип грамотной анимации? У меня есть меч и его нужно вращать по-всякому. Как бы я не выставлял приоритеты (конечно же ось Z вдоль рукоятки), поворот по оси у неизбежен. Конечно тут на помощь приходит ейлер фильтр, но он то все равно полностью ситуацию не спасает :(
 

maxim zaikin

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

Denzil

Мастер
Рейтинг
353
#12
Да, согласен.
Полностью избавиться от гимбл-лока не удастся. Есть пути его уменьшения.
1. Выставить меч в наиболее часто используемое положение. типа перед собой, жалом вверх. В этом положении выставить rotate order подобрать комбинацию, наиболее отвечающую движению:
вверх-вниз - без изменения осей
вправо-влево - тоже
при вращении его - можно допускать смещение осей.
Так при примитивных и наиболее частых движениях лока не будет.
Желательно в этом положении обнулить Rotate меча.
В дефолтовой сцене это Rotate Order ZYX

2. Анимация. Если в режиме гимбл работать не получается (пересекаются, сливаются оси) перейти в локал и анимировать. Потом открыть граф эитор и редактировать "расползающие" кривые.
В 95% случаев подходит ручной эйлер фильтр (Rx +/- 180, Rz -/+180, Ry -/+180 и скейл -1) - так удается "переключить" гимбл на одну ось, а остальные подкорректировать в проблемных местах.

3. Если совсем все плохо и ничего не работает - сделать локатор, обнулить его и выставить ротейшн ордер. Прикострейнить к нему меч и анимировать за локатор, потом трансформы меча бейкаются и см. п.2

Удачи!
 
Сверху