2016-05-15 18 views
3

SceneKitプロジェクトに自由に移動して移動できるカメラがありますが、場合によっては滞在する必要があるオブジェクトがありますカメラから一定の距離を置いて配置し、カメラがどのように回転しても常にその視点の中心に位置するようにしてください。残念ながら、私はSceneKitを初めて使っており、これを達成する方法を知らない。カメラビューの中心にあるScenekitオブジェクト(Swift)

だから私が探している主要なものは以下のとおりです。

  1. はどのようにカメラから同じ距離に常にオブジェクトを持つことが

  2. がどのようにオブジェクトが常に中央にある持っていますカメラのビューの関係なく、それは現時点で

を探しているものの方向、カメラと被写体(箱の形状とSCNNode)の両方が同じSCの子供ではありませんエン

私は迅速にコーディングしていますので、私はそれを使用して回答したいと思いますが、あなたがobjective-cで解決策を持っているなら、それも機能します。

ありがとうございました!

答えて

2

実世界でこれをどのように解決できるか考えてみましょう。適切な長さの2つずつをつかみます。ダクトテープを使用してボールを一方の端に取り付け、カメラをボールに向けて他方の端に取り付けます。

これであなたはあなたと一緒にリグを運ぶことができます。ボールは常にカメラビューの中央にあり、カメラから一定の距離にあります。

SceneKitでは、実質的に同じリグを構築できます。リグになるように新しいSCNNodeを作成します(2つずつ置き換える)。ボールを(0、0、0)に子ノードとして追加します。カメラを子ノードとして(0、0、5)にも追加します(カメラは-Z軸を見下すので、この位置はボールをビューの中心に置きます)。今度は、あなたが望む場面のどこかでリグノードを動かすことができ、一貫したボールポジションが得られます。

+4

いいアナロジー。私はSCNNodeにはductTapeメソッドはありません。たぶんバグファイルですか? ;) – rickster

+0

リグとボールをカメラの子供にして、カメラが回転するとリグも同じになるようにしませんか? – jglasse

+0

カメラのリグ/ボールの子供を作ることは同じ効果があります。そのようにモデリングすれば、あなたにはもっと意味があります。ボールとカメラが同じノードに接続されている限り、ボールの相対視界は変化しません。 –

関連する問題