通用3D纹理加载方法

时间:2013-08-21 21:19:46

标签: c# 3d xna fbx

无论如何,使用C#和XNA制作一个可以调用的方法并让它加载3D模型和一个显示它的方法? (换句话说,通用3D Tmodel加载方法和通用3D模型显示方法)。而不是为每个3D模型使用长代码?例如,代替所有长代码都有一个带有加载代码的方法,它带有两个参数(3DModelName,fileLocation),然后有一个方法,其中包含所有3D绘图代码,需要两个参数(3DModelName,Location)。这可能吗?谢谢你提前。

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解你所要求的内容,但以下是相当标准的Xna,它就像你能做到的一样短而简单。

Xna中的文件位置几乎无关紧要。您只需将文件(fbx或x)添加到解决方案资源管理器中的内容项目中,您无需关心代码中的文件位置。

//in the fields section of some class
Model myModel;

//in an initialization or loadContent method of the same class
myModel = LoadMyModel(name, Content);

//load & draw methods that can be called any time as long as they are in scope
Model LoadMyModel(string name, ContentManager content)
{
  return content.Load<Model>(name);
}

void DrawModel(Model myModel, Matrix worldTransform, Matrix view, Matrix projection)
{
   myModel.Draw(worldTransform, view, projection);
}