2

私は XNA で farseer 3.3 を試しています。私の人生では、DebugViewXNAを機能させることはできません。

そこにいくつかの体を持つ World オブジェクトがあります。ボディはポリゴン モデルに固定されているため、これらを描画するには debugviewXNA クラスが必要ですが、その方法が見つかりません。頂点を渡す必要があると思いますが、 World オブジェクトからこれらにアクセスする方法が見つからず、どのメソッドを正確に呼び出すべきかわかりません。farseer 3.3 で私が見つけた問題の 1 つは、サポートが「例を見る」ことに限定されているように見えることですが、回答が表示されないようです。Google は、このように感じているのは私だけではないと教えてくれます。

より経験豊富な方からの助けをいただければ幸いです。

前もって感謝します

4

1 に答える 1

2

DebugViewXNA に頂点を渡す必要はありません。ワールド内のボディにアタッチされたフィクスチャからその情報を取得します。これが私がそれを機能させた方法です:

physicsWorld = new World(GRAVITY);
physicsDebug = new DebugViewXNA(physicsWorld);
physicsDebug.LoadContent(this.GraphicsDevice, this.Content);
physicsDebug.AppendFlags(DebugViewFlags.Shape);
physicsDebug.AppendFlags(DebugViewFlags.PolygonPoints);

そして後で描画します:

Matrix proj = Matrix.CreateOrthographicOffCenter(0f, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0f, 0f, 1f);
Matrix view = camera.GetViewMatrix(Vector2.One);
physicsDebug.RenderDebugData(ref proj, ref view);
于 2011-07-22T17:25:24.327 に答える