Я пытаюсь анимировать определенные части объекта SCNScene в SceneKit (в моем случае я хочу анимировать пальцы руки). Я импортирую файл .dae (COLLADA) из Blender с соответствующими костями для создания артикуляции на модели.Как создать пользовательскую анимацию в SceneKit с файлом .dae (COLLADA) из Blender
override func viewDidLoad() {
super.viewDidLoad()
var scene = SCNScene(named: "hand.dae")!
sceneView.scene = scene
sceneView.allowsCameraControl = true
sceneView.autoenablesDefaultLighting = true
sceneView.backgroundColor = UIColor.lightGrayColor()
}
Моя цель состоит в том, чтобы оживить эти кости на прошивке с генерироваться пользователем значения между 0 и 1. Представьте UISlider где вы прокручивать вперед и назад и увидеть конкретный палец двигаться в зависимости от значения ползунка.
Это необходимо Скриншот анимационного
Image with the animation pretended
Я попытался анимировать модель, вызвав файл анимации, как например, в компании Apple Fox:
private var indexFingerAnimation: CAAnimation!
indexFingerAnimation = CAAnimation.animationWithSceneNamed(“move_index_finger.dae”)
indexFingerAnimation = false
indexFingerAnimation = 0.3
indexFingerAnimation = 0.3
indexFingerAnimation = Float.infinity
Проблема заключается в том, что это глобальная анимация вместо указательного пальца. Кроме того, это всегда «заранее определенная» анимация, а не анимация, управляемая пользовательским вводом. В конечном счете, я хочу смешивать анимации (например, перемещать указательный палец и большой палец одновременно с выявляющими жестами)
Возможно ли это? Я боюсь, потому что не могу понять, как манипулировать определенными частями сетки. Я начинаю изучать MetalKit, но мне непонятно, что это решение.
Любая помощь была бы действительно оценена.
Что вы имеете в виду под " Глобальная "анимация? Вы имеете в виду, что он нацелен на все пальцы, а не на один? Я не знаком с Blender, но должно быть возможно экспортировать анимацию, предназначенную только для костей данного пальца. Если нет, вы можете обработать анимацию (используя API CA), чтобы отфильтровать те, которые вы хотите сохранить. Затем, если вы хотите «искать» в своих анимациях, попробуйте установить скорость на 0 и повторно добавить анимацию после изменения их beginTime. – Toyos
Спасибо Toyos. «Глобальный» означает, что я могу только анимировать одну «экспортированную анимацию» за раз. Моя задача - перемещать в то же время указательный палец и большой палец (или любой другой палец), и я не могу понять, как это сделать. Могу ли я одушевить кость отдельно? Как мне это сделать? – Joao