import * as THREE from 'three'; // rar2 rack export function rar2premium(width=800, height=2500, depth=800) { const kly_rackObject = new THREE.Object3D(); const materialGreyDark= new THREE.MeshLambertMaterial({color: 0x9d9d9d}); const silvermaterial = new THREE.MeshLambertMaterial({color: 0xf0f0f0}); const target = new THREE.MeshLambertMaterial({color: 0xfbe928}); //front yellow target const Ftarget = new THREE.BoxGeometry(2, 90, 700); const Ftargetmesh = new THREE.Mesh(Ftarget, target); Ftargetmesh.position.set( -451, 1200 , -15); kly_rackObject.add(Ftargetmesh); //Rear yellow target const Rtarget = new THREE.BoxGeometry(2, 90, 700); const Rtargetmesh = new THREE.Mesh(Rtarget, target); Rtargetmesh.position.set( 401, 1200 , -15); kly_rackObject.add(Rtargetmesh); // rack const lrgeometry = new THREE.BoxGeometry(width, height, depth); const lrmesh = new THREE.Mesh(lrgeometry, silvermaterial); lrmesh.position.set(0 , 0 , 0); kly_rackObject.add(lrmesh); //edge le const rlegeometry = new THREE.BoxGeometry(width-750, height, depth-750); const rlemesh = new THREE.Mesh(rlegeometry, materialGreyDark); rlemesh.position.set( -425, 0 , -370); kly_rackObject.add(rlemesh); //edge re const rregeometry = new THREE.BoxGeometry(width-750, height, depth-750); const rremesh = new THREE.Mesh(rregeometry, materialGreyDark); rremesh.position.set( -425, 0 , 375); kly_rackObject.add(rremesh); //edge ue const ruegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); const ruemesh = new THREE.Mesh(ruegeometry, materialGreyDark); ruemesh.position.set( -425, 1225 , 0); kly_rackObject.add(ruemesh); //edge de const rdegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); const rdemesh = new THREE.Mesh(rdegeometry, materialGreyDark); rdemesh.position.set( -425, -1230 , 0); kly_rackObject.add(rdemesh); //base and texture const drawer1geometry = new THREE.BoxGeometry(10, 2450, 750); const textureLoader = new THREE.TextureLoader(); const texture = textureLoader.load('./components/rar2texture.jpg'); texture.wrapS = texture.wrapT = THREE.RepeatWrapping; texture.repeat.set(1, 1); const material = new THREE.MeshBasicMaterial({ map: texture }); const gridgeometrymesh = new THREE.Mesh(drawer1geometry, material); gridgeometrymesh.rotateX(Math.PI * 1); gridgeometrymesh.rotateY(Math.PI * 1); gridgeometrymesh.rotateZ(Math.PI * 1); gridgeometrymesh.position.set( -400, 0 , 0); kly_rackObject.add(gridgeometrymesh); return kly_rackObject; }