2011-12-18 8 views
1

ロードされたTexture2Dに従って、FarseerでXNAのボディにアタッチするための衝突頂点を作成します。C#XNA Farseer - テクスチャからシェイプを作成する

注意しなければならないのは、まず。私はFarseerを衝突以外のものに使用していないということです。レンダリングと他のすべてのゲームコードは、私自身のエンジンを使用して行われます。 Farseerは、バックグラウンドの物理シミュレータとして使用されています(そして、衝突が発生したときだけ私に教えてくれるでしょう。

ここでは、私がファーサーの100%新人であることを指摘しておきます。これまでは使用していませんでした。

したがって、私がBayazitDecomposer.ConvexPartition(verts)を使ってリストを作成した場合、このデータをTexture2Dオブジェクトと一緒に保存する必要があります。私は私の衝突可能な俳優を作成するとすぐにリストオブジェクトを作成する?または私は何か間違っているのですか?

また、http://farseerphysics.codeplex.com/documentationの例では、Vertices.Scale()で頂点を拡大/縮小します。ピクセル空間にすべてのFarseerボディを保持する場合、これを行う必要がありますか?

ありがとうございます。

答えて

1

したがって、私がBayazitDecomposer.ConvexPartition(verts)を使用してリストを作成した場合、このデータをTexture2Dオブジェクトと一緒に保存する必要があります。私は私の衝突可能な俳優を作成するとすぐにリストオブジェクトを作成する?または私は何か間違っているのですか?

BodyFactoryを使用してvertsのリストからBodyクラスのインスタンスを作成します。私はあなたが持っているそれぞれの俳優のためにこれを行うことをお勧めします。ただし、本体を再利用することで、プロセッサーのパワーを節約することができます。したがって、アクタが死んでいる場合は、そのボディをキューに追加し、それを作成された新しいアクタにスナップします。

さらに、http://farseerphysics.codeplex.com/documentationの例では、それはVertices.Scale(で頂点をスケール)私はピクセル空間にすべての私のFarseer体を維持する場合は...、私はこれを行うために必要なのですか?

いいえ。しかし、これは、ファーサーが関与している限り、ピクセルがメーターであることを意味します。 Torque for Radius * for Forceの式は、半径に依存するものはすべて期待どおりに動作しないと考えています。私は、メイズが実際にゲームのメーターと同じであることを提案します。そのわずかな余分な部分。

関連する問題