THREE.js 导入glTF文件,界面中不展示模型

现象

通过GLTFLoader 导入,再用scene.add(gltf.scene) ,界面中没有展示模型。

控制台没有报错。

glTF从blender中导出,不是压缩的,不用 DRACOLoader 处理。

导入代码

import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';

export async function loadGLTF() {
  const loader = new GLTFLoader();
  const gltf = await loader.loadAsync('./1111.gltf');

  return gltf;
}

// loadGLTF
loadGLTF().then(gltf => {
    scene.add(gltf.scene);
    // render 重新渲染
})


原因

glTF导入的模型太小了,放大才能看见。(疯掉,还以为什么原因查半天)

这和导入fbx导入的模型不一样了。

fbx导入以后模型比较大,一下就看出来。

这个是用.fbx导入的

解决

由于gltf导入的是gltf.scene ,它的是Group的实例。我们可以设置缩放,调整到合适大小即可。

gltf.scene.scale.set(20, 20, 20);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp微信小程序使用three.js导入gltf模型包,你可以按照以下步骤进行操作: 1. 将gltf模型文件放置在uniapp项目的静态资源目录,比如`static/models`。 2. 在uniapp页面或组件的js文件引入three.js库和GLTFLoader。 ```javascript import * as THREE from 'three'; import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'; ``` 3. 创建一个canvas元素作为渲染器的渲染目标。 ```html <template> <canvas id="canvas"></canvas> </template> ``` 4. 在mounted钩子函数编写加载和渲染模型的代码。 ```javascript mounted() { const canvas = document.getElementById('canvas'); const renderer = new THREE.WebGLRenderer({ canvas }); const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, canvas.clientWidth / canvas.clientHeight, 0.1, 1000); camera.position.z = 5; const loader = new GLTFLoader(); loader.load('../../static/models/model.gltf', (gltf) => { const model = gltf.scene; scene.add(model); // 设置模型的初始位置、旋转等属性 model.position.set(0, 0, 0); model.rotation.set(0, 0, 0); model.scale.set(1, 1, 1); }); function animate() { requestAnimationFrame(animate); // 更新模型、相机等状态 renderer.render(scene, camera); } animate(); } ``` 请确保将`../../static/models/model.gltf`替换为你实际的模型文件路径。 这样,当页面或组件加载后,就会渲染gltf模型在canvas上。 希望对你有所帮助!如有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值