美文网首页
12.1.flutter_unity_widget

12.1.flutter_unity_widget

作者: ChaosHeart | 来源:发表于2021-11-01 10:55 被阅读0次

Android

0.flutter_unity_widget的Demo说明

Demo 通过 flutter_unity_widget库,达到 Flutter 内嵌 Unity 目的
主要功能:
1.flutter-unity-view-widget 为 Unity 提供依赖库导出插件,将 Unity 项目构建成 Android、IOS 依赖库.
2. flutter-unity-view-widget 为 Flutter 提供组件库,将 Unity 视图以组件的形式渲染,并提供 Flutter、Unity 双向通信接口

1.新建一个flutter项目

(1)在桌面新建一个flutter项目,项目名:unity_demo
(2)在flutter项目里新建一个文件夹,文件名:unity,路径:unity_demo/unity


截屏2021-11-01 10.20.53.png

2.新建一个unity项目

(1)在刚才创建的unity文件夹里创建一个新的unity项目,项目名:UnityDemo


截屏2021-11-01 10.23.28.png

3. NDK

如果您的项目需要 Android NDK,则必须进行以下设置:
您的 android 项目需要知道 NDK Unity 使用的路径。您可以在以下位置找到 NDK 的路径Preferences -> External Tools
通过右键单击复制路径并将路径粘贴到您的android/local.properties
就是这样!您无需app/build.gradle在 NDK 版本或其他 NDK 设置中告诉您的 Android 应用程序。现在一切都连接到了 Unity。

ndk.dir=/Applications/Unity/Hub/Editor/2020.3.21f1c1/PlaybackEngines/AndroidPlayer/NDK
截屏2021-11-01 10.51.03.png
截屏2021-11-01 10.51.31.png
截屏2021-11-01 10.54.52.png

4.下载插件

(1)下载插件
https://github.com/juicycleff/flutter-unity-view-widget/tree/master/scripts
(2)将插件放到UnityDemo里面

截屏2021-11-01 10.26.26.png

5.配置UnityDemo项目(配置Android的)

(1)进入 File > Build Settings > Player Settings 中
(2)更改Configuration部分下的以下内容:
(3)在Scripting Backend 中,更改为 IL2CPP
(4)在Target Architectures 中,选择 ARMv7 和 ARM64
(5)其他默认


截屏2021-11-01 10.32.41.png
截屏2021-11-03 08.55.47.png 截屏2021-11-01 10.33.55.png

6.引入刚才下的插件

(1)打开UnityDemo项目,右键选择Assets > Import Package > Custom Package并选择 FlutterUnityPackage.unitypackage文件。单击“导入”。(如果报错,删除Standalone文件和AOT和Windows下边的Newtonsoft.Json.dll)


截屏2021-11-01 10.44.43.png
截屏2021-11-01 10.45.14.png
截屏2021-11-01 10.45.27.png

7.修改构建时用的源码

// DoBuildAndroid()

// var options = BuildOptions.AcceptExternalModificationsToPlayer;
var options = BuildOptions.AllowDebugging;
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;

image
// BuildIOS()

// var options = BuildOptions.AcceptExternalModificationsToPlayer;
var options = BuildOptions.AllowDebugging;

image

8.构建flutter对应得Android项目

截屏2021-11-01 10.47.24.png

成功以后会生成unityLibrary文件夹(别人用得话,直接整个文件夹放在android中)


截屏2021-11-02 17.26.28.png

9.配置Android

(1)将android/app/build.gradle中的minSdkVersion 跟 unityLibrary/build.gradle中的minSdkVersion 调到一至


截屏2021-11-02 17.14.21.png
截屏2021-11-02 17.14.44.png

(2)配置gradle.properties,不然会报错

unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist
截屏2021-11-02 16.56.24.png
截屏2021-11-02 16.46.43.png

运行flutter

flutter run

参考:
https://www.jianshu.com/p/80d204950b51
https://pub.dev/packages/flutter_unity_widget
http://liweijia.site/archives/1405
https://www.youtube.com/watch?v=exNPmv_7--Q
https://ivanfan.site/2020/07/21/uiwidgets/

相关文章

网友评论

      本文标题:12.1.flutter_unity_widget

      本文链接:https://www.haomeiwen.com/subject/jimialtx.html