2017-01-25 14 views
1

ここは興味深い問題ですが、私はしばらく張り巡らされており、理解できませんでした。私は(速いを使って)シーンキットで遊んでいます。動的物理学のボディを持つオブジェクトをノード階層に入れようとするたびに(つまり、それらを子として別のノードに追加する)、物理学のボディはモデルから分離されます。ボディを静的に設定すると、常に完全に機能します。誰かそんなこと聞いたことがありますか?SceneKitダイナミックボディの物理的問題

編集: 以前は少し不明だった場合は申し訳ありません。問題に関する情報を追加するだけです。

シーン内に親ノードを複数回作成します。初めて作成されると、すべてが完璧です。動的なボディを持つオブジェクトさえも完璧です。たとえば、z軸の下の親ノードの別のインスタンスを作成すると、動的物理学の本文は正確に正しい場所に表示されますが、物理モデルのボディには接続されていません。時々、モデルは見えていますが、物理学の身体の近くでは見えないか、まったく見られません。表示されている場合、メインゲームオブジェクトがダイナミックボディと衝突すると、物理ボディは期待どおりに反応しますが、モデルは即時に消えます。だから、明確にするために、動的物理学の本文は正常に動作していますが、動的な本文が属するインポートされたモデルは動作しません。これは、オブジェクトがノード階層にある場合にのみ当てはまります。

重力の影響を受けないように設定する限り、実際には影響を受けてほしくありません。

ありがとうございます! サム

+0

私はそのシーンの重力があなたのオブジェクトを動かすと思っています、彼らは底に移動していますか? –

+0

これらのノードをどのように作成していますか? – Confused

+0

@Confusedシーン(例:.daeまたは.scn)を作成し、内部からルートノードを取得します。まったく同じように私は他の人がそれをするのを見た。 –

答えて

0

SCNNode.presentationの場所とノード自体の間に違いがあります。物理エンジンがプレゼンテーションを移動します。 SCNNodeのプロパティをrotation、positionなどのように設定すると、ノードとプレゼンテーションが一致するようにリセットする必要があります。必要に応じて手作業でリセットするにはreset *を呼び出すことができます。

マゴは言ったように、おそらくあなたのダイナミックボディを動かす重力があります。 SceneViewの物理エンジンプロパティから重力をオフにすることができます。または、フィジックスボディのプロパティを重力の影響を受けないように設定して、それが修正するかどうか確認できます。

あなたの説明がわかっていれば、物理的なボディがSCNNodeに取り付けられたジオメトリだけでは見えないので、あなたが観察していることを正確にはわかりません。おそらく、あなたが観察していることのもう少し詳細は、「物理学の諸団体がモデルから分離している」という結論につながるでしょうか?

関連する問題