2017-09-07 2 views
0

Dans un effort pour apprendre Swift SceneKit, j'étudie la démo Apple "Badger". Il dispose d'une animation de kart suivant les voies ferrées. Je ne comprends pas ce qui génère cette animation. Il y a un fichier scene.scn qui a un noeud "Bob root" qui est un espace réservé pour l'animation de kart, et il y a de nombreux fichiers d'animation .scn qui ont le "Bob root" sans animation. Je comprends que "laissez cartAnimation = scene.rootNode.animation (forKey: cartAnimationName)!" applique l'animation à ce nœud racine Bob de sorte qu'il suit les pistes.Apple "Badger" SceneKit demo comment l'animation du kart est-elle générée?

Mais qu'est-ce qui génère cette animation - comment le kart suit-il les traces? Il n'y a aucun noeud dans scene.scn avec ce mouvement, et je ne vois pas être décrit par programmation n'importe où. Désolé, pas entièrement une question de codage, mais je dois comprendre cela pour aller de l'avant. Merci!

Répondre

2

Les animations ont été conçues dans un logiciel 3D, puis exportées en tant que Collada, importées dans Xcode et archivées dans les fichiers .scn. L'exemple de code récupère simplement ces animations et les déclenche en cas de besoin.

+0

Merci! mais je m'intéresse plus particulièrement à la façon dont cette animation de panier a été générée - est-ce une animation keyframed qui est arrivée avec le fichier scene.scn ou est-elle générée par programmation à la volée? Je ne trouve aucun nœud de panier animé dans le fichier scene.scn de base, uniquement un nœud d'espace réservé, et les fichiers d'animation de caractères contiennent uniquement des animations pour le caractère. Je souhaite que les fichiers .dae n'aient pas été convertis en fichiers .scn, car avec un fichier .dae dans Xcode, vous pouvez voir les animations explicitement listées dans le graphe de scène ... – Galaxy61