중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 93.55% 번역되었습니다.

10.4. 3차원 심볼 생성

Style Manager 를 통해 3차원 맵 뷰 에서 렌더링될 모든 도형 유형의 3차원 심볼을 생성하고 저장할 수 있습니다.

다른 항목들과 마찬가지로, 3d 3D Symbols 탭을 선택하고 symbologyAdd 버튼 메뉴를 확장해서 다음을 생성할 수 있습니다:

10.4.1. 포인트 레이어

../../../_images/3d_point_symbol.png

그림 10.37 3차원 포인트 심볼의 속성

  • 포인트 심볼에 사용할 서로 다른 유형의 3차원 Shape 을 정의할 수 있습니다. 3차원 형태는 주로 프로젝트 좌표계를 참조하는 단위를 가진 차원으로 정의됩니다. 다음과 같은 유형을 정의할 수 있습니다:

    • 반경(Radius)으로 정의되는 구(Sphere) 형태

    • 반경(Radius)과 길이(Length)로 정의되는 원통(Cylinder) 형태

    • 크기(Size)로 정의되는 정육면체(Cube)

    • 상단 반경(Top radius), 하단 반경(Bottom radius) 그리고 길이(Length) 로 정의되는 원뿔(Cone) 형태

    • 크기(Size)로 정의되는 평면(Plane)

    • 반경(Radius) 과 작은 반경(Minor radius)으로 정의되는 Torus (원환면) 형태

    • 3D Model, using a 3D model file: supported formats include wavefront .obj, .glTF and .fbx. Models can be a file on disk, a remote URL or embedded in the project. Community-created models are shared on the QGIS Hub.

    • 빌보드 높이(Billboard height)와 (일반적으로 마커 심볼 을 바탕으로 하는) 빌보드 심볼(Billboard symbol)로 정의되는 빌보드(Billboard). 이 심볼의 크기는 정적입니다. 3차원 점구름 형태를 가시화하는 데 편리합니다.

  • 고도 클램핑(Altitude clamping)은 Absolute, Relative 또는 Terrain 가운데 하나로 설정할 수 있습니다. 3차원 벡터의 높이 값이 0에서 시작하는 절대 측정값으로 제공되는 경우 Absolute 설정을 사용할 수 있습니다. Relative 또는 Terrain 설정은 기저 지형 표고에 지정한 표고값을 추가합니다.

  • 음영 속성을 정의할 수 있습니다.

  • Transformations 프레임에서 심볼에 아핀 변환을 적용할 수 있습니다:

    • Translation: x, y, z 축에서 객체를 이동시킵니다.

    • Scale: 3차원 형태의 크기를 조정합니다.

    • Rotation: x, y, z 축을 중심으로 3차원 형태를 회전시킵니다.

10.4.2. 라인 레이어

../../../_images/3d_line_symbol.png

그림 10.38 3차원 라인 심볼의 속성

  • WidthHeight 설정 밑에서 벡터 라인의 Extrusion 을 정의할 수 있습니다. 라인이 Z값을 가지지 않을 경우, 이 설정을 통해 3차원 부피를 정의할 수 있습니다.

  • 사용자가 래스터 표고 데이터 또는 기타 3차원 벡터를 포함시킨 경우, Altitude clamping 을 통해 3차원 라인의 기저 지표면에 상대적인 위치를 정의하십시오.

  • Altitude binding 설정은 피처를 어떻게 지형에 고정시킬지를 정의합니다. 피처의 모든 Vertex 를 지형에 고정시키거나, 또는 Centroid 를 고정시킬 것입니다.

  • checkboxRender as simple 3D lines: 단순 3차원 라인으로 렌더링할 수도 있습니다.

  • 음영 속성을 정의할 수 있습니다.

10.4.3. 폴리곤 레이어

../../../_images/3d_polygon_symbol.png

