使用C#(mono)进行(跨平台)3D编程

8
我正在寻找一个3D引擎(用于游戏开发)。我更倾向于使用带有.net或Mono的C#,但如果找不到C#的方案,C++也可以。我想要编写适用于Windows和Linux的程序。iPhone/Android对于其他项目也很有吸引力。
目前我找到了这些引擎(C#):
- Axiom - 这个似乎相当不错,由于它是OGRE3D的C#移植版,因此应该提供基本功能(我对3D还是比较初学者,所以不需要太多功能)。它适用于Windows和Linux :), 不知道Mac如何,它是开源的。 - Unity - 我认为引擎本身是用C++编写的,但我不确定。但你可以用C# :) 和JavaScript编写游戏。适用于Windows和Mac以及其他一些平台,例如iPhone,但没有适用于Linux。而且我不知道你在免费版本中能做多少。它不是开源的。 - XNA,只适用于Windows,但有MONO.XNA,但我认为这个项目已经死亡了。
是否还有其他C#引擎可供使用?Axiom似乎是我需要的。有没有人用过Axiom?
您会选择哪个?
谢谢!
编辑:如果使用引擎/框架构建的程序不需要安装任何运行时程序(除了.net或mono),那就太棒了。据我所知,您需要安装XNA才能运行XNA应用程序。 :(

Mono.Xna非常遗憾地已经停止维护。如果我有相关的技术知识,我会帮助重启它。 - Callum Rogers
5个回答

2

看看OpenTK,它是一个很好的基础OpenGL图形库。文档在这里,还有一个类似的帖子来自GameDev


1

看看Irrlicht Engine

我认为它具备你所要求的一切(开源、跨平台等)。我过去只用它做过一个小项目,但我知道它有非常好的渲染系统。该引擎本身没有关卡编辑器,但你可以购买它作为附加应用程序。

关于Irrlicht/Mono集成,请在这里查看

对于iPhone/Android,我认为你最好选择Unity。正如你所说,它不是开源的,但我发现没有比这个出色的引擎更容易使用的了。


如果你正在寻找 .Net 支持和跨平台功能,那么 IrrlichtNetCP 实际上并不是一个好的选择。我尝试在 Linux 上让它工作,但唯一的“支持”是一个非常简单的 makefile,无法构建。显然,Linux 支持只是事后加入的。 - Zauberin Stardreamer

0

只是一个大胆的建议,但你可以尝试使用HTML5中的canvas元素来完成。你将能够像使用C++/OpenGL一样做同样的事情,但直接在浏览器中使用JavaScript。当然,它的性能不会像使用C++那样好,但可移植性很强;无需安装任何框架,任何拥有浏览器(无论操作系统如何)的人都可以玩。

这里有几个非常好的教程

别忘了,成为最前沿技术的一部分既有好处也有坏处...


如果是这样的话,你最好选择Unity,它非常强大,可以使用Web插件(包括Linux)部署游戏。但是,如果我理解问题正确,浏览器上的游戏不是一个选项。 - Daniel Rodriguez

0

Qt框架完全支持OpenGL。它是C++的。它不完全是一个引擎,但你可以将一些其他引擎插入到你的源代码中。

我是几周到一个月前才开始接触Qt的,之前主要从事C#开发。一开始遇到了一些困难(主要是编译器方面的问题),但除此之外,我已经完全爱上了它。当我想要跨平台时,我尝试了Java和Python等语言,但最终选择了Qt。


0

我曾经是OGRE的忠实粉丝 - 也许值得检查一下MOGRE是否在Mono上受支持。

编辑:

好吧,我已经检查过了,它说不支持:(。大家推荐使用AXIOM代替。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接