【问题标题】:Is opengl necessary for mobile game development?手游开发需要opengl吗?
【发布时间】:2012-02-02 02:39:30
【问题描述】:

我目前正在为 android 和 iphone 开发游戏,我想知道我应该使用需要大量图像序列的逐帧动画进行开发还是使用 Opengl 来创建动画?

对于图像处理的游戏开发,更推荐什么?

对于 iphone,我应该从提供的各种框架(Cocas2D、Core Animation、Core Image、Quartz 等)中开始什么

【问题讨论】:

  • 你能解释一下这里的两个选项吗?您可以使用 OpenGL 渲染不同的图像。所以我不明白这是一个选择。此外,您的第二个问题是一个单独的问题(不是建设性问题,因为它只是一个讨论邀请)。

标签: android iphone mobile opengl-es


【解决方案1】:

我将我的答案分为 3 个部分:iOS、Android 和 Windows Phone,因为它们是最常见的移动操作系统。

iOS

openGL 不是必需的,除非你想制作高性能游戏。 这意味着,您可以通过软件(cpu)绘制简单的 2d 东西,但您将无法绘制 令人敬畏的 3d 世界(自我射击游戏、3d 赛车游戏等)或效果过于复杂的 2d 游戏。在较新的 iOS 版本(不记得实际版本)上,2d ui 的东西也是硬件加速的。要使用 opengl,您应该使用您提到的第三方库。

安卓

这里与 iOS 应用基本相同 - 您不需要使用 opengl,但如果使用,您在复杂性、图形和灵活性方面确实有更多可能性。

在 Android 3.0 (API 11) 之前,您甚至可以为 2d 画布图形启用硬件加速。

Windows 手机 7

这里你肯定不会用opengl。什么? wp7中没有很棒的游戏? 呵呵,当然,它的名字是 Direct3D 9。它是开源 opengl 的 MS 挂件。 简而言之,Direct3d 更易于使用,具有更多的功能,并且大部分证明了更好的性能。所有这一切,即使是direct3d 9 也有点过时,当前版本是11.1,真是太棒了。我既不是 wp7 也不是 windows 迷,但 direct3d 只是获得了更简单的 api。 此外,Visual Studio 为开发游戏 (XNA+VS) 提供了最佳集成。

杂项

我在所有三个平台上都进行了编程,主要是在 Android 上,因此说: Android 上的游戏开发在这三个平台上都是最困难的,因为没有 IDE 的直接支持,而且很快就会变得很尴尬。我建议使用 3rd 方库,例如 LibGDX,我这样做了。 然后是 iOS,它几乎不提供 XCode 对游戏开发的支持。 最后是 Windows Phone 7,其中 Visual Studio 提供了完整的游戏开发支持。

结论

最后说:对于简单的图像处理(旋转、平移),您不需要 openGL。对于复杂的转换,即使它们是 2d 的,你真的应该使用 openGL。就个人而言,我永远不会在没有硬件加速的情况下制作游戏——因为性能和较小的灵活性。你还不能说未来会发生什么!

【讨论】:

  • “简而言之,Direct3d 更易于使用,具有更多的功能,并且大部分证明了更好的性能”。该声明是错误的/值得商榷的和一个人的观点。如果你愿意,我可以指出相反的证据。
【解决方案2】:

逐帧动画是我在编写的 iPhone 游戏中使用的。只要您没有太多图像(导致大量内存使用和较长的加载时间),这种方法就可以了。

但如果您有能力制作资产,使用 3D 动画也可以。

所以你的问题的真正答案是,不,没有必要使用 3D(我假设这就是你所说的 OpenGL)。但这可能是更好的选择,具体取决于您的需求。

在 iPhone 上,我推荐 Cocos2D 作为框架,因为它有很多不错的特性,而且非常稳定。这并不是说其他​​人不好。只是Cocos好。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多