一个易于使用的3D图形引擎,用于一款简单的游戏
An easy to use 3D graphics engine for a simple game?
市面上有很多3D图像引擎,但我的需求有点受限,我无法自己决定哪一个。
我即将开始制作一个相当简单的( c++ )游戏,它可以真实地模拟宇宙飞船在太阳系中的运动。您可能猜到了,所需的图形是非常基本的:
- 行星只是有纹理的球体;
- 航天器很少或没有运动部件(只有旋转和平移);
- 我可能需要一些灯光/动画效果,使其美观。
Celestia在美学上与我所想的非常接近。
现在,问题是,到目前为止,我只在科学模拟中使用过c++,而且我在图形界面和游戏方面没有任何经验。而且,我不想花几个月的时间学习如何使用一个复杂的引擎。我的问题是:哪个引擎容易学习和使用,同时还能产生漂亮的图像?我在寻找最好的平衡。
据我所知,3个最被推荐的OSS引擎是Ogre3D, irrlight和Crystal Space 3D。通过比较几个youtube视频,Crystal Space的图像看起来最好,但显然使用起来有点乱。他们说,irrlight更容易,但对我来说,它在图形效果方面也很差。Ogre3D看起来不错,但我不知道它对初学者有多友好。
我真的很感谢你对这方面的建议!
我喜欢Panda3D这种简单场景的快速渲染。它同时具有c++和Python API,并提供了许多有用的工具类型(动画,简单的碰撞检测等),这将使编写游戏的任务更容易。
渲染的图像的美学吸引力将在很大程度上是你自己的美术质量的一个因素;引擎只显示你给它的东西,功能列表(着色器,场景管理等)在各种开源引擎之间是相似的。我不认为YouTube视频是一个比较的好方法。
你应该决定你个人喜欢使用什么,因为你花在制作更复杂/更困难的引擎上的时间可能更适合用于完善游戏。
Kerrek是正确的,因为它们都不是真正的容易使用。
Unity 3D在过去几年中变得非常流行,并且是迄今为止我所知道的最容易使用的引擎。
我通常不太相信"游戏引擎",因为它们几乎总是写得很糟糕,很难使用,而且无法扩展。这并不是"编写游戏时需要的所有东西"的恰当比喻。
但是从我所看到的来看,Unity确实做到了。我想这就是它这么受欢迎的原因。
然而,它的API被设计为通过Mono使用,所以当你得到所有支持的语言(我相信Unity推荐使用Javascript,但c#也是一个相当流行的选择),我不认为它直接支持c++。
问题是,你真的需要用c++编写你的游戏吗?但无论你选择哪条路线,都要确保你选择的图像引擎已经在真实游戏中使用过。基本上,任何引擎的试金石(游戏邦注:我并不确定你所列举的引擎是否符合标准)都是用于制作合理的游戏。这就是为什么存在这样的建议。在编写"引擎"时,我们很容易偏离方向,为了编写引擎代码而编写引擎代码,最终得到一个包含各种功能的庞大框架,而这些功能实际上从未在游戏中使用过,所以,当有人试图这样做时,它就会崩溃,表现糟糕,或者很难使用并且缺乏重要的功能。 所以不要使用任何没有真正完整游戏的
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- std::list 可以用于简单的无锁队列吗?
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 用于在C++中绘制生成的迷宫的简单框架
- Boost 无锁队列断言用于简单的赋值和析构函数
- 为什么 gdb 不适用于这个简单的 hello world 程序
- 用于二分搜索的错误简单功能(C++)
- 简单的C 嵌套以用于循环程序,以打印带有星星错误的正方形
- 拥有用于动态机会/概率的简单负载均衡器(在C++中,但语言无关)
- 面向对象架构,用于简单的基于着色器的GL程序
- 专门针对大型类型的常量T&和用于简单类型的T的模板
- STL容器用于简单的图像分割
- 用于简单 2D 自上而下的车辆碰撞物理的算法
- C++,Visual Studio 2012和错误4700,用于简单程序中的类变量
- 兰德函数,生成3个值的概率(用于简单的老虎机)
- QProcess::terminate() 不适用于简单的 Qt 应用程序作为 Windows XP 下的子进程
- 用于简单C++OpenGL程序的制作文件
- Visual Studio 2010中用于简单C++应用程序的内部版本
- 设计模式-用于简单静态数据的C++架构
- QT是C++中用于简单2D游戏的正确框架吗