Flutter 内嵌 unity3d for android

前言:

最近刚整完 unity3d hybridCLR 更新代码和资源 ,我们 趁热打铁 将 Unity3D 嵌入 Flutter 应用中 。实现在 Flutter 使用 Unity3D, 可以做 小游戏 大游戏; 之前都是 内嵌 Webview 来实现的。虽然 CocosCreator 做出来的效果也不错,但是和 Unity3D 来比 花样还是少很多 。那么我们今天的姿势就是 将 Unity3D 嵌入现有 Flutter 项目中,大致效果:

flutter 内嵌 unity3d

1.将 unity3d 项目拷贝到 Flutter

现有 Flutter 项目 引入 最新的 flutter_unity_widget 插件

复制代码
flutter_unity_widget: ^2022.2.1

Flutter 项目根目录 新建一个 unity 文件夹, 把 unity3d 项目拷贝进去, 之所以这么操作:是因为 下一步: unity3d 导出 Android 工程的时候,它会在按照目录层级。 对应 在Flutter 的 android 目录 创建一个Android工程库,并且修改 Android 配置

2.将 unity3d项目 导出

这里使用的 unity3d 项目就是 我们之前做好的使用 HybridCLR + Yooasset 实现热更新),来导入:unity3D 插件我们 使用flutter_unity_widget 需要的插件,我们在 下载最新的版本,导入 unity3d

首先确认我们 unity3d 项目的 平台 android
修改导出 Android 工程 的配置
检查模块
导出工程,使用flutter插件的导出
导出完毕之后
现在你要直接运行也可以,但是当你 打开unity widget 大概率奔溃:我们还需要在 AndroidManifest.xml 添加 屏幕常亮的权限
复制代码
   <uses-permission android:name="android.permission.WAKE_LOCK" />
   <!-- 声明应用需要使用网络 -->
   <uses-permission android:name="android.permission.INTERNET" />

   <!-- 声明应用访问网络状态的权限(可选) -->
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

   <!-- 声明应用访问 Wi-Fi 状态的权限(可选) -->
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

遇到的问题:

低端机器奔溃:Vulkan - Out of memory! (allocating memory for image),说是 Vulkan 切换 切换到 OpenGL ES, 我这里是质量设置为 中等

到目前为止 我们就完成了 Flutter项目 嵌入 unity3d,并且我们的 Unity3D 项目还是可以热更新的。这对于游戏来说可是很重要的哦;项目就没必要分享了吧。

相关推荐
SmalBox2 小时前
【节点】[ComputeVertexPosition节点]原理解析与实际应用
unity3d·游戏开发·图形学
浮江雾8 小时前
Flutter第三节----Dart中的数据类型
android·开发语言·学习·flutter·入门·函数
又菜又爱coding8 小时前
Flutter Android 无线调试No supported devices connected
flutter
心中有国也有家10 小时前
AtomGit Flutter 鸿蒙客户端:初始化流水线
学习·flutter·华为·harmonyos
ZZZMMM.zip1 天前
基于鸿蒙HarmonyOS NEXT开发AI英语口语应用:智能口语练习新体验与鸿蒙Flutter框架跨端实
人工智能·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸球动画
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸练习的三种科学模式
学习·flutter·华为·harmonyos
yuanlaile1 天前
前端转 Flutter 自学完整规划,避开跨栈思维转换误区
前端·flutter·flutter跨平台开发