| Name | ||
|---|---|---|
|
F2A8CEA · 7 months ago
|
||
|
|
3 years ago
|
|
|
|
2 years ago
|
|
|
|
7 months ago
|
|
|
|
4 years ago
|
|
|
|
4 years ago
|
|
|
|
7 months ago
|
|
|
|
4 years ago
|
|
|
|
7 months ago
|
|
|
|
7 months ago
|
|
|
|
7 months ago
|
|
存储库文件导航
带有 BabylonJS Viewer for Flutter 的 3D 模型查看器。这个项目的灵感很大程度上来自model_viewer flutter pub 包。它的简单模型查看器,下一个版本,json 设置将被隐含
https://pub.dev/packages/babylonjs_viewer
这将向包的 pubspec.yaml 添加如下行(并运行隐式 dart pub get):
dependencies:
babylonjs_viewer: ^1.3.0
- 将依赖项更新到 webview_flutter 4.10.0
为什么我需要控制器
控制器是可选的。您可以使用此控制器运行 Javascript 代码、返回、获取当前 url、更改 url 以及 WebView Flutter 允许的许多其他内容。 函数是可选的。您可以使用此参数将 javascript 代码添加到查看器。 示例可以在本文档底部找到
在您的 Android 项目 (android/app/build.gradle) 上,将“minSdkVersion”设置为 19
defaultConfig {
applicationId "com.example.example"
minSdkVersion 19
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
然后将行“android:usesCleartextTraffic=”true“”添加到您的 android 清单 (android/app/src/main/AndroidManifest.xml)
<application
android:label="example"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
在iOS项目上,转到info.plist文件(ios/Runner/Info.plist),并添加以下行
<key>io.flutter.embedded_views_preview</key>
<true/>
现在,在您的 Dart 代码中,您可以使用:
import 'package:babylonjs_viewer/babylonjs_viewer.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("BabylonJS Viewer")),
body: BabylonJSViewer(
src: 'https://models.babylonjs.com/boombox.glb',
),
),
);
}
}
BabylonJSViewer(
src: 'https://models.babylonjs.com/boombox.glb',
),
BabylonJSViewer(
src: 'file:///path/to/MyModel.glb',
),
BabylonJSViewer(
src: 'assets/MyModel.glb',
),
添加到您的 pubspec.yamlwebview_flutter
dependencies:
webview_flutter: ^4.10.0
将其添加到您的状态
import 'package:webview_flutter/webview_flutter.dart';
WebViewController? _controller;
添加自定义 javascript 函数。这将打印到您的 flutter 控制台。
BabylonJSViewer(
controller: (WebViewController controller) {
_controller = controller;
},
functions:
'''function sayHello() { Print.postMessage("Hello World!"); }''',
src:
'https://models.babylonjs.com/boombox.glb',
),
随时随地使用此功能
ElevatedButton(
onPressed: () {
_controller?.runJavaScript('''
sayHello();
''');
},
child: const Text("Run Function")),
您可以访问 babylonjs 查看器的查看器变量。您可以在那里找到所有方法
在此示例中,向您展示如何切换自动旋转。
BabylonJSViewer(
controller: (WebViewController controller) {
_controller = controller;
},
functions: '''
function toggleAutoRotate(texture) {
let viewer = BabylonViewer.viewerManager.getViewerById('viewer-id');
viewer.sceneManager.camera.useAutoRotationBehavior = !viewer.sceneManager.camera.useAutoRotationBehavior
}
''',
src:
'https://models.babylonjs.com/boombox.glb',
),
使用此功能
ElevatedButton(
onPressed: () {
_controller?.runJavascript('''
toggleAutoRotate();
''');
},
child: const Text("Toggle")),
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网 - GLB/GLTF模型与格式资源免费下载,支持在线浏览与转换 » 带有 BabylonJS 查看器的 Flutter 3D 模型查看器
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载要提取码
- 分享过期和重复下载怎么办
- 模型和平台不兼容怎么办