king2088 / vue-3d-loader

VueJS and threeJS 3d viewer plugin
https://king2088.github.io/vue-3d-loader-docs
MIT License
222 stars 38 forks source link

您好,gltf其他资源文件加载问题 #88

Closed uwenking closed 8 months ago

uwenking commented 9 months ago

您好,我这边加载一个gltf,他请求的相关的bin文件和image文件,不是相对路径,请问这个是什么地方要做特殊设置吗? 非常感谢 image

image

king2088 commented 9 months ago

根据你的截图,可以看到你的gltf文件位于/map-screen/models/jingche/目录,而gltf需要加载的资源文件路径并未与当前gltf在同一目录(即加载的都是根目录下的jpgbin文件)。因此,你需要做的处理如下:

  1. 第一种解决方法 修改gltf中对应的资源路径
  2. 第二种方法 将对应的.bin/.jpg等资源文件,放到根目录(即你的http://192.168.0.218:7030根目录即可),如果你使用的是vue开发环境,直接将资源文件放到public目录就可以了
uwenking commented 9 months ago

您好,非常感谢您的回复,我的gltf文件和对应的资源文件,都在“/map-screen/models/jingche/”目录里面 image 因为这种gltf文件有很多,不好都放到根目录 想让您帮忙分析下这种每个gltf文件和他的资源文件要在一个目录,怎么设置 image 我看你官网这个gltf和他的bin,自动都是在同一个路径请求 但我的他直接不是到相对路径请求,而是直接到绝对路径去请求 所以不知道是啥原因

再次感谢!!!

uwenking commented 9 months ago

区别是 我设置这个filePath的时候是个全量地址,因为这个资源在服务器上,不是在当前开发调试的public里面 filePath="http://192.168.0.218:7030/map-screen/models/jingche/main.gltf" 而您的是个相对地址 filePath="/models/gltf/DamagedHelmet.gltf"

king2088 commented 9 months ago

区别是 我设置这个filePath的时候是个全量地址,因为这个资源在服务器上,不是在当前开发调试的public里面 filePath="http://192.168.0.218:7030/map-screen/models/jingche/main.gltf" 而您的是个相对地址 filePath="/models/gltf/DamagedHelmet.gltf"

首先,我并未对gltf做任何处理。即使我将gltf放到另外一个服务器上,也不会出现你说的问题。 另外,你可以使用windows自带的3d查看器预览一下自己的gltf是否会出现问题。 再次,检查你的gltf中资源路径是否正确

king2088 commented 9 months ago

image

uwenking commented 9 months ago

我的也是相对路径 image 模型没问题,本地可以预览 就是上面的filePath是唯一区别

king2088 commented 9 months ago

我的也是相对路径 image 模型没问题,本地可以预览 就是上面的filePath是唯一区别

建议做如下尝试:

  1. 在自己本地安装http-server
    npm i -g http-server
  2. 把模型放到本地某个目录:如D:/map-screen/models/jingche/
  3. 打开powershell,cd D:/map-screen/
  4. 运行http-server,并设置运行跨域访问,命令如下
    http-server --cors
  5. 在你的vue代码中,将filePath修改为http://127.0.0.1:端口/models/jingche/main.gltf

如果能够正常显示,那说明可能是http://192.168.0.218:7030服务器配置的问题

zhaotong-4195 commented 9 months ago

您好,如何获取加载模型的实例

king2088 commented 9 months ago

您好,如何获取加载模型的实例

查看文档中的load事件