* index18
//화면 생성
const scene = new THREE.Scene();
//카메라 설정
const camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.set(1, 6, 5);
camera.lookAt(new THREE.Vector3(0,0,0));
//렌더링 설정
renderer = new THREE.WebGLRenderer({antialias:true});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setPixelRatio(window.devicePixelRatio);
document.body.appendChild(renderer.domElement);
//조명 설정
let sphere = new THREE.SphereGeometry(0.1, 20, 10);
light1 = new THREE.PointLight(0x139AFF, 5, 100, 1);
light1.add(new THREE.Mesh( sphere, new THREE.MeshBasicMaterial({color: 0x139AFF})));
light1.position.set(1.5, 0, 0);
scene.add(light1);
light2 = new THREE.PointLight(0xFF7D33, 5, 100, 1);
light2.add(new THREE.Mesh( sphere, new THREE.MeshBasicMaterial({color: 0xFF7D33})));
light2.position.set(-1.5, 0, 0);
scene.add(light2);
let innerDomeGeometry = new THREE.IcosahedronGeometry(1, 2);
let innerDomeMaterial = new THREE.MeshPhongMaterial({shading: THREE.FlatShading});
innerDome = new THREE.Mesh(innerDomeGeometry, innerDomeMaterial);
scene.add(innerDome);
//애니메이션 설정
let clock = new THREE.Clock()
function animate() {
requestAnimationFrame(animate);
time = Date.now() * 0.0005;
elapsedTime = clock.getElapsedTime() * 2;
light1.position.x = -2.1 * Math.cos(-elapsedTime);
light1.position.y = -2.1 * Math.sin(-elapsedTime);
light2.position.x = 2.1 * Math.cos(-elapsedTime);
light2.position.y = 2.1 * Math.sin(-elapsedTime);
renderer.render(scene, camera);
}
animate();
//화면 사이즈 설정
function onWindowResize() {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
window.addEventListener('resize', onWindowResize);