threejs 加载obj模型

            var OBJLoader = new THREE.OBJLoader();//obj加载器
            var MTLLoader = new THREE.MTLLoader();//材质文件加载器
            MTLLoader.load(modelData.mtl, function (materials) {
                //obj的模型会和MaterialCreator包含的材质对应起来
                OBJLoader.setMaterials(materials);
                OBJLoader.load(modelData.url, function (obj) {//url自己定义
                    //第一个表示模型路径,第二个表示完成导入后的回调函数
                    //一般我们需要在这个回调函数中将导入的模型添加到场景中
                    obj.traverse(function (child) {
                        if (child instanceof THREE.Mesh) {
                            obj.scale.set(modelData.scale.x, modelData.scale.y, modelData.scale.z);
                            obj.position.set(modelData.position.x, modelData.position.y, modelData.position.z);
                            child.material.transparent = true;//材质透明
                            console.log("child");
                        }
                    });
                    mainBody = obj;
                    scene.add(obj);//返回的组对象插入场景中

                    if (drawData.imgList) scene.remove(drawData.imgList);

                    // 记录新加载的mesh
                    drawData.imgList = obj;
                })
            })
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值