簡體   English   中英

CubeTextureLoader() 不工作。 或者我做錯了什么

[英]CubeTextureLoader() not working. Or I'm doing something wrong

這是我的代碼:

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 參數重載都無效。”

錯誤

這是什么意思?

問題在於

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

你永遠不會初始化任何名為CubeImgTexture的東西。 如果您嘗試將 cubeTexture 傳遞給.map屬性,您會遇到問題,因為 map 只需要常規紋理 也許您正在嘗試將其分配給.envMap屬性?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM