美文网首页
12.2.flutter_unity_widget

12.2.flutter_unity_widget

作者: ChaosHeart | 来源:发表于2021-11-03 13:57 被阅读0次

iOS

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项目(配置iOS的)

(1)进入 File > Build Settings > Player Settings 中
(2)更改Configuration部分下的以下内容:
(3)目标SDK: Device SDK 代表真机,Simulator SDK代表虚拟机
(4)其他默认


截屏2021-11-01 10.32.41.png
截屏2021-11-03 08.53.07.png
截屏2021-11-03 08.39.15.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对应得iOS项目

截屏2021-11-03 08.43.09.png

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


截屏2021-11-03 08.43.36.png

9.配置iOS

  • (1)在Xcode左侧空白处右键选择 Add Files to "Runner"

    添加
  • 在弹出的窗口中,选择第8步中导出的UnityExport文件夹下的Unity-iPhone.xcodeproj导入

    添加
  • (2)导入后点击 Unity-iPhone/Data,将右侧Target Membership选中UnityFramework

    添加
  • (3)修改Target为12.0以上版本


    添加
  • (4)在Runner/Runner/Info.plist文件中添加io.flutter.embedded_views_preview字段,并设置为Boolean YES,保存

    添加
  • (5)单独构建 UnityFramework


    image
  • (6)在Runner/General选项卡下,添加框架UnityFramework.framework

    添加
  • (7)在Runner/Runner/Runner-Bridging-Header.h文件中第二行添加#import <UnityFramework/UnityFramework.h>,保存

    截屏2021-11-03 13.49.59.png
  • (8)在Runner/Runner/AppDelegate.swift文件中第十行添加InitUnityIntegrationWithOptions(argc: CommandLine.argc, argv: CommandLine.unsafeArgv, launchOptions)字段,保存

    截屏2021-11-03 11.57.22.png
  • (9)登陆Apple开发者账号,修改包名等基本操作不在赘述,Unity-iPhone和Runner都修改


    截屏2021-11-03 13.52.10.png
  • (10). Flutter项目中进行配置
    项目根目录pubspec.yaml文件中添加flutter_unity_widget: ^4.1.0

    截屏2021-11-03 13.56.17.png

10.运行flutter

flutter run

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

相关文章

网友评论

      本文标题:12.2.flutter_unity_widget

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