它没有显示正确的 3d 模型,它仅显示模型的
shadow
。我怎么错了或者它如何显示相同的模型?
两张图片都在这里
真实模型 PNG
.obj 文件加载时显示如下。
3D 文件在这里
import 'package:flutter/material.dart';
import 'package:flutter_cube/flutter_cube.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
late Object jet;
@override
void initState() {
jet = Object(fileName: "assets/model/odb.obj");
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
title: Text("Flutter 3D"),
),
body: Container(
child: Column(
children: [
Expanded(
child: Cube(
onSceneCreated: (Scene scene) {
scene.world.add(jet);
scene.camera.zoom = 8;
},
),
),
// Expanded(
// child: Cube(
// onSceneCreated: (Scene scene) {
// scene.world.add(jet);
// scene.camera.zoom = 10;
// },
// ),
// ),
],
),
),
);
}
}
我昨天用了“flutter_cube”,效果很好,但是无法加载obj文件的normal_mapping图像。 我想你可以尝试新版本的flutter_cube(0.1.1),只需使用下面的代码:
Cube(
onSceneCreated: (Scene scene) {
scene.world.add(Object(fileName: 'assets/cube/cube.obj'));
},
),
我也有类似的问题。纹理没有显示。第一件事是我在场景中添加它时,对象中没有
lighting = true
。但在我添加多个对象后,纹理无法正确显示。他们互相压倒对方。所以我明确地为每个对象加载纹理(例如objectName.mesh.texture = loadedTexture
),然后它就可以工作了。