Three贴图Textures实例

基础环境搭建:

在这里插入图片描述

新建文件夹,github clone目录下拷贝贴图文件:

在这里插入图片描述

在这里插入图片描述

纹理功能一:CubeTextureLoader生成天空盒子:

立方纹理(CubeTexture):创建一个由6张图片所组成的纹理对象。

function initScene() {
    scene = new THREE.Scene()
    const urls = [
        'textures/cube/pisa/px.png',
        'textures/cube/pisa/nx.png',
        'textures/cube/pisa/py.png',
        'textures/cube/pisa/ny.png',
        'textures/cube/pisa/pz.png',
        'textures/cube/pisa/nz.png',
    ]
    cubeTexture = new THREE.CubeTextureLoader().load(urls)
    scene.background = cubeTexture  //texture:给scene生成一个skybox效果
}

在这里插入图片描述

纹理功能二:赋予网格模型实现类似反光效果

function initMeshes() {
    const geometry = new THREE.SphereGeometry(0.1, 64, 64)
    const material = new THREE.MeshBasicMaterial({ color: 0xffffff, envMap: cubeTexture });
    for (let i = 0; i < count; i++) {
        mesh = new THREE.Mesh(geometry, material)
        mesh.position.x = Math.random() * 10 - 5
        mesh.position.y = Math.random() * 10 - 5
        mesh.position.z = Math.random() * 10 - 5
        scene.add(mesh)
        spheres.push(mesh)
    }
}

在这里插入图片描述

让模型动起来:

    let timer = Date.now() * 0.0001
    for (let i = 0; i < count; i++) {
        const sphere = spheres[i]
        sphere.position.x = 5 * Math.cos(timer + i)
        sphere.position.y = 5 * Math.sin(timer + i * 1.1)
    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值