- 화면 구성

new THREE.Scene() : 장면

 

new THREE.PerspectiveCamera(fov, aspectRatio, near, far) : 카메라

    fov(field of view) : 디스플레이어 보이는 장면의 범위, deg단위(45 = 45도)

    aspect ratio : 보통 화면의 너비 나누기 높이값을 사용

 

new THREE.WebGLRenderer : 렌더러

    setSize(w, h) : 렌더링시에 사이즈를 설정해줘야함

    document.body.appendChild를 통해 설정을 끝낸 렌더러를 추가해준다. 일반적으로는 윈도우의 가로 세로값을 사용하지만 /2와 같이 사이즈를 줄여사 사용하기도 한다

* 해당도를 낮추려면 setSize메서드를 사용할때 세번째 인자로 false를 넣어주면 절반의 해상도로 렌더링 함

 

- 큐브 만들기

new THREE.BoxGeometry(w, h, depth, widthSegments, heightSegments, depthSegments) : 6면체의 큐브를 만들 수 있다

new THREE.MeshBasicMaterial() : {color: hex} 와 같은 형태로 파라미터를 전달해서 큐브의 색을 설정할 수 있다.

new THREE.Mesh() : 생성한 상자와 설정한 색상값을 파라미터로 사용해서 큐브를 생성합니다.

scens.add(cube) : 생성한 큐브를 화면구성에서 만든 scene에 추가합니다.

 

- 장면 렌더링

requestAnimationFrame( animate ) : 장면을 초당 60회 렌더합니다.

function animate() {

    requestAnimationFrame( animate )

    renderer.render( scene, camera )
}

animate()

위의 코드처럼 초당 60회 렌더를 할 수 있는 함수를 생성합니다.

 

생성한 큐브를 회전시키기 위해 rotate값을 animate 함수안에 넣어주면 회전이 가능합니다.cube.rotation.x += 0.01과 같은 형태로 회전이 가능합니다.

+ Recent posts