3D의 기초



ActionScript의 3D 소개

2차원 화면에 투영되는 2차원(2D) 객체와 3차원(3D) 객체의 주요 차이점은 객체에 세 번째 차원이 추가된다는 것입니다. 세 번째 차원을 통해 객체를 사용자가 보는 시점에서 가까이 또는 멀리 이동할 수 있습니다.

표시 객체의 z 속성에 숫자 값을 명시적으로 설정하면 3D 변형 행렬이 자동으로 만들어집니다. 이 행렬을 변경하여 해당 객체의 3D 변형 설정을 수정할 수 있습니다.

또한 3D 회전은 2D 회전과 다릅니다. 2D에서 회전 축은 항상 x/y 평면에 수직, 즉 z축에 있습니다. 3D에서 회전 축은 x, y 또는 z축을 기준으로 합니다. 회전을 설정하고 표시 객체의 크기 속성을 조절하여 3D 공간에서 객체를 이동할 수 있습니다.

일반적인 3D 작업

이 장에서는 다음과 같은 일반적인 3D 관련 작업에 대해 설명합니다.

  • 3D 객체 만들기

  • 3D 공간에서 객체 이동

  • 3D 공간에서 객체 회전

  • 원근 투영을 사용하여 깊이 표시

  • 상대적 z축에 일치하도록 표시 목록을 재배열하여 객체를 사용자의 정면에서 뒤쪽으로 나란히 표시

  • 3D 행렬을 사용하여 3D 객체 변형

  • 벡터를 사용하여 3D 공간에서 객체 조작

  • Graphics.drawTriangles() 메서드를 사용하여 원근감 만들기

  • UV 매핑을 사용하여 3D 객체에 비트맵 텍스처 추가

  • Graphics.drawTriangles() 메서드의 컬링 매개 변수를 설정하여 렌더링 속도 향상 및 3D 객체에서 현재 시점의 반대쪽을 향하는 부분 숨기기

중요한 용어 및 개념

다음 참조 목록에는 이 장에 사용된 중요한 용어가 포함되어 있습니다.
  • 원근: 2D 평면에서 깊이 및 거리 효과를 주기 위해 평행선들이 소실점에 수렴하도록 표현하는 것입니다.

  • 투영: 2D 이미지를 보다 높은 차원의 객체로 제작하는 것으로, 3D 투영의 경우 3D 점을 2D 평면에 매핑합니다.

  • 회전: 객체에 포함된 모든 점을 원형 모션으로 이동하여 객체의 방향과 위치를 변경하는 것입니다.

  • 변형: 평행 이동, 회전, 크기 조절, 기울이기 또는 이러한 액션의 조합을 통해 3D 점 또는 점 집합을 변경하는 것입니다.

  • 평행 이동: 객체에 포함된 모든 점을 동일한 방향으로 같은 거리만큼 이동하여 객체의 위치를 변경하는 것입니다.

  • 소실점: 선형 원근으로 표시될 때 평행선이 뒤쪽에서 서로 만나는 것처럼 보이는 부분입니다.

  • 벡터: 3D 벡터는 직교 좌표(x,y,z)를 사용하여 3차원 공간에서의 점 또는 위치를 나타냅니다.

  • 정점: 꼭지점을 나타냅니다.

  • 텍스처 메쉬: 3D 공간에서 객체를 정의하는 점입니다.

  • UV 매핑: 3D 표면에 텍스처 또는 비트맵을 적용하는 방법입니다. UV 매핑은 이미지 상의 좌표에 가로(U) 축 및 세로(V) 축의 백분율로 값을 지정합니다.

  • T 값: 객체를 현재 시점에서 앞으로 또는 뒤로 이동할 때 3D 객체의 크기를 결정하기 위한 비율 인수입니다.

  • 컬링: 특정 굴곡이 있는 표면을 렌더링하거나 렌더링하지 않는 것입니다. 컬링을 사용하면 현재 시점에서 보이지 않는 표면을 숨길 수 있습니다.