将Android SurfaceView游戏移植到Android上的Unity引擎

将Android SurfaceView游戏移植到Android上的Unity引擎,android,unity3d,unity5,surfaceview,Android,Unity3d,Unity5,Surfaceview,我在使用SurfaceView开发的Android上发布了一个2D益智游戏(每帧需要绘制400个小图像)。由于某些平板电脑和手机的性能问题,我不得不考虑其他替代方案。看来团结是最好的选择。在此之前,我有几个问题 unity能否在大多数Android设备上提供更快、一致的性能?(如图纸每帧400个项目) 我可以将Android布局和活动与Unity混合使用吗 活动。(我在这里的意思是,我可以替换游戏角色吗 与unity保持现有的游戏实现使用 android布局/片段/活动) 我可以从Unity呼叫

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

  • unity能否在大多数Android设备上提供更快、一致的性能?(如图纸每帧400个项目)

  • 我可以将Android布局和活动与Unity混合使用吗 活动。(我在这里的意思是,我可以替换游戏角色吗 与unity保持现有的游戏实现使用 android布局/片段/活动)

  • 我可以从Unity呼叫google play应用内购买吗 游戏画布


  • 1。如果图像非常小,则它可能能够。使用或组件显示每个图像。如果性能仍然很差,您可以使用GPU实例,这在Unity中最近变得更容易使用

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

    即使有可能,也不要做。只有在必要时才编写Java代码,否则,您将得到一个只在Android上运行的游戏。使用Unity的目的是制作一款适用于大多数设备的游戏。将所有代码移植到C#。这就是我要做的


    3。是的,你可以在Unity中使用google play应用程序内购买Prime31插件,或者你可以使用Unity IAP,它易于使用,并且不需要任何插件。

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

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

    即使有可能,也不要做。只有在必要时才编写Java代码,否则,您将得到一个只在Android上运行的游戏。使用Unity的目的是制作一款适用于大多数设备的游戏。将所有代码移植到C#。这就是我要做的


    3。是的,你可以在Unity中使用google play应用程序内购买Prime31插件,也可以使用Unity IAP,它使用起来很简单,不需要任何插件。

    谢谢你提供了非常有用的答案。在我做任何事情之前,我只想更多地关注问题1。由于android canvas的性能问题,我正在尝试移植到Unity。如果性能不好,则无需移植。我的游戏是一个拼图游戏,下载一张图片,然后分成400步。所以你认为这在Unity中可以处理得更好吗?因为我只加载一张图片。试试看。只要试着显示400个小图像,看看你对帧率是否满意。如果不使用GPU实例,就像我提到的。您可以使用GPU实例化数千个对象。GPU实例的一个缺点是移动设备必须运行OpenGL ES 3及以上版本。因此,GPU实例将无法在运行OpenGL ES 2的旧设备上运行。感谢您提供非常有用的答案。在我做任何事情之前,我只想更多地关注问题1。由于android canvas的性能问题,我正在尝试移植到Unity。如果性能不好,则无需移植。我的游戏是一个拼图游戏,下载一张图片,然后分成400步。所以你认为这在Unity中可以处理得更好吗?因为我只加载一张图片。试试看。只要试着显示400个小图像,看看你对帧率是否满意。如果不使用GPU实例,就像我提到的。您可以使用GPU实例化数千个对象。GPU实例的一个缺点是移动设备必须运行OpenGL ES 3及以上版本。因此,GPU实例将无法在运行OpenGL ES 2的旧设备上工作。