Je rends une scène d'un fichier .dae (Collada). Dans la scène j'ai 4 nœuds.SceneKit - Comment faire rebondir un nœud dans un autre nœud (pêcher dans un bocal)
Le grand nœud est une «boîte» rectangulaire de forme étrange. J'ai besoin que les autres nœuds rebondissent à l'intérieur de ce nœud comme des poissons dans un aquarium.
J'ai le nœud rectangulaire mis en place comme suit:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
SCNPhysicsShapeTypeKey, SCNPhysicsShapeTypeConcavePolyhedron, nil];
SCNPhysicsShape *shape = [SCNPhysicsShape shapeWithNode:self.box1 options:dictionary];
SCNPhysicsBody *body = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeStatic shape:shape];
self.box1 = [self.scene.rootNode childNodeWithName:@"box1" recursively:NO];
self.box1.physicsBody = body;
Mes petits noeuds ne sont que des formes simples avec des organismes dynamiques.
Tout rebondit et se heurte les uns aux autres. Mon problème est que les plus petits nœuds ne rebondiront que sur le sommet du plus gros nœud de la «boîte». Comme si la boîte avait un couvercle dessus. Je ne peux pas obtenir les plus petits nœuds pour entrer dans l'espace vide dans la 'boîte'. C'est comme si les plus petits nœuds «poissons» ne pouvaient pas entrer dans le bol, car ils se fracassaient contre le couvercle invisible et se posaient simplement sur le dessus. J'espère que cela a du sens ... mon cerveau est frit en essayant de comprendre cela.
Merci. C'est ce que j'ai fini par faire. J'espérais que scenekit pourrait utiliser la vraie forme du modèle 3D. – mtb
[SCNPhysicsBody bodyWithType: forme SCNPhysicsBodyTypeStatic: shape], définissez simplement le paramètre shap sur nil. Cela aura une géométrie plus similaire, créée automatiquement par sceneKit. – ooOlly