Ich habe gerade aktualisiert, um die neueste Version von three.js, und THREE.ImageUtils.loadTexture funktioniert nicht mehr. Also habe ich nach Würfeln mit verschiedenen Gesichtern gesucht, aber alle verwenden die alte Technik "new THREE.ImageUtils.loadTexture". Ich habe versucht, einen mit "new THREE.TextureLoader.load ('texture1.png')" zu machen. Dies ist, was ich habe:three.js r81: Wie kann ich einen Würfel mit verschiedenen Texturen auf jeder Seite machen
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js webgl - geometry - cube</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
margin: 0px;
background-color: #000000;
overflow: hidden;
}
</style>
</head>
<body>
<script src="library/threejs/build/three.js"></script>
<script>
var camera, scene, renderer;
var head;
var loader = new THREE.TextureLoader();
init();
animate();
function init() {
camera = new THREE.PerspectiveCamera(70, window.innerWidth/window.innerHeight, 1, 1000);
camera.position.z = 400;
scene = new THREE.Scene();
materials = [
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headfront.png'),
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headback.png'),
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headleft.png'),
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headright.png'),
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headup.png'),
new THREE.TextureLoader().load('textures/mob/zombie/zombie_headdown.png')];
head = new THREE.Mesh(
new THREE.BoxBufferGeometry(80, 80, 80, 1, 1, 1, materials),
new THREE.MeshBasicMaterial({ map: materials })
);
scene.add(head);
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
window.addEventListener('resize', onWindowResize, false);
}
function onWindowResize() {
camera.aspect = window.innerWidth/window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
function animate() {
requestAnimationFrame(animate);
head.rotation.x += 0.005;
head.rotation.y += 0.01;
renderer.render(scene, camera);
}
</script>
</body>
</html>
aber ich erhalte die Fehlermeldung:
TypeError: offset is undefined
und
THREE.WebGLShader: Shader couldn't compile
und auch
THREE.WebGLShader: gl.getShaderInfoLog() fragment ERROR: 0:238:
'mapTexelToLinear' : no matching overloaded function found
Also, wenn Sie wissen, wie man das repariert oder einfach weiß wie man einen Würfel mit 6 verschiedenen Seiten macht, das wäre toll! danke!
vielen dank! immer noch seltsam, es gibt keine Online-Dokumentation dafür. : D –