此页面介绍如何使用 Unity 作为库功能将 Unity 运行时库集成到 Android 应用中。
您可以使用此功能将 Unity 提供的功能(如 3D/2D 实时渲染、AR增强现实 更多信息
请参见 术语表 体验、3D 模型交互或 2D 迷你游戏)添加到您的应用中。Unity 运行时库公开控制,以便管理何时以及如何加载、激活和卸载应用中的内容。
重要:在您的项目中引入 Unity 作为库可能需要您调整 原生 和 托管 插件在 Unity 之外创建的一组代码,可在 Unity 中创建功能。Unity 中可以使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(平台特定的原生代码库)。更多信息
请参见 术语表 以便它们在 Android 上正常工作。对 Gradle一种 Android 构建系统,可自动执行多个构建过程。这种自动化意味着许多常见的构建错误不太可能发生。 更多信息
请参见 术语表 清单进行更改的插件需要使用 在原生 iOS/Android 应用中使用 Unity 作为库 中概述的 Gradle 更改。
从 Unity 构建 Gradle 项目时,您无需执行任何其他操作。
Unity 生成的每个 Android Gradle 项目 都有以下结构
要将 Unity 集成到另一个 Android Gradle 项目中,您必须通过 settings.gradle 文件将生成的 Android Gradle 项目的 unityLibrary 模块包含在您的 Android Unity 项目中。
此 存储库 包含演示如何将 Unity 集成到 Android 应用中的示例项目和插件,以及更多文档。
要控制 Player,请传递一个 Intent 以启动 Unity 活动,并在需要时扩展它。有关更多信息,请参阅 Android 开发者文档关于 Intent 和 Intent 过滤器 的内容。您还可以使用 UnityPlayer Java API。
IUnityPlayerLifecycleEvents 提供了一种与 Unity Player 的两个重要生命周期事件进行交互的方式
Application.Unload
或 UnityPlayer.unload()
卸载 Unity Player 时,应用程序会调用 IUnityPlayerLifecycleEvents.onUnityPlayerUnloaded
。这会将 Unity Player 置于暂停状态,在该状态下它会卸载所有 场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,基本上就是设计和构建游戏的各个部分。 更多信息IUnityPlayerLifecycleEvents.onUnityPlayerQuitted
。在该调用后,运行 Unity 的进程将结束。您可以将 IUnityPlayerLifecycleEvents
的实例传递给 UnityPlayer 构造函数,或覆盖 UnityPlayer
和 UnityPlayerActivity
子类的中方法。
Unity 不控制运行时生命周期,因此 Unity 作为库可能不适用于所有可能的用例。已知限制包括