threejs纹理的使用

  1.  实现地板的效果,需要导入3张图片,第一种样式,第二种,木板间的间隙,第三种,木板的粗细图片。
  2. 先注册一个物体属性,在物体属性上加上图片,注册代码如下图:
    const floorMat = new THREE.MeshStandardMaterial( {
        roughness: 0.8,
        color: 0xffffff,
        metalness: 0.2,
        bumpScale: 0.0005
    });
  3. 样式的图片,图片:

    图片导入的代码:
    const textureLoader = new THREE.TextureLoader();
    textureLoader.load( 'textures/hardwood2_diffuse.jpg', function ( map ) {
        map.wrapS = THREE.RepeatWrapping;
        map.wrapT = THREE.RepeatWrapping;
        map.anisotropy = 4;
        map.repeat.set( 10, 24 );
        map.encoding = THREE.sRGBEncoding;
        floorMat.map = map;
        floorMat.needsUpdate = true;
    });
    最重要的是floorMat.map这个代码,下面的效果也主要是这两个参数。
  4. 木板间的间隙的图片:

    相关代码:
    textureLoader.load( 'textures/hardwood2_bump.jpg', function ( map ) {
        map.wrapS = THREE.RepeatWrapping;
        map.wrapT = THREE.RepeatWrapping;
        map.anisotropy = 4;
        map.repeat.set( 10, 24 );
        floorMat.bumpMap = map;
        floorMat.needsUpdate = true;
    } );

    关键代码:floorMat.bumpMap

  5. 木板间的粗糙程度的图片:

    相关代码:
    textureLoader.load( 'textures/hardwood2_roughness.jpg', function ( map ) {
    	map.wrapS = THREE.RepeatWrapping;
    	map.wrapT = THREE.RepeatWrapping;
    	map.anisotropy = 4;
    	map.repeat.set( 10, 24 );
    	floorMat.roughnessMap = map;
    	floorMat.needsUpdate = true;
    } );

    关键代码:floorMat.roughnessMap

  6. 具体效果可以查看: threejs地板效果
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值