flutter 中的“flutter_cube: ^0.0.4”无法正确显示 3d 模型

问题描述 投票:0回答:2

它没有显示正确的 3d 模型,它仅显示模型的

 shadow
。我怎么错了或者它如何显示相同的模型? 两张图片都在这里 真实模型 PNG enter image description here

.obj 文件加载时显示如下。

enter image description here

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 3d flutter-layout flutter-dependencies
2个回答
1
投票

我昨天用了“flutter_cube”,效果很好,但是无法加载obj文件的normal_mapping图像。 我想你可以尝试新版本的flutter_cube(0.1.1),只需使用下面的代码:

Cube(
      onSceneCreated: (Scene scene) {
        scene.world.add(Object(fileName: 'assets/cube/cube.obj'));
      },
    ),

1
投票

我也有类似的问题。纹理没有显示。第一件事是我在场景中添加它时,对象中没有

lighting = true
。但在我添加多个对象后,纹理无法正确显示。他们互相压倒对方。所以我明确地为每个对象加载纹理(例如
objectName.mesh.texture = loadedTexture
),然后它就可以工作了。

© www.soinside.com 2019 - 2024. All rights reserved.