OpenGL vs Unity Android 动态壁纸

OpenGL vs Unity Android live wallpaper

我使用 canvas 创建了 Android 动态壁纸,但它的性能似乎很慢。我正在考虑转向 OpenGLES 2.0,但是从头开始编写代码非常困难,因为有很多动画。我想要一个真诚的意见,Unity 或 OpenGLES 2.0 哪个最适合制作动态壁纸,同时给出一个基本概念,Unity 是否会减慢壁纸的速度。 提前致谢。

我认为您无法使用 Unity 创建动态壁纸。至少不容易,Unity 不是为此而设计的。通常动态壁纸由服务、设置 activity 和定义动态壁纸的某种资源组成。您在 Unity 中创建的所有内容都将 编译 打包 神奇地转换为带有启动器的 activity。这意味着您的 Unity "game" 不会出现在壁纸列表中,而是出现在应用程序列表中。此外,默认情况下它会 运行 在前面,而不是像动态壁纸那样在主屏幕的后面。

要使其用作墙纸,需要在构建时对 Unity 输出的内容进行大量更改,因为 Unity 不提供任何动态墙纸设置。这似乎是很多工作。另外,使用游戏引擎或OpenGL做动态壁纸似乎有点overkill

请记住,您不应尝试创建 >30 fps 的动态壁纸,因为这会很快耗尽 Android 设备的电池。如果我是你,我会尝试以 <30 fps 使墙纸看起来不错。尽量不要使用快速动画、预渲染 3D 内容并优化您已有的内容。

我建议使用 Unity。

Unity 引擎非常适合 highly-visual 东西,它的可视化编辑器、良好的资产导入管道和 Asset Store 上的大量东西将有助于促进您的开发。很难击败它 performance-wise。您可以使用其他游戏引擎来制作动态壁纸,但这将是一项繁琐得多的任务。

使用 Unity 的缺点是它可能有点重 - 预计它的最小 APK 大小约为 9 MB 如果您有 resource-heavy 动态壁纸,这并不重要,不过

最近我发布了 uLiveWallpaper - 一种 Unity 资产,可以使用 Unity 5 为 Android 创建动态壁纸。它 well-tested 可靠,为 Android Studio 创建项目,完成占位符代码以帮助您入门。

查看: http://forum.unity3d.com/threads/ulivewallpaper-develop-android-live-wallpapers-with-unity-5.375255/