2017-09-15 4 views
0

Je cherchais un indice à cela depuis 2 jours sans chance.Faire pivoter un nœud autour d'un seul axe

Fondamentalement, je veux animer la rotation d'un nœud dans Scenekit mais autour d'un axe. Quelque chose comme une animation d'ouverture de porte. La chose est quand je le fais tourner, il tourne du milieu, pas du côté de la porte comme nécessaire. Voici un exemple de code de ce que je voulais faire:

let oldTransform = node.transform 
let rotation = SCNMatrix4MakeRotation(Float(-Double.pi/2.0), 5.0, 0.0, 0.0); 
SCNTransaction.begin() 
SCNTransaction.animationDuration = 1.5 
node.transform = SCNMatrix4Mult(rotation, oldTransform) 
SCNTransaction.commit() 

Toute velléité sur ce que je dois faire, je serai vraiment reconnaissant. Je suis nouveau sur Scenekit, j'espère que vous comprendrez cela.

+1

Modifiez le point d'ancrage du noeud ou ajoutez-le en tant qu'enfant d'un autre noeud et faites-le pivoter. –

Répondre

0

Déplacez le pivot du SCNNode sur le côté de la porte/du modèle avant de le faire pivoter. Vous pouvez le faire dans le code en changeant sa propriété de pivot, ou dans la plupart des logiciels de modélisation 3D.