Als ob ich einige benutzerdefinierte Form erstellen möchte, indem Sie einige SCNBox und SCNPyramid usw. kombinieren, kann ich sie zusammensetzen, indem Sie die richtigen Positionen und Geometrien einstellen. Wie auch immer, ich kann einfach keinen Weg finden, sie als eine Einheit zu kombinieren, die in der physischen Welt modifiziert oder reagiert werden kann. Der Code unten, dass ich möchte, erstellen Sie eine einfache Haus Form SCNNode, und ich möchte den Knoten aneinander befestigt, wenn durch Kollisionen und Schwerkraft betroffen. Kann jemand einige Hinweise geben?So kombinieren Sie zwei oder mehr SCNGeometry/SCNNode zu einem
let boxGeo = SCNBox(width: 5, height: 5, length: 5, chamferRadius: 0)
boxGeo.firstMaterial?.diffuse.contents = UIColor.blueColor()
let box = SCNNode(geometry: boxGeo)
box.position = SCNVector3Make(0, -2.5, 0)
scene.rootNode.addChildNode(box)
let pyramidGeo = SCNPyramid(width: 7, height: 7, length: 7)
pyramidGeo.firstMaterial?.diffuse.contents = UIColor.greenColor()
let pyramid = SCNNode(geometry: pyramidGeo)
pyramid.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(pyramid)
houseNode.geometry? .firstMaterial? .diffuse.contents = UIColor.purpleColor() houseNode.physicsBody? .affectedByGravity = true – NEO
Wenn ich möchte seine Farbe oder physicsBody wie der oben genannte Code ändern, dies nur würde nicht funktionieren! Ich glaube, das liegt daran, dass die Geometrie- und Physik-Form von houseNode noch nicht definiert wurde. Und das will ich herausfinden. – NEO
Der Container ist nützlich für Positionierung, Orientierung, Bewegung usw. Versuchen Sie den bearbeiteten Vorschlag, den ich oben hinzugefügt habe. Ich habe die Physik-Engine noch nicht benutzt, ich bin mir nicht sicher über diesen Teil des Vorschlags. – bpedit