那里有大量的3D图形引擎列表,但我的需求有点限制,我不能自己决定。
我即将开始研究一种相当简单的( C ++ )游戏,该游戏真实地模拟太空系统中航天器的运动。正如您可能猜到的,所需的图形是非常基本的:
Celestia在美学上非常接近我的想法。
现在,问题是到目前为止我只使用C ++进行科学模拟,而且我在图形界面和游戏方面总体上没有任何经验。 另外,我不想花费数月时间学习如何使用复杂的引擎。
我的问题是:哪个引擎易于学习和使用,同时仍能生成漂亮的图形?我正在寻找最佳平衡。
据我所知,3个最受欢迎的OSS引擎是Ogre3D,Irrlicht和Crystal Space 3D。通过比较几个YouTube视频,Crystal Space的图形看起来最好,但使用起来显然有些混乱。他们说Irrlicht更容易,但对我来说,它在图形结果方面也看起来很差。 Ogre3D看起来不错,但我不知道它对初学者友好有多少。
我真的很感激这方面的建议!
答案 0 :(得分:4)
我喜欢Panda3D这种简单场景的快速渲染。它同时具有C ++和Python API,并提供了许多有用的实用程序类型(动画,简单的碰撞检测等),这使得编写游戏的任务变得更加容易。
所呈现的图形的美学吸引力将在很大程度上影响您自己的艺术品质;引擎只显示你给它的内容,各种开源引擎之间的功能列表(着色器,场景管理等)类似。我不认为YouTube视频是比较好的方式。
你应该决定你个人喜欢做什么,因为你花费时间制作一个更复杂/更困难的引擎你可能会更好地花在改进游戏上。
Kerrek是正确的,因为它们都不是真正的 easy 。
答案 1 :(得分:2)
Unity 3D在过去几年中变得非常受欢迎,并且是迄今为止我所知道的最容易使用的引擎。
我通常不太相信“游戏引擎”,因为它们几乎总是写得很糟糕,难以使用,也无法扩展。对于“编写游戏时所需的所有内容”,这并不是一个非常好的比喻。
但是从我所看到的情况来看,Unity实际上已经取消了它。我猜这就是为什么它如此受欢迎。
但是,它的API设计为通过Mono使用,所以当你获得所有支持的语言时(我相信Unity建议使用Javascript,但C#也是一个相当受欢迎的选择),我不认为它直接支持C ++
那么问题是,真的是否需要用C ++编写游戏?
但无论您走哪条路线,请确保您选择的图形引擎实际上已用于真实游戏。基本上,任何引擎的试金石(以及我完全不确定你所列出的任何一个)的试验结果是,它可用于制作合理的游戏。这就是this等建议存在的原因。在编写“引擎”时,为了自己的利益,编写引擎代码非常容易,最终会得到一个庞大的杂项功能框架,而这个功能实际上从未在游戏中使用 ,所以,当有人试图这样做时,它就会分崩离析,表现糟糕,或难以使用,缺乏重要的功能。
所以刮开任何引擎,它没有构建实际的完整游戏。不是图形演示,而是游戏。无论是大型商业AAA游戏,还是独立游戏或某些人为了熟悉引擎而做出的爱好项目,重要的是有人用它做了一个游戏,并且游戏看起来很有说服力作为展示发动机。