Ich rendere eine Szene aus einer DAE-Datei (Collada). Innerhalb der Szene habe ich 4 Knoten.SceneKit - So bouncen Sie einen Knoten innerhalb eines anderen Knotens (Fisch in der Fischschale)
Der große Knoten ist eine seltsam geformte rechteckige "Box". Ich brauche die anderen Knoten, um innerhalb dieses Knotens herumzuspringen, wie Fische in einem Goldfischglas.
Ich habe den rechteckigen Knoten wie folgt festgelegt:
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;
Mein kleiner Knoten sind nur einfache Formen mit dynamischer Körper.
Alles prallt herum und kollidiert gut .. mein Problem ist, dass die kleineren Knoten nur auf der Oberseite des größeren 'Box'-Knotens hüpfen. Als ob die Schachtel einen Deckel hätte. Ich kann die kleineren Knoten nicht dazu bringen, den leeren Raum innerhalb der "Box" zu betreten. Es ist also so, als könnten die kleineren "Fischknoten" nicht in die Schüssel gelangen, da sie gegen den unsichtbaren Deckel schlagen und einfach oben drauf liegen.
Ich hoffe, dass dies Sinn macht .. mein Gehirn ist gebraten versucht, dies herauszufinden.
Danke. Das habe ich getan. Ich hatte gehofft, dass Scenekit die wahre Form des 3D-Modells verwenden könnte. – mtb
[SCNPhysicsBody bodyWithType: SCNPhysicsBodyTypeStatic shape: shape], setzen Sie den shap-Parameter einfach auf nil. Dadurch erhält man eine ähnliche Geometrie, die von sceneKit automatisch erstellt wird. – ooOlly