XNA在模型内调整模型大小

XNA在模型内调整模型大小,xna,Xna,我已经创建了一个XNA游戏背景作为一个模型,但是里面包含了更多的模型。例如:“地面包含一个球”。现在,我想做的是进入地面,取回球并调整大小 是否有可能这样做,或者我是否需要分别导入地面和球,然后调整其大小(我希望这是最后一个选项)?我想您的意思是,您希望在模型内缩放特定的ModelMesh。这可以使用矩阵数组来完成,该数组将包含特定于单个网格的变换。大概是这样的: //In the class for the background, or the game class if there isn'

我已经创建了一个XNA游戏背景作为一个模型,但是里面包含了更多的模型。例如:“地面包含一个球”。现在,我想做的是进入地面,取回球并调整大小


是否有可能这样做,或者我是否需要分别导入地面和球,然后调整其大小(我希望这是最后一个选项)?

我想您的意思是,您希望在模型内缩放特定的
ModelMesh
。这可以使用
矩阵
数组来完成,该数组将包含特定于单个网格的变换。大概是这样的:

//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];
}
这将结合网格的世界矩阵和要应用于球的特定变换

这不是最好的方法,如果你发布你正在使用的代码,给你一个例子会更容易。除非你这样做,否则无法保证这会起作用