import * as THREE from 'three'; // kicker export function kicker(length=300) { const kickerMaster = new THREE.Object3D(); const d1geometry = new THREE.BoxGeometry(710, 500, 500); const dmaterial = new THREE.MeshLambertMaterial({color: 0x405040}); const d1mesh = new THREE.Mesh(d1geometry, dmaterial); d1mesh.position.set(0, -20, 330); kickerMaster.add(d1mesh); //add quad2 const d2geometry = new THREE.BoxGeometry(710, 270, 300); const dmaterial2= new THREE.MeshLambertMaterial({color: 0x405040}); const d2mesh = new THREE.Mesh(d2geometry, dmaterial2); d2mesh.position.set(0, -135, 80); kickerMaster.add(d2mesh); //add sest const d3geometry = new THREE.CylinderGeometry(300, 300, 700, 6); const dmateria3 = new THREE.MeshLambertMaterial({color: 0xffff00}); const textureLoader = new THREE.TextureLoader(); const texture = textureLoader.load('./components/kicker_texture.png'); texture.wrapS = texture.wrapT = THREE.RepeatWrapping; texture.repeat.set(5, 40); const material = new THREE.MeshBasicMaterial({ map: texture }); const d3mesh = new THREE.Mesh(d3geometry, material); d3mesh.rotateX(Math.PI * 1); d3mesh.rotateY(Math.PI * 1); d3mesh.rotateZ(Math.PI * 1.5); d3mesh.position.set(0, 0 , 230); kickerMaster.add(d3mesh); //capsule const geometry = new THREE.CapsuleGeometry( 50, 50, 40, 80 ); const material_cap = new THREE.MeshBasicMaterial( {color: 0xff0000} ); const d4mesh = new THREE.Mesh( geometry, material_cap ); d4mesh.position.set(0, 240 , 480); kickerMaster.add(d4mesh); kickerMaster.rotateY(Math.PI * 0.5); return kickerMaster; }