Flutter 3D绘图初探

Flutter SDK目前没有专门针对3D图形绘制的API模块,当然提供3D API也在Flutter的长期计划中,目前还主要是集中在2D图形上,官方FAQ也对这一点进行了说明。

 

通过查找资料找到一些现有的Flutter 3D绘制方面的内容。

Canvas绘制3D图形

不使用GPU和OpenGL ES,在已有flutter SDK功能基础上,可以借助CustomPaint widget和Canvas结合Vectors来实现对obj标准3D模型的绘制,进而结合GestureDetector利用手势拖拽来transform改变和刷新3D图像,这是比较原始的方法。
实例1:https://github.com/RichardCubed/flutter_demo_3d

实例2:https://github.com/klaszlo8207/Flutter-OBJ-3D-Viewer

借助第三方插件Unity3D 

可以使用Flutter Unity Widget插件在flutter应用中嵌入Unity3D引擎视图来展示3D图形。可以使你的应用程序具有Unity的精彩的游戏化功能,在Android和iOS上都很好用。
相关的项目如下:
https://dreamsoftin.com/
https://github.com/snowballdigital/flutter-unity-view-widget
https://github.com/juicycleff/flutter-unity-arkit-demo

 

Flutter Web端使用Three.js

关于Web端实现3D效果,难免要想到Three.js。
https://github.com/rodydavis/FlutterWebXRThreeJS展示了一个Flutter Web结合Three.js的例子,在线效果地址https://rodydavis.github.io/FlutterWebXRThreeJS/#/

参考:https://www.bilibili.com/read/cv5353785

posted on 2020-04-30 17:11  我来乔23  阅读(6002)  评论(0编辑  收藏  举报

导航