Three.js在Vue项目中引入外部模型,报404错误

博客作者在开发过程中遇到模型加载失败的问题,原因是模型文件放置位置不正确。解决方法是将模型文件放入public目录下,并确保引用路径无误。通过console.log确认模型已成功解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当时查了很多原因,最后发现是因为模型文件放错位置了

 当时就报了这样的错误!!!

解决方法:

创建文件,将模型文件放入,然后文件一定要放入public下面,然后使用时注意引入的路径!!!

 

 然后console.log(obj)查看模型以及被解析出来了

 

 

Vue中使用three.js读取obj模型可以按照以下步骤进行: 1. **安装three.js**: 首先,确保你已经安装了three.js库。你可以使用npm来安装它: ```bash npm install three ``` 2. **创建Vue组件**: 创建一个新的Vue组件,例如`ThreeJsViewer.vue`,并在其中导入three.js。 3. **设置场景、相机和渲染器**: 在组件的`mounted`生命周期钩子中设置three.js的场景、相机和渲染器。 4. **加载obj模型**: 使用`OBJLoader`来加载obj模型。 5. **添加模型到场景中**: 将加载的模型添加到场景中,并渲染场景。 以下是一个完整的示例代码: ```html <template> <div ref="container" style="width: 800px; height: 600px;"></div> </template> <script> import * as THREE from 'three'; import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader.js'; export default { name: 'ThreeJsViewer', mounted() { const container = this.$refs.container; // 创建场景 const scene = new THREE.Scene(); // 创建相机 const camera = new THREE.PerspectiveCamera(75, container.clientWidth / container.clientHeight, 0.1, 1000); camera.position.z = 5; // 创建渲染器 const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(container.clientWidth, container.clientHeight); container.appendChild(renderer.domElement); // 创建光源 const light = new THREE.DirectionalLight(0xffffff, 1); light.position.set(0, 1, 1).normalize(); scene.add(light); // 加载obj模型 const loader = new OBJLoader(); loader.load( 'path/to/your/model.obj', (object) => { scene.add(object); }, (xhr) => { console.log((xhr.loaded / xhr.total) * 100 + '% loaded'); }, (error) => { console.error('An error happened', error); } ); // 渲染循环 const animate = () => { requestAnimationFrame(animate); renderer.render(scene, camera); }; animate(); }, }; </script> <style scoped> /* 添加一些样式 */ </style> ``` 在这个示例中,我们创建了一个Vue组件`ThreeJsViewer`,并在其中设置了three.js的场景、相机和渲染器。然后,我们使用`OBJLoader`加载了一个obj模型,并将其添加到场景中。最后,我们创建了一个渲染循环来持续渲染场景。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值