这是我的代码:
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 个参数重载都无效。”
这是什么意思?
答案 0 :(得分:1)
问题在于
var Cubematerial = new THREE.MeshStandardMaterial({
map: CubeImgTexture
});
您永远不会初始化名为 CubeImgTexture
的任何内容。如果您尝试将cubeTexture 传递到.map
属性中,您将遇到问题,因为映射only expects a regular texture。也许您正在尝试assign it to the .envMap
property instead?