Render.ru

Количество кадров анимации у объекта

Division

Пользователь сайта
Рейтинг
2
#1
Здравствуйте. Пишу экспорт. Мне нужно узнать количество кадров анимации у объектов. Сейчас делаю это так:
Код:
fn GetMaxFrame obj = (
	count = numKeys obj.pos.controller
	if (count > 0) then
		res = getKeyTime obj.pos.controller count
	else res = 0
	
	return res
)
Но этот способ не срабатывает, если в анимации нет перемещения, а присутствует только вращение. Пробовал менять pos на rotation - то же самое, работает только если есть перемещение.
Подскажите пожалуйста, как быть. Какой контроллер использовать?
 

Protactinium

Пользователь сайта
Рейтинг
2
#2
На сколько я понял нужно найти количество кадров между крайними ключами анимации, включая и их...
можно так сделать:

arr = obj.rotation.controller.keys
res = arr[arr.count].time - arr[1].time + 1
 

Division

Пользователь сайта
Рейтинг
2
#3
Спасибо, но как выяснилось мой способ тоже работает. После перезапуска макса всё заработало.
Меня устроил такой вариант:
Код:
fn GetMaxFrame obj = (
	index = numKeys obj.rotation.controller
	if (index > 0) then
		rot = getKeyTime obj.rotation.controller index
	else rot = 0f

	index = numKeys obj.pos.controller
	if (index > 0) then
		pos = getKeyTime obj.pos.controller index
	else pos = 0f
	
	if (pos > rot) then return (pos.frame as integer)
	else return (rot.frame as integer)
)
 
Сверху