2012-09-01 70 views
2

我在C#中良好的知识,我与OpenGL的工作,但不是3D专家,所以请给我你的报价和您的最佳实践为我以下的问题:最好的解决办法

我所需的窗口应用程序应该加载一个3d模型(例如房间的3D模型),并使用用户选择的材料模式(例如,特定的墙壁和屋顶的特定部分)模式指定房间的部分。作为模型,我从不同的项目到不同的项目,我认为它可能是最好的创建3DMax模型或3D建模软件,并在应用程序中动态加载它,但我不知道它是否可能,如果是,如何我是否指定了我希望在c#应用程序中对它们进行构图的部分,以及如何对它们进行构图。

请给我提供了一些话题进行搜索,最佳做法是,任何事情,会帮我找出是明显的。

问候

+0

什么是“3型”你的意思是“3D模式”? –

+0

是尼科尔谢谢 –

回答

2

在整个你所描述什么是正确的做法,只是需要在这里指定了位&那里。有几个问题需要回答:

  1. 您是否需要自己创建模型?或者可以从互联网免费下载模型吗?这个问题实际上是:“你需要那么特别的东西,以至于找不到免费的模型”?其中一间提供免费的3D模型的站点是:http://thefree3dmodels.com/
  2. 如果你需要创建的模型 - 你对3dStudio许可证?你被允许使用它的学生?如果不是 - Blender可能是您的应用程序的选择。请注意,您需要一段时间才能熟悉该应用。
  3. 你想使用什么库?你已经提到你熟悉OpenGL。我相信在C#/ .NET应用程序中使用OpenGL的最佳方法是使用OpenTK。您也可以考虑使用XNA或非常薄。 DirectX上的管理包装 - SlimDX

在屏幕上显示模型应该很容易。您将很容易在互联网上找到很多教程,展示如何实现这一目标。做完这些之后,唯一需要考虑的就是改变模型的属性,所以新的纹理(模式)将被应用于模型。您也可以更改其他一些属性,如材质的颜色和属性(如某些库称之为)。

+0

亲爱的@MaciekTalaska和感谢您的时间。 1,2)是的,这些模型真的很具体,模型将由应用程序的所有者创建,并确保他拥有3dStudio许可证。 3)我更喜欢OpenTK。但是,你是否也请告诉我,我应该从3ds输出的文件是什么样的(ext),并在c#app中加载它,以及如何指定可模式区段? –

+1

如果您要求的3D模型格式的类型,它将是最好的使用 - 答案是棘手的。 3ds仍然是一种标准。应该很容易找到一个C#的库,它将从文件加载3ds模型。对于XNA和DirectX,使用Microsoft自己的.X格式可能会很方便。它可能实际上是由我假设的应用程序的所有者驱动的。对于模特,我认为我会推荐坚持使用.3ds,因为它很受欢迎。如果你想自己创建模型加载库,还有其他更简单的格式可供选择(Wavefront的.obj就是其中之一)。 – MaciekTalaska