Three.js中导入gltf格式的模型并给gltf模型添加贴图

这篇博客介绍了如何在Three.js场景中加载gltf模型,并通过GLTFLoader进行处理。首先实例化纹理和GLTFLoader,然后加载模型,设置其缩放、位置和旋转。关键步骤在于遍历场景中的每个网格对象,为它们应用MeshPhongMaterial材质,并设置颜色和贴图。最后将加载的模型添加到场景中。

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

第一步:引入gltfloader

在这里插入图片描述

导入gltf并贴图代码:

let loader = new THREE.GLTFLoader(); /*实例化加载器*/
    var textureNormal = textureLoader.load('./images/ambient_occlusion.jpg');
    loader.load('./model/dnz.gltf', function(obj) {
      console.log(obj);
      obj.scene.scale.set(5, 10, 5);
      obj.scene.position.x = px;
      obj.scene.position.y = py;
      obj.scene.position.z = pz;

      obj.scene.rotation.y = ry;

      obj.scene.traverse(function (gltf) {
        if(gltf.type === 'Mesh'){
          gltf.material = new THREE.MeshPhongMaterial({
            color: 0xcccccc,
            map:textureNormal,
            normalScale: new THREE.Vector2(3, 3),
          })
        }

      })

      scene.add(obj.scene);
    })

备注:加载贴图要先申明贴图模型

let textureLoader = new THREE.TextureLoader();

除此以外对gltf格式的操作在obj.sence中。一定要用遍历traverse否则会报错。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值