通用 3D 纹理加载方法
Posted
技术标签:
【中文标题】通用 3D 纹理加载方法【英文标题】:Generic 3D texture loading method 【发布时间】:2013-08-24 10:38:43 【问题描述】:有没有使用 C# 和 XNA 来创建一个可以调用的方法并让它加载一个 3D 模型并显示它? (换句话说,一个通用的 3D Tmodel 加载方法和一个通用的 3D 模型显示方法)。而不是为每个 3D 模型使用长代码?例如,不是所有长代码都有一个带有加载代码的方法,该方法需要两个参数(3DModelName,fileLocation),然后有一个包含所有 3D 绘图代码的方法,它需要两个参数(3DModelName,位置)。这可能吗?提前致谢。
【问题讨论】:
是的,抱歉,我将其更改为模型。 3D 模型 【参考方案1】:不确定我是否完全理解您的要求,但以下是非常标准的 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);
【讨论】:
以上是关于通用 3D 纹理加载方法的主要内容,如果未能解决你的问题,请参考以下文章
ARKit学习之SCNGeometrySource加顶点法线纹理及索引时贴图不正确
游戏开发框架自制Unity通用游戏框架UnityXFramework,详细教程(Unity3D技能树 | tolua | 框架 | 热更新)
游戏开发框架自制Unity通用游戏框架UnityXFramework,详细教程(Unity3D技能树 | tolua | 框架 | 热更新)