在加载成功后模型会显示黑色或者白色模块,但是mtl文件是加载成功的,如果在mtl中使用了纹理贴图,需要在mtl文件中修改一下纹理贴图的路径(不只是需要mtl文件,还需要贴图文件),这里的路径是图片的相对路径。

loadObjWithMtl(scene) {const that = this;const assetsUrl = process.env.BASE_URL + process.env.VUE_APP_ASSETS;const path = assetsUrl + "/model/";const objName = "方体.obj";const mtlName = "方体.mtl";initModel();function initModel() {try {var mtlLoader = new MTLLoader();mtlLoader.resourcePath = path;mtlLoader.path = path;// 设置构造材质的一些选项。// mtlLoader.setMaterialOptions({//   side: THREE.DoubleSide,//   wrap: THREE.MirroredRepeatWrapping,//   normalizeRGB: false,//   ignoreZeroRGBs: false,//   invertTrProperty: false// });mtlLoader.load(mtlName, function (materials) {materials.preload();var objLoader = new OBJLoader();objLoader.setMaterials(materials);// 设置由 MTLLoader 载入的材质,或是其它由 MTLLoader.MaterialCreator 提供的材质。// materials.setMaterialOptions({//   side: THREE.DoubleSide// });objLoader.setPath(path);objLoader.load(objName, function (obj) {console.log(obj.children);obj.children.map(item => {item.geometry.center();item.scale.set(100, 100, 100);item.castShadow = true;item.receiveShadow = true;});console.log(scene);scene.add(obj)});});} catch (e) {console.error("解析失败", e);}}}

效果图:

three.js obj模型的mtl材质贴图不显示相关推荐

  1. three.js mtl材质贴图未显示_C4D材质到底该怎么用?大多数设计师都没搞明白!

    ​众所周知,在Cinema 4D中除了创建各式各样复杂的模型外,将创建好的模型赋予材质也是很重要的,这样才能为作品带来最佳的视觉表现. 但在日常的设计当中,却容易将材质搞混淆,导致模型被贴上错误的材质 ...

  2. solidworks导出obj模型和mtl材质

    目录 0.使用STL格式中转 1.使用solidworks宏 2.使用opencascade软件+step格式中转 为何会有这种需求?因为大多数3D库,都支持导入obj模型和mtl材质,例如webGL ...

  3. Three.js OBJ模型的剖切

    一. 由于项目需要,我进行了模型剖切功能方面的研究,如果单纯实现模型剖切效果,我相信你会从这篇文章中得到收获. 二. 我对模型剖切功能的研究主要基于three.js中的webgl_clipping_s ...

  4. Html显示3D Obj模型(支持mtl纹理)的源码方案(2:一张图创建人脸模型)

    不要瞧不起html脚本语言,自从浏览器取消了flash,你是不是觉得html做不了炫酷的内容,错了!现在html支持OpenGL,支持直接渲染3D游戏.今天我们就来讲如何在html渲染3D 的Obj模 ...

  5. Maya打开.obj模型并为其贴图

    .obj模型在Maya中打开是没有贴图的,需要重新为其贴图. 首先将.obj模型导入Maya. 如下图: 接下来在菜单栏选择窗口,第二个下拉菜单(渲染编辑器),再选第三个下拉菜单(Hypershade ...

  6. threeJs导入3D皮卡丘.obj模型,使用.jpg贴图,实现缩放旋转查看功能

    先来看下最终的效果. 导入obj模型 如果仅使用Mesh几何而不加载任何外部资源,则网页应直接在文件系统中运行,只需双击HTML文件打开即可以预览.而由于3D模型是从外部加载进来的,由于浏览器的原始策 ...

  7. DirectX的OBJ模型加载与渲染

    在之前的DirectX例子里我用的模型是.x文件,DirectX有一个方法D3DXLoadMeshFromX可以加载.x模型,但是这里有个问题,.x文件是没法用文本编辑器打开查看结构的,这里我来演示一 ...

  8. 【Three.js】解决使用Three.js导入obj模型不可见问题详细记录

    问题描述: 近期在做三维重建项目,需要把最终生成的obj文件导入到web端浏览,这里使用的是three.js(另一个是babylon.js),但博主发现导入meshlab生成的obj时无法显示模型,但 ...

  9. 使用three.js导入OBJ模型,变更、修改成其他OBJ模型和模型不可见原因说明

    最近的一个项目需要在HTML中对OBJ模型进行大量的变更,修改为其他模型.基于这个需求下,这里有一种解决方案. 另外在各大论坛上的相关博客基本都是那几种导入obj例子····并没有对后续操作进行说明. ...

最新文章

  1. Case study:数据库网页构建原理和实践
  2. Delphi APP 開發入門(五)GPS 定位功能
  3. You Need This One Skill to Succeed in IT--reference
  4. 寄存器(内存访问)---汇编学习笔记
  5. ELK之centos7安装 elasticsearch6.5遇到的坑
  6. altera fpga 型号说明_A/X家FPGA架构及资源评估
  7. CCNP-第二篇-SLA扩展+EIGRP高级版(上)
  8. oracle10g检测未通过,win64bit安装oracle 10g版本检查未通过解决 提示要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1...
  9. 计算机组成原理实验内存读数,计算机组成原理实验
  10. ForkJoinPool分支合并框架计算加法
  11. 重拾JAVA之WinForm实战之(二)
  12. 计算机印屏幕功能无法使用,笔记本电脑无法使用外接显示屏幕扩展功能
  13. ToStringBuilder学习总结
  14. 地震数据读写segyio的脑图(c语言接口)
  15. 关于MATLAB命令窗口(command window)清理的相关设置
  16. 输入的产品无法再此计算机,一键重装系统时遇到“安装程序无法将Windows配置为在此计算机的硬件上运行”...
  17. 锯齿波调制的FMCW雷达差拍信号的推导及分析
  18. DTOI 10.25 测试 T3 雪人
  19. 传世单机架设,账号登陆后,无法选择服务器,点击无效,无法进入游戏。
  20. 程序员月薪5W却发出哀叹:家庭枷锁太重,生活如同围城

热门文章

  1. MySql中设置utf8编码方法
  2. switch default多次触发
  3. 融合通信无人值守系统解决方案
  4. excel怎么统计相同名字的数量
  5. 云时代的阡陌纵横”的数据网络?
  6. 解除文件占用,解决文件被占用不能删除
  7. libusb,libusbk,winusb的区别
  8. Python map
  9. 学it需要学历吗_低学历者是否适合学IT?IT行业对学历要求高吗
  10. Windows10打开“运行”窗口