【问题标题】:CubeTextureLoader() not working. Or I'm doing something wrongCubeTextureLoader() 不工作。或者我做错了什么
【发布时间】:2021-04-17 01:44:25
【问题描述】:

这是我的代码:

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

var renderer = new THREE.WebGLRenderer({antialias:true});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

var controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.25;
controls.enableZoom = true;
controls.autoRotate = true;

// Cube
var Cubegeometry = new THREE.BoxGeometry(1, 1, 1);
const CubeImgTexture = new THREE.CubeTextureLoader().setPath('imgs/textures/cube/').load([
  's1.png', 's5.png',
  's2.png', 's4.png',
  's3.png', 's6.png'
]);
var Cubematerial = new THREE.MeshStandardMaterial({
  map: CubeImgTexture
});
var CubeMesh = new THREE.Mesh(Cubegeometry, Cubematerial);
scene.add(CubeMesh);

camera.position.z = 5;
controls.update();

var animate = function() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
};

当我运行它时,我得到一个空白屏幕和一个错误提示“参数 6 对任何 6 参数重载都无效。”

这是什么意思?

【问题讨论】:

    标签: javascript three.js textures


    【解决方案1】:

    问题出在

    var Cubematerial = new THREE.MeshStandardMaterial({
      map: CubeImgTexture
    });
    

    你永远不会初始化任何名为CubeImgTexture 的东西。如果您尝试将 cubeTexture 传递给 .map 属性,您将遇到问题,因为映射 only expects a regular texture。也许你正在尝试assign it to the .envMap property instead?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多