var pageRotation = 0.9; var pageHeight = 300; var pageWidth = 200; var pageLength = 20; bookPageContainer = new THREE.Object3D(); bookPageContainer.rotation.x = pageRotation; //linkes Buchhälfte leftPageContainer = new THREE.Object3D(); leftPageContainer.position.set(-pageLength / 2, 0, 0); leftPageContainer.rotation.z = -Math.PI * 0.5; leftPageCon = new THREE.CubeGeometry(pageWidth, pageLength, pageHeight, 1, 1, 1, loadLeftPageTextures()); leftPage = new THREE.Mesh(leftPageCon, new THREE.MeshFaceMaterial()); leftPage.position.set(-100, 0, 0); leftPageContainer.add(leftPage); bookPageContainer.add(leftPageContainer); //Buchrücken bookSideCon = new THREE.CubeGeometry(pageHeight, 1, 2 * pageLength, 1, 1, 1, getBookSideTextureWithText("Buchrücken")); bookSide = new THREE.Mesh(bookSideCon, new THREE.MeshFaceMaterial()); bookSide.position.set(0, -pageLength / 2, 0); bookSide.rotation.y = -Math.PI / 2; bookPageContainer.add(bookSide); //rechte Buchhälfte rightPageContainer = new THREE.Object3D(); rightPageContainer.position.set(pageLength / 2, 0, 0); rightPageContainer.rotation.z = Math.PI * 0.5; rightPageCon = new THREE.CubeGeometry(pageWidth, pageLength, pageHeight, 1, 1, 1, new THREE.MeshLambertMaterial({ color: 0x00ff00, wireframe: false, needsUpdate: true })); rightPage = new THREE.Mesh(rightPageCon, new THREE.MeshFaceMaterial()); rightPage.position.set(100, 0, 0); rightPageContainer.add(rightPage); bookPageContainer.add(rightPageContainer); scene.add(bookPageContainer);
Ergebnis (Perspektive ist geändert worden):