Urho3D/Urhosharpのテストシーンには2つのボックスが含まれています(スクリーンショット参照)。 両方とも、赤と緑のボックスにはRigidBody
とCollisionShape
を追加しました。PhysicsWorld/CollisionShapeをデバッグレンダラで視覚化するには?
赤いボックスの形状は、球と青いボックスのためのものです。私は追加することで、デバッグの可視化を有効にしている:
app.Engine.SubscribeToPostRenderUpdate(args => {
app.Renderer.DrawDebugGeometry(false);
});
しかし、これは衝突形状が、オブジェクト(緑色の線)の唯一のワイヤーフレームをレンダリングしていません。
var floorNode = app.RootNode.CreateChild("Floor");
floorNode.Position = Vector3.Zero;
floorNode.Scale = new Vector3(10, 1, 10);
var floorComp = floorNode.CreateComponent<Box>();
floorComp.SetMaterial(Material.FromColor(new Color(0, 0, 1, 0.5f)));
var rigidBody = floorNode.CreateComponent<RigidBody>();
rigidBody.Mass = 0;
var collNode = floorNode.CreateComponent<CollisionShape>();
collNode.SetBox(Vector3.One, Vector3.Zero, Quaternion.Identity);
と赤のいずれかの:
は、ここで青ノード用のコードです
var boxNode = app.RootNode.CreateChild("Box");
boxNode.SetScale(2f);
var boxComp = boxNode.CreateComponent<Box>();
boxComp.Color = Color.Red;
boxComp.SetMaterial(Material.FromColor(Color.Red));
var rigidBody = boxNode.CreateComponent<RigidBody>();
rigidBody.Mass = 0f;
var collNode = boxNode.CreateComponent<CollisionShape>();
collNode.SetBox(Vector3.One, Vector3.Zero, Quaternion.Identity);
collNode.SetSphere(3f, Vector3.Zero, Quaternion.Identity);
衝突作品が、それはそれが容易になりますので、私は物理学の世界を見てみたいです実験する。