0

SceneKit で SCNScene オブジェクトの特定の部分をアニメーション化しようとしています (私の場合、手の指をアニメーション化したい)。Blender から .dae (COLLADA) ファイルをそれぞれのボーンとともに簡単にインポートして、モデルにアーティキュレーションを生成します。

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 の値を使用して、iOS でこれらのボーンをアニメーション化することです。UISlider を想像してみてください。UISlider では、スライダーの値に応じて特定の指が動くのを確認できます。

これは必要なアニメーションのスクリーンショットです

アニメーションを装った画像

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 の研究を始めていますが、それが解決策かどうかはわかりません。

どんな助けでも本当に感謝しています。

4

1 に答える 1

-1

2 つのアニメーションを同時に試したことはありませんがSCNNode、2 つ以上のアニメーションで dae ファイルを回転させることができます

ピボットポイントを設定してグループ化する必要があります

于 2016-10-21T14:22:49.663 に答える