实现方案:采用flutter开源组件flutter_unity_widget
1、创建flutter项目flutter_unity_demo
2、在pubspec.paml文件dependencies添加flutter_unity_widget: ^2022.2.0,执行Pub get导入组件
3、在工程目录下创建unity文件夹
4、在unity目录下创建unity_demo的3D工程
5、下载flutter_unity_widget提供的unity插件
在unity_demo项目Assets右键导入(import package)插件unitypackages(注:我导入的是FlutterUnityIntegration-v4-WithDemo)会得到以下目录,这个时候Flutter打包的方式如下图


7、修改Assets/FlutterUnityIntegration/Editor/Build.cs文件
DoBuildAndroid方法:
var options = BuildOptions.AcceptExternalModificationsToPlayer;
替换为:
var options = BuildOptions.AllowDebugging;
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
BuildIOS 方法:
var options = BuildOptions.AcceptExternalModificationsToPlayer;
替换为:
var options = BuildOptions.AllowDebugging;
8、为了方便测试创建Cube,绑定Assets/FlutterUnityIntegration/Demo/Rotote.cs脚本并调整好摄像头对准新创建的Cube
import 'package:flutter/material.dart';
import 'package:flutter_unity_widget/flutter_unity_widget.dart';
class UnityPage extends StatefulWidget {
const UnityPage({super.key});
@override
_UnityPageState createState() => _UnityPageState();
}
class _UnityPageState extends State<UnityPage> {
UnityWidgetController? _unityWidgetController;
double _sliderValue = 0.0;
@override
void initState() {
// TODO: implement initState
super.initState();
}
@override
void dispose() {
// TODO: implement dispose
_unityWidgetController?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: const Text("this Unity"),
),
body: Container(
child: Stack(
children: [
UnityWidget(
onUnityCreated: onUnityCreated,
onUnityMessage: onUnityMessage,
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...