public StaticMesh(Model model, Vector3 v3Position) { Space space = EngineServices.GetSystem <IGameSystems>().PhysicsSpace; Vector3[] aVertices; int[] aIndices; m_model = model; m_v3Position = v3Position; TriangleMesh.GetVerticesAndIndicesFromModel(m_model, out aVertices, out aIndices); m_staticMesh = new BEPUphysics.Collidables.StaticMesh(aVertices, aIndices, new AffineTransform(Matrix3X3.CreateFromAxisAngle(Vector3.Up, MathHelper.Pi), m_v3Position)); space.Add(m_staticMesh); }
public static BEPUphysics.Collidables.StaticMesh ModelToStaticMesh(Model model, BEPUphysics.MathExtensions.AffineTransform worldTransform) { Vector3[] vertices; int[] indices; BEPUphysics.DataStructures.TriangleMesh.GetVerticesAndIndicesFromModel(model, out vertices, out indices); var mesh = new BEPUphysics.Collidables.StaticMesh(vertices, indices, worldTransform); return mesh; }