(跨平台)使用 C# 进行 3D 编程(单声道)
我正在寻找 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 应用程序。 :(
I'm looking for a 3d engine (for games). I prefer C# with .net or Mono but C++ would also do it if I don't find anything for C#. I want to code programs for Windows and Linux. iPhone/Android would also be interesting for other projects.
So far I found these engines (C#):
- Axiom - This one seems pretty fair and since it's a C# port of OGRE3D it should offer basic function (I'm quite a beginner in 3D so I don't need much functions). It's Windows and Linux :), don't know about Mac, It's Open Source
- Unity - I think the engine itself is written in C++, but I'm not sure. But you can write the game in C# :) and JavaScript. It's Windows and Mac and some other platforms like iPhone, ... but no Linux. And I don't know how much you can do in the free version. It's not open source
- XNA, it's for Windows only but there is MONO.XNA but I think this project is dead.
Are there some other engines I could use in C#?
Axiom seems to be what I need. Someone got experience with Axiom?
Which one would you choose?
Thanks!
Edit:
It would be cool if the program built with the engine/framework doesn't require any runtime program installed (except .net or mono)
As far as I know you need to install XNA to run XNA applications. :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
查看 OpenTK 以获得良好的基线 OpenGL 图形库。文档位于此处以及来自 GameDev。
Look at OpenTK for a good baseline OpenGL graphics library. Documentation is here as well as a similar post from GameDev.
查看 Irrlicht 引擎。
我认为它拥有您所要求的一切(开源、独立于平台等)。我过去只将它用于一个小项目,但我知道它有一个非常好的渲染器系统。该引擎本身没有关卡编辑器,但您可以将其作为附加应用程序购买。
对于 Irrlicht/Mono 集成,查看此处。
对于 iPhone/Android,我认为最好的选择是使用 Unity。正如您所说,它不是开源的,但我发现没有什么比这个壮观的引擎更容易了。
Check out Irrlicht Engine.
I think it has everything you are asking for (Opensource, platform independent, etc. ). I only used it for a small project in the past, but I know it has a very good renderer system. The engine doesn't have a Level Editor itself but you buy it as an add-on application.
For Irrlicht/Mono integration, look here.
For iPhone/Android, I think your best bet is going with Unity. As you stated, it isn't open source, but I have found nothing easier than this spectacular engine.
只是一个疯狂的建议,但你可以尝试使用 html5 中的 canvas-element 来做到这一点。您将能够执行与使用 C++/OpenGL 相同的操作,但直接在浏览器中使用 JavaScript。当然,你无法让它像使用 C++ 那样执行得那么好,但可移植性会很好;无需安装框架,任何拥有浏览器(无论操作系统如何)的人都可以玩它。
这里有一些很棒的教程,
不要忘记,你会得到好的和坏的部分前沿...
Just a wild suggestion, but you could try to do it using the canvas-element in html5. You'll be able to do the same things as you can using C++/OpenGL, but using JavaScript directly in the browser. Of course you wont be able to get it to perform quite as well as you could using C++, but portability will be great; no frameworks to install and anyone with a browser (regardless of OS) can play it.
Here's a couple of great tutorials
Dont forget that you'll get the good and bad parts of being bleeding edge...
Qt 框架完全支持 OpenGL。这是C++。它不完全是一个引擎,但您可以将一些其他引擎插入您的源中。
几周到一个月前,我还是 Qt 的新手,也有深厚的 C# 背景。首先有一些障碍(主要是基于编译器的令人头疼的问题),但除此之外我已经完全爱上了它。当我想要跨平台时,我尝试过 Java 和 Python 之类的东西,但 Qt 是我的选择。
The Qt framework fully supports OpenGL. It's C++. It's not exactly an engine, but you may be able to plug in some other engines into your source.
I am new to Qt as of a few weeks to a month ago, also coming from a heavy C# background. There were some hurdles are first (mostly compiler-based head scratchers) but beyond that I have completely fallen in love with it. I tried things like Java and Python when I was looking to go cross-platform, but Qt is where I settled.
我曾经是 OGRE 的忠实粉丝 - 也许值得检查一下 Mono 是否支持 MOGRE。
编辑:
嗯,我查了一下,它说它不是:(。大家推荐 AXIOM。
I was once a great fan of OGRE - maybe it's worthwhile to check if MOGRE is supported on Mono.
EDIT:
Well, I checked, and it says that it isn't :( . Guys are recommending AXIOM instead.