【发布时间】:2016-01-18 21:16:53
【问题描述】:
我使用画布创建了 Android 动态壁纸,但性能似乎很慢。我正在考虑转向 OpenGLES 2.0,但从头开始编码非常困难,因为有很多动画。我想要一个真诚的意见,哪个最适合制作 Unity 或 OpenGLES 2.0 动态壁纸,也给出一个基本概念,即统一是否会减慢壁纸的速度。 提前致谢。
【问题讨论】:
标签: android unity3d opengl-es-2.0 live-wallpaper
我使用画布创建了 Android 动态壁纸,但性能似乎很慢。我正在考虑转向 OpenGLES 2.0,但从头开始编码非常困难,因为有很多动画。我想要一个真诚的意见,哪个最适合制作 Unity 或 OpenGLES 2.0 动态壁纸,也给出一个基本概念,即统一是否会减慢壁纸的速度。 提前致谢。
【问题讨论】:
标签: android unity3d opengl-es-2.0 live-wallpaper
我建议使用 Unity。
Unity 引擎非常适合高度可视化的内容,它的可视化编辑器、良好的资产导入管道和 Asset Store 上的大量内容有助于促进您的开发。在性能方面很难击败它。您可以将其他游戏引擎用于动态壁纸,但这将是一项更加乏味的任务。
使用 Unity 的不利方面是它可能有点重 - 预计最小 APK 大小约为 9 MB。不过,如果您有一个资源密集型动态壁纸,这并不重要。
使之成为可能的是,最近我发布了 uLiveWallpaper - 一个 Unity 资产,可以使用 Unity 5 为 Android 创建动态壁纸。它经过充分测试且可靠,可创建适用于 Android Studio 的项目,包含可帮助您入门的占位符代码。
检查一下: http://forum.unity3d.com/threads/ulivewallpaper-develop-android-live-wallpapers-with-unity-5.375255/
【讨论】:
我认为您无法使用 Unity 创建动态壁纸。至少不容易,Unity 不是为此而设计的。通常,动态壁纸由服务、Settings 活动和定义动态壁纸的某种资源组成。您在 Unity 中创建的所有内容都将被编译 打包神奇地转换为带有启动器的活动。这意味着您的 Unity“游戏”将不在壁纸列表中,而是在应用列表中。此外,默认情况下它会在前面运行,而不是像动态壁纸那样在主屏幕后面运行。
要使其用作壁纸,需要在构建时对 Unity 输出的内容进行大量更改,因为 Unity 不提供任何动态壁纸设置。这似乎是很多工作。另外,使用游戏引擎或OpenGL作为动态壁纸似乎有点overkill。
请记住,您不应尝试创建 >30 fps 的动态壁纸,因为这会很快耗尽 Android 设备的电池电量。如果我是你,我会尝试以
【讨论】: