我使用canvas创建了Android动态壁纸,但它的性能似乎相当慢。我正在考虑转向OpenGLES 2.0,但是从头开始编码非常困难,因为有很多动画。我想要一个真诚的意见,哪一个是最好的制作动态壁纸Unity或OpenGLES 2.0,也给出一个基本的想法是否统一减慢壁纸。 提前谢谢。
答案 0 :(得分:3)
我建议使用Unity。
Unity引擎非常适合高度可视化的东西,它具有可视化编辑器,良好的资产导入管道和资产商店的大量内容,有助于促进您的开发。在性能方面击败它是非常困难的。还有其他游戏引擎可用于动态壁纸,但这将是一项更乏味的任务。
使用Unity的不利之处在于它可能有点沉重 - 它预计会有一个大小约为9 MB的最小APK如果你有一个资源丰富的动态壁纸,这并不重要。
最近我发布了 uLiveWallpaper - 一种Unity资产,可以使用Unity 5为Android创建动态壁纸。它经过了充分的测试和可靠,创造了可能性适用于Android Studio的项目,包含占位符代码,可帮助您入门。
检查出来: http://forum.unity3d.com/threads/ulivewallpaper-develop-android-live-wallpapers-with-unity-5.375255/
答案 1 :(得分:2)
我不认为您可以使用Unity创建动态壁纸。至少不容易,Unity不打算这样做。通常,动态壁纸包含服务,设置活动以及定义动态壁纸的某种资源。您在Unity中创建的所有内容都将编译 打包神奇地转换为带有启动器的活动。这意味着你的Unity"游戏"不会出现在壁纸列表中,而是出现在应用列表中。此外,默认情况下,它将在前面运行,而不是像主动壁纸那样在主屏幕的后面运行。
要使其作为壁纸工作,需要大量改变Unity在构建时输出的内容,因为Unity不提供任何动态壁纸设置。这似乎很多工作。此外,使用游戏引擎或OpenGL作为动态壁纸似乎有点overkill。
请注意,您不应该尝试创建一个> 30 fps的动态壁纸,因为这会让Android设备的电池消耗得非常快。如果我是你,我会尝试使用< 30 fps使壁纸看起来很好。尽量不要使用快速动画,预渲染3D内容并优化已有的内容。