그림 10.39 3차원 폴리곤 심볼의 속성

  • 다른 심볼들과 마찬가지로, Height 를 좌표계 단위로 정의할 수 있습니다. 또한 dataDefine 버튼을 사용해서 사용자 정의 표현식, 변수, 또는 속성 테이블의 항목으로 값을 덮어쓸 수도 있습니다.

  • Extrusion 을 사용하면 폴리곤에서도 누락된 Z값을 압출할 수 있습니다. 또 압출 과정에서 벡터 레이어의 값을 이용하기 위해 dataDefine 버튼을 사용하면 각 폴리곤 별로 서로 다른 결과값을 얻을 수 있습니다:

    ../../../_images/3d_extrusion.png

    그림 10.40 데이터 정의 압출

  • 앞에서 설명한 대로 Altitude clamping, Altitude binding 을 정의할 수 있습니다.

  • Culling mode: 심볼에 컬링 모드를 정의할 수 있습니다. 다음 가운데 하나로 설정할 수 있습니다:

    • No Culling: polygonZ/멀티패치(multipatch) 데이터의 꼭짓점들이 일관성 있는 순서로 (예를 들어 시계 방향 또는 반시계 방향으로) 되어 있지 않은 경우 누락된 것으로 보이는 표면을 방지하는 데 이 모드가 도움이 될 수 있습니다.

    • Front: 정면(front-face) 컬링

    • Back: 배면(back-face) 컬링

  • Rendered facade: 표시할 면(face)을 결정합니다. No facades, Walls, Roofs, 또는 Walls and roofs 가운데 하나를 선택할 수 있습니다.

  • checkbox Add back faces: 각 삼각형에 대해, 정확한 법선(normal)으로 정면 및 배면을 모두 생성합니다. 이때 꼭짓점 데이터의 개수가 늘어나 성능이 저하될 수도 있습니다. (예를 들어 꼭짓점 순서가 일관적이지 않은 데이터 때문에 발생한) 음영 문제를 해결하는 데 이 옵션을 사용할 수 있습니다.

  • checkbox Invert normals (experimental): 시계 방향/반시계 방향 정면 꼭짓점 순서를 해결하는 데 유용할 수 있습니다.

  • 음영 속성을 정의할 수 있습니다.

  • checkbox Edges: 이 옵션을 활성화하면 심볼 경계를 표시하며, 경계의 WidthColor 를 설정할 수 있습니다.

힌트

3차원 데이터를 최적으로 렌더링하기 위한 조합

Culling mode, Add back faces 그리고 Invert normals 모두 3차원 데이터가 올바르게 보이지 않을 경우 3차원 데이터의 모양을 수정하기 위한 설정들입니다. 일반적으로 데이터를 불러올 때 먼저 culling mode=backadd back faces=disabled 를 시도해보는 것이 좋습니다. 가장 효율적인 방법이기 때문입니다. 렌더링 결과가 올바르게 보이지 않는다면 culling mode=no cullingadd back faces=enabled 를 시도해보십시오. 다른 조합들은 좀 더 고급 사용자를 위한 것으로, 입력 데이터셋이 얼마나 섞여 있느냐를 기반으로 하는 몇몇 시나리오에서만 유용합니다.

10.4.4. 텍스처에 음영 만들기

음영 작업은 다른 상황에서는 신(scene)의 조명 때문에 보이지 않을 수도 있는 객체의 3차원 세부 사항을 드러내는 데 도움이 됩니다. 궁극적으로, 피처를 시각화하기 위한 적절한 신 조명을 설정하느라 고민할 필요 없이 3차원 심볼을 더 쉽게 작업할 수 있습니다.

QGIS에서는 다양한 음영 기법을 사용하는데, 그 사용성은 심볼의 도형 유형에 따라 달라집니다:

  • Realistic (Phong): describes the way a surface reflects light as a combination of the Diffuse reflection of rough surfaces with the Specular reflection of shiny surfaces (Shininess). It also includes an Ambient option to account for the small amount of light that is scattered about the entire scene. Use the Opacity slider to render semi-transparent objects in 3D. Read more at Phong reflection description.

  • Realistic Textured (Phong): 이미지를 Diffuse Texture 로 이용한다는 점을 제외하면 Realistic (Phong) 과 동일합니다. 이미지는 디스크 상에 저장된 파일일 수도 있고, 원격 URL일 수도 있으며, 프로젝트에 내장 되어 있을 수도 있습니다. Texture scaleTexture rotation 을 설정해줘야 합니다. 반쯤 투명한 3차원 객체를 렌더링하려면 Opacity 슬라이드 바를 이용하십시오.

  • CAD (Gooch): this technique allows shading to occur only in mid-tones so that edge lines and highlights remain visually prominent. Along with the Diffuse, Specular, Shininess options, you need to provide a Warm color (for surface facing toward the light) and a Cool color (for the ones facing away). Also, the relative contributions to the cool and warm colors by the diffuse color are controlled by Alpha and Beta properties respectively. See also Gooch shading.

  • Metal Roughness: a physically based rendering material that provides an accurate representation of how light interacts with surfaces. Options are available for setting the material Base color, Metalness and Roughness.

  • Embedded Textures: 3차원 모델 형태를 가지고 있는 내장 텍스처

10.4.5. 응용 프로그램 예시

앞에서 설명한 설정들을 자세히 알아보려면, https://app.merginmaps.com/projects/saber/luxembourg/tree 페이지에 있는 파일들을 다운로드 받아보십시오.