goingBeyond XNA チュートリアルが提供するこのメソッドについては、ここにあります。すべての変換をメッシュに適用した後、モデルが描画されている新しい位置を取得できれば非常に便利です。必要に応じてメソッドを少し編集しました。これを行う方法を知っている人はいますか?
public void DrawModel( Camera camera )
{
Matrix scaleY = Matrix.CreateScale(new Vector3(1, 2, 1));
Matrix temp = Matrix.CreateScale(100f) * scaleY * rotationMatrix * translationMatrix * Matrix.CreateRotationY(MathHelper.Pi / 6) * translationMatrix2;
Matrix[] modelTransforms = new Matrix[model.Bones.Count];
model.CopyAbsoluteBoneTransformsTo(modelTransforms);
if (camera.getDistanceFromPlayer(position+position1) > 3000) return;
foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.World = modelTransforms[mesh.ParentBone.Index] * temp * worldMatrix;
effect.View = camera.viewMatrix;
effect.Projection = camera.projectionMatrix;
}
mesh.Draw();
}
}