2016-05-15 10 views
3

Ich habe also eine Kamera in meinem SceneKit-Projekt, die sich frei drehen und bewegen kann, und ich habe ein Objekt, das in manchen Fällen bleiben muss in einer konstanten Entfernung von der Kamera und immer in der Mitte der Ansicht, egal wie die Kamera rotiert. Leider bin ich neu bei SceneKit und weiß nicht, wie ich das erreichen soll.Scenekit-Objekt, das in der Mitte der Kameraansicht bleibt (Swift)

So sind die wichtigsten Dinge, ich suche sind:

  1. Wie das Objekt immer in der gleichen Entfernung von der Kamera

  2. Wie das Objekt immer in der Mitte haben es ist egal, der nach Ansicht der Kamera in welche Richtung

im Moment sowohl die Kamera und das Objekt (ein SCNNode mit einer Kastenform) sind Kinder derselben sc en.

Ich bin in Swift codieren, also würde ich eine Antwort bevorzugen, aber wenn Sie eine Lösung in objective-c haben, funktioniert das auch.

Vielen Dank!

Antwort

2

Denken Sie darüber nach, wie Sie das in der realen Welt lösen könnten. Schnappen Sie sich zwei zu vier der entsprechenden Länge. Verwenden Sie Klebeband, um den Ball an einem Ende zu befestigen, und um die Kamera (auf den Ball gerichtet) an das andere Ende zu befestigen.

Jetzt können Sie das Rig mit sich herumtragen. Der Ball befindet sich immer in der Mitte der Kameraansicht und befindet sich in einer konstanten Entfernung von der Kamera.

Sie können praktisch das gleiche Rig in SceneKit bauen. Erstellen Sie einen neuen SCNNode, um das Rig zu werden (anstelle der zwei zu vier). Füge den Ball als Kindknoten bei (0, 0, 0) hinzu. Fügen Sie die Kamera auch als untergeordneten Knoten hinzu (0, 0, 5) (die Kamera schaut auf die -Z-Achse, so dass diese Position den Ball in die Mitte der Ansicht bringen sollte). Jetzt können Sie den Rig-Knoten überall in der gewünschten Szene bewegen, und Sie haben eine konsistente Ballposition.

+4

Schöne Analogie. Obwohl ich auf SCNNode keine ductTape-Methode sehe. Vielleicht einen Fehler melden? ;) – rickster

+0

Würdest du nicht wollen, dass das Rigg und der Ball Kinder der Kamera sind, so dass, wenn sich die Kamera dreht, auch das Rigg funktioniert? – jglasse

+0

Die Rig/Ball-Kinder der Kamera zu machen würde den gleichen Effekt haben, und wenn das Modellieren für Sie sinnvoller ist, sollten Sie es so machen. Solange der Ball und die Kamera am selben Knoten befestigt sind, ändert sich die relative Ansicht des Balls nicht. –

Verwandte Themen