【问题标题】:Porting Android SurfaceView Game to Unity Engine on Android将 Android SurfaceView 游戏移植到 Android 上的 Unity 引擎
【发布时间】:2017-09-06 23:30:22
【问题描述】:

我在 Android 上使用 SurfaceView 开发了一个已发布的 2D 益智游戏(需要在每帧中绘制 400 个小图像)。由于某些平板电脑和手机的性能问题,我不得不寻找其他替代品。看起来 Unity 是最好的选择。在此之前,我有几个问题。

  1. Unity 能否在大多数 Android 设备上提供更快且一致的性能? (比如每帧绘制 400 个项目)

  2. 我可以将 Android 布局和活动与 Unity 混合使用吗 活动。 (我的意思是我可以只替换游戏部分吗? 统一保持游戏的现有实现使用 android 布局/片段/活动)

  3. 我可以从 Unity 调用 google play 应用内购买吗 游戏画布?

【问题讨论】:

    标签: android unity3d unity5 surfaceview


    【解决方案1】:

    1。如果图像非常小,那么它可能可以。使用ImageRawImage 组件来显示每个图像。如果性能仍然很差,您可以使用 GPU 实例化,它最近在 Unity 中变得更易于使用。

    2。您可以编写一个 Java 插件并从 Unity 加载它,或者您甚至可以用 Java 编写带有布局的 Activity,然后从中控制您的 Unity 程序。有关更多信息,请参阅this 帖子。

    即使有可能,不要这样做。仅在必要时编写 Java 代码,否则您最终将获得仅适用于 Android 的游戏。使用 Unity 的目的是制作适用于大多数设备的游戏。将所有代码移植到 C#。这就是我会做的。

    3。是的,您可以通过 Prime31 插件在 Unity 中使用 google play 应用内购买,或者您可以使用易于使用且完全不需要插件的 Unity IAP。

    【讨论】:

    • 感谢您提供非常有用的答案。在我做任何事情之前只想更多地关注问题 1。由于 android canvas 的性能问题,我正在尝试移植到 Unity。如果性能不好,没有意义移植。我的游戏是一个拼图游戏,下载一张图片然后分成 400 步。所以你认为这可以在 Unity 中更好地处理,因为我只加载 1 张图像。
    • 试一试。只需尝试显示 400 个小图像,看看您是否对帧率感到满意。如果不使用我提到的 GPU 实例化。您可以使用 GPU 实例化数千个对象。 GPU 实例化的一个缺点是移动设备必须运行 OpenGL-ES 3 及更高版本。因此,GPU 实例化不适用于运行 OpenGL-ES 2 的旧设备。
    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多