• 正文概述
  • GitHub – drydart/model_viewer.dart:一个 Flutter 小部件,用于渲染 glTF 和 GLB 格式的交互式 3D 模型。

    Name
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago
    5 years ago

    Flutter 的 3D 模型查看器

    这是一个用于渲染交互式的 Flutter 小部件 glTF 和 GLB 格式的 3D 模型。

    该小组件将 Google 的<模型查看器> Web 组件嵌入到 WebView 中。

    截图

    宇航员模型截图

    先决条件

    兼容性

    Android 和 iOS,具有最新的系统浏览器版本

    安装

    pubspec.yaml

    dependencies:
      model_viewer: ^0.8.1

    AndroidManifest.xml(仅限 Android 9+)

    要在 Android 9+ 设备上使用此微件,您的应用必须被允许将 与 的 HTTP 连接。Android 9(API 级别 28) 将 android:usesCleartextTraffic 的默认值从 更改为 ,因此您需要按如下方式配置应用:http://localhost:XXXXXtruefalseandroid/app/src/main/AndroidManifest.xml

    --- a/example/android/app/src/main/AndroidManifest.xml
    +++ b/example/android/app/src/main/AndroidManifest.xml
    @@ -8,7 +8,8 @@
         <application
             android:name="io.flutter.app.FlutterApplication"
             android:label="model_viewer_example"
    -        android:icon="@mipmap/ic_launcher">
    +        android:icon="@mipmap/ic_launcher"
    +        android:usesCleartextTraffic="true">
             <activity
                 android:name=".MainActivity"
                 android:launchMode="singleTop"

    这不会影响 Android 8 及更早版本。有关更多信息,请参阅 #7

    Info.plist(仅限 iOS)

    要在 iOS 上使用此小组件,您需要选择加入嵌入式视图预览 通过向应用文件添加布尔属性,使用 键和值:ios/Runner/Info.plistio.flutter.embedded_views_previewYES

    <key>io.flutter.embedded_views_preview</key>
    <true/>

    特征

    • 渲染 glTF 和 GLB 模型。(还有 iOS 12+ 上的 USDZ 模型。

    • 支持动画模型,具有可配置的自动播放设置。

    • (可选)支持将模型启动到 AR 查看器中。

    • (可选)自动旋转模型,并具有可配置的延迟。

    • 支持小部件的可配置背景颜色。

    例子

    导入库

    import 'package:model_viewer/model_viewer.dart';

    创建小部件ModelViewer

    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(title: Text("Model Viewer")),
            body: ModelViewer(
              src: 'https://modelviewer.dev/shared-assets/models/Astronaut.glb',
              alt: "A 3D model of an astronaut",
              ar: true,
              autoRotate: true,
              cameraControls: true,
            ),
          ),
        );
      }
    }

    加载捆绑的 Flutter 资源

    class MyApp extends StatelessWidget {
    // ...
              src: 'assets/MyModel.glb',
    // ...
    }

    从文件系统加载模型

    class MyApp extends StatelessWidget {
    // ...
              src: 'file:///path/to/MyModel.glb',
    // ...
    }

    从 Web 加载模型

    class MyApp extends StatelessWidget {
    // ...
              src: 'https://modelviewer.dev/shared-assets/models/Astronaut.glb',
    // ...
    }

    请注意,由于浏览器的 CORS 安全限制,模型文件必须与 HTTP 标头一起提供。Access-Control-Allow-Origin: *

    常见问题解答

    问:为什么我会收到错误?net::ERR_CLEARTEXT_NOT_PERMITTED

    您没有根据安装配置您的 本文档前面的说明。另见 #7AndroidManifest.xml

    问:为什么示例应用只显示空白屏幕?

    一个:最有可能的是,您的设备或模拟器上的平台浏览器版本是 太旧,不支持模型查看器所需的功能。

    例如,Android 10 模拟器上的库存 Chrome 版本太旧了 并会显示一个空白屏幕;它必须从 Play 商店升级 订购以使用此包。(Android 11 上的原生 Chrome 版本 但是,模拟器工作正常。请参阅 google/model-viewer#1109

    问:为什么我的 3D 模型无法加载和/或渲染?

    一个:模型 URL 无法加载的原因有多种,并且 呈现:

    1. 由于 CORS 安全性,可能无法加载模型 URL 限制。托管模型文件的服务器必须发送适当的 CORS 响应标头,以便能够加载文件。 请参阅 google/model-viewer#1015

    2. 可能无法分析提供的 glTF 或 GLB 文件。 某些工具在导出 glTF 时可能会生成无效文件。总是 通过 glTF 验证器运行模型文件来检查这一点。

    3. 平台浏览器可能不支持模型查看器 需要。请参阅 google/model-viewer#1109

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,请不要用于商业用途!
    3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
    8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
    声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性

    GLB下载网 - GLB/GLTF模型与格式资源免费下载,支持在线浏览与转换 » 一个 Flutter 小部件,用于渲染 glTF 和 GLB 格式的交互式 3D 模型。

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载要提取码
    百度网盘提取码都是gltf。
    分享过期和重复下载怎么办
    分享过期请使用备份下载,重复下载是不另扣费的,请放心下载。
    模型和平台不兼容怎么办
    可以用网站在线编辑功能,修改模型属性,大小,方向,坐标,中心,透明等问题,然后重新导出既可https://glbxz.com/38636.html
    开通VIP 享更多特权,建议使用 QQ 登录