Ho guardato il gioco di Banana da WWDC che è scritto in Objective - C stava cercando di convertire il codice in swift per importare animazioni e transizioni tra di loro ma sto avendo problemi nell'esecuzione delle animazioni in rapido da DAE File.Aggiunta e transizione di animazioni in SceneKit
Ho esportato file DAE in entrambi i formati AutoDesk da 3DSMAx e in formato openCollada. L'autodeskformat dell'animazione è per ogni osso quindi non riesco a chiamare un'animazione per nome, quindi mi limito a importare la scena e faccio quanto segue per l'animazione per iniziare non appena il file viene caricato.
scene = SCNScene(named: "monster.scnassets/monsterScene.DAE")
scene2 = SCNScene(named:"monster.scnassets/monster.DAE")
var heroNode = SCNNode()
heroNode = scene.rootNode.childNodeWithName("heroNode", recursively: false)!
var nodeArray = scene2.rootNode.childNodes
for childNode in nodeArray {
heroNode.addChildNode(childNode as SCNNode)
}
Anche se l'animazione viene riprodotta non appena inizia la scena, ho capito come memorizzare l'animazione.
Se esporto il file collada utilizzando openCollada. È possibile utilizzare quanto segue per eseguire l'acquisizione ed eseguire l'animazione in quanto vi è una sola animazione per l'intero oggetto invece di ogni osso nel caso del formato Collada di AutoDesk. In questo modo posso memorizzare l'animazione anche usando CAAnimation.
var anim = scene2.rootNode.animationForKey("monster-1")
childNode.addAnimation(anim, forKey: "monster-1")
Ma poi il personaggio corre ad angolo e corre avanti e indietro invece di correre nello stesso punto.
Anche l'illuminazione è migliore con OpenCollada. Vorrei solo usare openCollada invece di autodesk collada export. In questo momento sto usando il formato openCollada per esportare la scena e autodesk per esportare caratteri.
Come animare le animazioni in SceneKit e passare da una all'altra? Grazie. : D
Grazie controllerò. : D. non riesci nemmeno a far valere la tua risposta. Bisogno di 15 rep –