Автор Тема: Скорость перемещения при анимации  (Прочитано 112 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xarapuchatok

  • Житель
Здравствуйте, не могу понять как в Блендере можно осуществить такое действо:

Есть анимационная схема типа:
MOVE ''CUBE" to x-axis <1.62> SPEED <0>
MOVE ''CYLINDER" to z-axis <1.2> SPEED <20>

В блендер я могу менять положение:
bpy.data.objects['CUBE'].location.x = 1.62
bpy.data.objects['CYLINDER'].location.z = 1.2

А вот как задать скорость для отдельной части при анимации

Подскажите в каком направлении курить?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Скорость перемещения при анимации
« Ответ #1 : 28 Марта 2018, 13:31:48 »
... в таком виде напрямую никак, поскольку здесь задаётся не перемещение, а положение ...
... собственно решение - делать через кривые IPO или непосредственно рассчитывать положение в зависимости от скорости ...

... поясни задачу, так будет легче подобрать решение ...

Оффлайн xarapuchatok

  • Житель
Re: Скорость перемещения при анимации
« Ответ #2 : 28 Марта 2018, 15:08:05 »
... в таком виде напрямую никак, поскольку здесь задаётся не перемещение, а положение ...
да, но если отрабатывается как анимация, то движения ведь плавные из отдной точки в другую типа:
cube = bpy.data.objects['cube']
cylinder = bpy.data.objects['cylinder']
coord = [[cube,(1.62,0,0)],[cylinder,(0.19,0,0)]]
num_frame = 0
for i in range(len(coord)):
    bpy.context.scene.frame_set(num_frame)
    a[i][0].location=a[i][1]    ------> перемещаем
    a[i][0].keyframe_insert(data_path = "location", index = -1)
    num_frame+=10

Может после каждого передвижения добавлять разное количество кадров и от этого и будет меняться скорость?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Скорость перемещения при анимации
« Ответ #3 : 28 Марта 2018, 18:47:26 »
>> да, но если отрабатывается как анимация, то движения ведь плавные из отдной точки в другую типа:
... из твоего кода не понятно что такое a[][] , поясни ...

>> Может после каждого передвижения добавлять разное количество кадров и от этого и будет меняться скорость?
... если ты выбрал вариант просчитать положение объекта в каждом кадре (а это алгоритмически более простой вариант), то кто тебе мешает просчитать это перемещение с учётом линейных скоростей (или угловых, при желании), итак
скорость перемещения v (метров в секунду) ...
время всей анимации T (в секундах, например из ходя из fps = 30 и зная K - количество кадров в анимации T = K/fps)
время между кадрами t (в секундах, t = 1/fps)
начальное положение p(0) (метров)
положение в (n) кадре p(n) = p(n-1) + v*t (при этом скорость тоже может быть переменной v(n))

 

* По форуму

* Последние вложения

NLA-редактор.png
Скачано: 4
Автор: Striver
Ригг.png
Скачано: 4
Автор: Mr.who
BlenderError.jpg
Скачано: 8
Автор: Starbreaker
BricsCADShape.jpg
Скачано: 15
Автор: Striver
Cycles+Internal Material ID.jpg
Скачано: 11
Автор: Samovar