2013-01-07 159 views
5

我想用3D来达到两个目的。一种是以一种奇特的方式显示我的应用程序的统计数据,另一种是制作一个简单的3D游戏。.NET 3D,从哪里开始?

我在找的是一个最好是开源的库,所以我可以在不使用任何dll的情况下将它包含在C#项目中,但如果没有其他选项,那没什么大不了的。我出售我的应用程序,因此我需要能够将该库用于商业目的。如果我可以在Blender 3D中创建模型并将它们轻松导入到库中,这将是完美的。

回答

5

你有没有考虑过使用MOGRE,这是一个.NET包装OGRE? OGRE是麻省理工学院许可的,对于商业用途来说很好,而MOGRE似乎是LGPL许可的,所以也适用于商业用途(如果你动态链接它,你不必释放源代码)。

A quick search将打开Blender的插件以导出为OGRE的模型格式,因此您应该在那里很好。

您还可以使用XNA,这是由Microsoft为游戏开发编写的托管库。然而,最近(2013年1月),微软似乎将人们从XNA推向Windows开发领域,并回归本地代码。

例如,在上一个链接中,他们认为XNA是用于Xbox Live独​​立游戏和Windows Phone游戏,而DirectX是用于Windows。同样,如果我记得正确的话,那么现在Windows Phone和XBox有2个大的图块,并且没有提到Windows的开发。最后,目前还没有XNA支持被添加到Visual Studio 2012中的迹象(但可能是因为新XNA的新版本正在为新的Xbox开发,这大概是即将推出的)。

MonoGame是XNA的开源实现(很像Mono是.NET的开源实现),但我不确定它的3D功能。

如果这并没有帮助,也有很多关于这个主题的其他问题和解答:

5

C#本身只是一种语言,它没有自己的渲染概念。 “在你的项目中包含3D”意味着该库必须适应你的渲染引擎,如果你有WPF项目或Windows窗体项目,这就不同了。可能有库(尤其是Windows Presentation Foundation),但为什么不使用Microsoft XNA?它运行在一个托管环境中,它允许您完全使用C#或任何其他CLR语言构建游戏/查看器/常规项目。