2016-08-15 4 views
1

Ich habe eine GPX-Datei mit Standorten und Höhendaten. Ich möchte ein 3D-Modell erstellen und dieses Modell mit SceneKit zeigen.Erstellen einer 3D-Route mit SceneKit

Ich habe bereits die Methode mit einem NSBezierPath versucht, aber das Problem ist, dass ich die Z-Daten nicht hinzufügen kann und es ist eher wie eine 2D-Route.

Im Moment erstelle ich eine SCNBox für jeden einzelnen Trackpoint - nun, es funktioniert, aber es ist nicht wirklich so hübsch und es scheint irgendwie falsch.

Ich dachte auch darüber nach, ein 3D-Modell (Obj-Datei) programmatisch zu erstellen, aber das ist zu schwer.

Kurz gesagt: Was ist der beste Weg, um ein 3D-Geometrieobjekt mit SceneKit zu erstellen, wenn ich eine Liste von Punkten mit X/Y/Z-Daten habe?

Gibt es eine Möglichkeit, SCNBoxen zu "verbinden"?

Grüße, Sascha

+0

Willkommen bei StackOverflow! Die Frage, wie es ist, fühlt sich eher an wie "das ist eine Frage über Best Practices, die in Tutorials behandelt werden sollten" und nicht eine Frage über Code, der nicht funktioniert. Das ist zwar nicht immer ein Thema, aber es ist hilfreich, wenn du erklärst, was du bereits getan hast (/ help/how-to-ask), was dir das Gefühl gibt, dass dies der richtige Ort ist, um diese Frage zu stellen. –

Antwort

-2

Versuchen Sie, die SCNShape Klasse. Damit können Sie eine 3D-Form nach einem Bezier-Pfad erstellen, während Sie gleichzeitig die Z-Achse steuern:

"SceneKit erstellt eine dreidimensionale Geometrie durch Extrusion eines Bézier-Pfads, der sich in x- und y-Achsenrichtung erstreckt sein lokaler Koordinatenraum entlang der z-Achse um einen bestimmten Betrag. "

+0

OP bereits notiert, * "Ich habe die Methode bereits mit einem NSBezierPath versucht, aber das Problem ist, dass ich die Z-Daten nicht hinzufügen kann und es eher wie eine 2D-Route aussieht." * Alle 'SCNShape' macht einen 2D-Pfad extrudiert zu einer gleichmäßigen Dicke; Es erstellt keinen 3D-Pfad. – rickster

+0

OK. Bekannt. Was ist mit [SCNGeometryElement] (https://developer.apple.com/library/ios/documentation/SceneKit/Reference/SCNGeometryElement_Class/index.html) mit [SCNGeometryPrimitiveTypeLine] (https://developer.apple.com/reference/scenekit/scngeometryprimitiveType/scngeometryprimitiveTypeline)? –