如何使用 Three.js 在立方体上应用纹理

问题描述

    // Make a cube with LAmbert material
    // ---------------------------------
    // Lower fragments can increase performance
    var cubeWidth = cubeSize,cubeHeight = cubeSize,cubedepth = 10,cubeQuality = 1;
    // create the cube's material
    

var cubeMaterial = new THREE.MeshLAmbertMaterial(
            {
                color: 0xb22222
            }
            );
    
// create a cube with sphere geometry and the meterial

    cube = new THREE.Mesh(
        new THREE.BoxGeometry(
            cubeWidth,cubeHeight,cubedepth,cubeQuality,cubeQuality
            ),cubeMaterial);
        

        

将立方体提升到游戏空间高度的一半

cube.position.z = fieldDepth/2;

设置立方体x在比赛场地左侧的位置

cube.position.x = -fieldWidth/3;

----------将立方体添加到场景中-------------------------

scene.add(cube);

我试过了;

var texture = new THREE.TextureLoader();
    var texture1 = texture.load('scripts/kan.png');
    
    cube = new THREE.Mesh(
        new THREE.BoxGeometry(
            cubeWidth,cubeQuality
            ));
    
    
    var cubeMaterial = new THREE.MeshBasicMaterial(
        {
             map: texture1
            //color: 0xb22222
        }
        );
    // create a cube with sphere geometry and the meterial
    
    mesh = new THREE.Mesh( cube,cubeMaterial );

还有这个,但是没用

const texture = new THREE.TextureLoader().load( 'kan.png' );
    
    var cubeMaterial = new THREE.MeshLAmbertMaterial(
        {
            //color: 0xb22222
            map: texture
        }
        );

我也收到以下错误:THREE.Material: 'map' 参数未定义

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)