在编码WebGL中的简单3D应用程序后,我决定使用C 和游戏引擎开始认真的3D编程体验。
思考可能遇到的所有困难,我想选择具有最有效,最全面的碰撞检测解决方案提供的游戏引擎。它不必免费,我准备遇到复杂的语法。
思考所有流行的游戏引擎替代方案(Panda3D,Irrlicht,Unity,其他)您会在碰撞检测方面比较这些引擎。
要考虑的一件事是您是否只是在寻找强大的碰撞检测,或者您是否正在寻找碰撞检测以及刚体的身体物理模拟(尽管好的物理SIM无论如何检测)。
在许多情况下,您会发现游戏引擎使用另一种物理中间件,而不是尝试从头开始构建自己的物理,因此您的问题的一部分可能确实是关于比较不同的物理系统而不是游戏引擎。
例如,Unity3D使用Nvidia Physx,非常棒。Panda3D使用的子弹也很棒,但也可以使用ODE或PHYSX以及可能其他一些系统。不久前,我使用了使用牛顿的食人魔,而且也很棒。
然后是Havok,它在AAA冠军中非常受欢迎(Bioshock,Elder Scrolls,Mortal Kombat,Heavenly Sword,Resident Evil,Twisted Metal,Tony Hawk ...)。除了集成到其他引擎中,Havok去年还收购了The Trinigy及其视觉引擎,因此这可能是另一个有趣的地方。
对我来说,这里有三种3D游戏引擎:
- 最好,最昂贵的:虚幻引擎,Unity3D
- 很好,但是便宜(甚至是免费的):shiva3d,ogre
- 其他人
如果您有GL编程的经验,那么这些引擎都不会遇到麻烦。我建议您虚幻或Unity3D,因为在该游戏引擎中为您完成了很多工作,而作为程序员无需考虑低级编程,您只需编写代码并管理您的3D世界。