0

モデルとしてXNAゲームの背景を作成しましたが、内部にさらに多くのモデルが含まれています。例:「地面にはボールが含まれています」。さて、私がやりたいのは、地面の中に入ってボールを取り出し、サイズを変更することです。

これを行う可能性はありますか、それとも地面とボールを別々にインポートしてからサイズを変更する必要がありますか(これが最後のオプションであることが望ましいです)?

4

1 に答える 1

1

ModelMeshモデル内の特定の値をスケーリングしたいということだと思います。Matrixこれは、個々のメッシュに固有の変換を含む配列を使用して実行できます。このようなもの:

//In the class for the background, or the game class if there isn't one
Matrix[] specificTransforms;

//Initialize the array however you want, and assign the specific matrix for the ball to its corresponding index

//Loop through the meshes like usual but add this below your code that multiplies the transform matrices:
if (specificTransforms[(put your iterator variable here)] != null)
{
    (put your BasicEffect here).World *= specificTransforms[put your iterator variable here];
}

これにより、メッシュのワールドマトリックスと、ボールに適用する特定の変換が組み合わされます。

これは最善の方法ではありません。使用しているコードを投稿すると、例を示すのが簡単になります。そうしない限り、これが機能するという保証はありません。

于 2012-04-21T06:35:27.733 に答える