Flash Player 및 AIR 런타임에서 사용되는 3D 표시 객체 이해
Flash Player 10 이상, Adobe AIR 1.5 이상
|
Flash Player 10 이전의 Flash Player 버전과 Adobe AIR 1.5 이전의 Adobe AIR 버전에서는, 표시 객체에 2D 평면에서 위치를 지정하기 위한 두 가지 속성
x
및
y
가 있습니다. Flash Player 10 및 Adobe AIR 1.5부터는 모든 ActionScript 표시 객체에
z
속성이 추가되었습니다. 이 속성을 사용하면 깊이나 거리를 나타내는 데 일반적으로 사용되는 z축을 따라 표시 객체의 위치를 지정할 수 있습니다.
Flash Player 10 및 Adobe AIR 1.5부터는 3D 효과가 지원됩니다. 그러나 표시 객체는 본질적으로 평면입니다. MovieClip 객체나 Sprite 객체와 같은 각 표시 객체는 최종적으로 단일 평면에 2차원으로 렌더링됩니다. 3D 기능을 사용하면 이러한 평면 객체를 세 차원 모두에서 배치, 이동, 회전 및 변형할 수 있습니다. 또한 3D 점을 관리하고 2D x, y 좌표로 변환하여 3D 객체를 2D 보기에 투영할 수 있습니다. 이러한 기능을 사용하여 여러 종류의 3D 환경을 시뮬레이션할 수 있습니다.
ActionScript에서 사용되는 3D 좌표계는 다른 좌표계와 차이점이 있습니다. ActionScript에서 2D 좌표를 사용하는 경우 x축을 따라 오른쪽으로 이동하면 x 값이 증가하고 y축을 따라 아래로 이동하면 y 값이 증가합니다. 3D 좌표계에서는 이러한 규칙이 유지되면서 시점에서 멀리 이동할 때 값이 증가하는 z축이 추가됩니다.
ActionScript 3D 좌표계에서 x, y 및 z축의 양의 방향
-
A.
-
+Z축
-
B.
-
원점
-
C.
-
+X축
-
D.
-
+Y축
참고:
Flash Player와 AIR에서는 항상 3D를 레이어로 나타냅니다. 즉, 객체 A는 표시 목록에서 객체 B 앞에 표시되며 Flash Player 또는 AIR에서는 두 객체의 z축 값에 관계없이 항상 B 앞에 A를 렌더링합니다. 표시 목록 순서와 z축 순서 간의 이러한 충돌을 해결하려면
transform.getRelativeMatrix3D()
메서드를 사용하여 저장한 다음 3D 표시 객체의 레이어 순서를 다시 지정합니다. 자세한 내용은
Matrix3D 객체를 사용하여 표시 순서 재지정
을 참조하십시오.
새로운 3D 관련 기능을 지원하는 ActionScript 클래스는 다음과 같습니다.
-
flash.display.DisplayObject 클래스에는 3D 공간에서 표시 객체를 조작하기 위한
z
속성과 새로운 회전 및 크기 조절 속성이 포함되어 있습니다.
DisplayObject.local3DToGlobal()
메서드를 사용하면 3D 기하 도형을 2D 평면에 손쉽게 투영할 수 있습니다.
-
flash.geom.Vector3D 클래스는 3D 점을 관리하기 위한 데이터 구조로 사용할 수 있습니다. 또한 이 클래스는 벡터 수학을 지원합니다.
-
flash.geom.Matrix3D 클래스는 3D 기하 도형의 회전, 크기 조절 및 평행 이동과 같은 복잡한 변형을 지원합니다.
-
flash.geom.PerspectiveProjection 클래스는 3D 기하 도형을 2D 보기에 매핑하기 위한 매개 변수를 제어합니다.
ActionScript에서는 다음 두 가지 방법으로 3D 이미지를 시뮬레이션할 수 있습니다.
-
3D 공간에서 평면 객체를 배열하고 애니메이션을 적용합니다. 이 방법을 사용할 경우 표시 객체의 x, y 및 z 속성을 사용하여 표시 객체에 애니메이션을 적용하거나, DisplayObject 클래스를 사용하여 회전 및 크기 조절 속성을 설정합니다. DisplayObject.transform.matrix3D 객체를 사용하면 보다 복잡한 모션을 얻을 수 있습니다. DisplayObject.transform.perspectiveProjection 객체는 표시 객체를 3D 원근으로 그리는 방법을 사용자 정의합니다. 주로 평면으로 구성된 3D 객체에 애니메이션을 적용하려면 이 방법을 사용합니다. 예를 들어 3D 공간에 3D 이미지 갤러리 또는 2D 애니메이션 객체를 정렬하는 방법이 이러한 방법에 포함됩니다.
-
3D 기하 도형에서 2D 삼각형을 생성하고 해당 삼각형을 텍스처로 렌더링합니다. 이 방법을 사용하려면 먼저 3D 객체에 대한 데이터를 정의 및 관리한 다음 렌더링을 위해 해당 데이터를 2D 삼각형으로 변환해야 합니다. 비트맵 텍스처를 이러한 삼각형에 매핑한 다음
Graphics.drawTriangles()
메서드를 사용하여 해당 삼각형을 그래픽 객체로 그릴 수 있습니다. 예를 들어 파일에서 3D 모델 데이터를 로드하고 모델을 화면에 렌더링하거나, 3D 지형을 삼각형 메쉬로 생성하고 그리는 방법이 이러한 방법에 포함됩니다.
|
|
|