Автор Тема: Проблема с вращением вокруг курсора в анимации.  (Прочитано 3088 раз)

Оффлайн FED_KOB_AL

  • Житель
Доброго всем времени суток. Нужно создать анимацию врашения обьекта вокруг определенной оси. Ось я выставляю по средству вращения вокруг курсора.В режиме редактирования все отлично (заданная ось учитывается). Но в анимации вращения этот параметор не учитывается и вращение происходит вокруг оси по умолчанию. Подскажите как это исправить.Спасибо за внимание.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Цитировать
Ось я выставляю по средству вращения вокруг курсора.
Поставь пустышку в место курсора, сделай объект потомком этой пустышки (выдели объект, затем пустышку, нажми Ctrl-P). В анимации вращай пустышку.

Оффлайн LanuHum

  • Житель
Цитировать
Ось я выставляю по средству вращения вокруг курсора.
Поставь пустышку в место курсора, сделай объект потомком этой пустышки (выдели объект, затем пустышку, нажми Ctrl-P). В анимации вращай пустышку.
Есть способ попроще. Анимируем Delta Transform:

[вложение удалено Администратором]
« Последнее редактирование: 27 Октябрь 2015, 18:59:09 от LanuHum »

Оффлайн LanuHum

  • Житель
Ещё добавлю вариант.
Можно просто назначить центром объекта точку, где расположен курсор.
Меню: Object => Transform => Origin To 3D Cursor

Оффлайн FED_KOB_AL

  • Житель
Спасибо LanuHum, помогло!

Оффлайн Samovar

  • Житель
Надо такую анимацию:
https://www.youtube.com/watch?v=MirQMWk4-2s
Как сделать?
« Последнее редактирование: 01 Ноябрь 2015, 10:41:46 от Samovar »

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Движение сделал через ограничение Follow Path, вращение через драйвер - зависимость от координаты X.

Путь сделал через массив окружностей с радиусом sqrt(2) (см. на 11 слое).


[вложение удалено Администратором]

Оффлайн LanuHum

  • Житель
Надо такую анимацию:
https://www.youtube.com/watch?v=MirQMWk4-2s
Как сделать?
Меняя центры вращения. Устанавливаешь центром правую нижнюю вершину, анимируешь поворот на 90 градусов, меняешь центр вращения на правую нижнюю вершину и так далее.  :)
Также анимируя дельту.
В общем, оба выше мною предложенных способа тоже подходят. Хотя, не совем ясно, как будет вести себя объект, катящийся на квадратных колёсах.
« Последнее редактирование: 01 Ноябрь 2015, 13:09:16 от LanuHum »

Оффлайн Samovar

  • Житель

Striver, благодарю! Очень оригинально! Добавил себе в копилку.
Цитировать
Меняя центры вращения. Устанавливаешь центром правую нижнюю вершину, анимируешь поворот на 90 градусов, меняешь центр вращения на правую нижнюю вершину и так далее.  :)
Также анимируя дельту.
Спасибо, но так не получается... положение Origin не анимируется :(
Есть ещё варианты?

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
... сейчас посмотрю что можно сделать через драйверы, а пока выкладываю вариант с rigid body ...

[вложение удалено Администратором]
Для Кота

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Цитировать
что можно сделать через драйверы
Я сначала хотел выяснить формулы пути и вставить их в драйверы для координат. Но, повозившись, понял, что гораздо проще нарисовать этот путь через окружности, чем подобрать правильную формулу.

Оффлайн Samovar

  • Житель
Цитировать
... сейчас посмотрю что можно сделать через драйверы, а пока выкладываю вариант с rigid body ...
Спасибо, sungreen! Тожеть забрал в копилку... Через драйверы - это уже будет риг. Стоит так заморачиваться?
В общем самостоятельно нашел решение через ограничитель Child Of. Всем откликнувшимся ещё раз спасибо за участие!

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
... вот через driver - дергай куб по оси Y ...


[вложение удалено Администратором]
Для Кота

Оффлайн Samovar

  • Житель
Цитировать
... вот через driver - дергай куб по оси Y ...
Круто! Спасибо!

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
повозившись, понял, что гораздо проще нарисовать этот путь через окружности, чем подобрать правильную формулу.
... на самом деле это простое движение ...
... дефолтный кубик 2х2х2 за один кувырок перемещается по оси Y на 2 единицы (на длину одного ребра) ...
... переваливаясь через угол, центр кубика описывает движение по окружности с радиусом корень из двойки и центром в этом углу ...
... тогда если строить относительно Y (а это bpy.data.objects["Cube"].location[1]) ...
получаем
1) угол поворота вокруг оси X    alpha =  -Y*pi/4  или  в драйвере -bpy.data.objects["Cube"].location[1]*pi/4
2) координату по Z = sqrt(2-(Y%2-1)**2) или в драйвере   sqrt(2-((bpy.data.objects["Cube"].location[1] % 2)-1)**2)
Для Кота