13.4. 3D 심볼 생성

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

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

13.4.1. 포인트 레이어


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

  • You can define different types of 3D Shape to use for point symbols. They are mainly defined by their dimensions whose unit refers to the CRS of the project. Available types are:

    • Sphere defined by a Radius

    • Cylinder defined by a Radius and Length

    • Cube defined by a Size

    • Cone defined by a Top radius, a Bottom radius and a Length

    • Plane defined by a Size

    • Torus defined by a Radius and a Minor radius

    • 3D Model, using a 3D model file (several formats are supported) that can be a file on disk, a remote URL or embedded in the project.

    • Billboard, defined by the Billboard height and the Billboard symbol (usually based on a marker symbol). The symbol will have a stable size. Convenient for visualizing 3D point clouds Shapes.

  • The Altitude clamping can be set to Absolute, Relative or Terrain. The Absolute setting can be used when height values of the 3d vectors are provided as absolute measures from 0. Relative and Terrain add given elevation values to the underlying terrain elevation.

  • The shading can be defined.

  • Under the Transformations frame, you can apply affine transformation to the symbol:

    • Translation to move objects in x, y and z axis.

    • Scale to resize the 3D shapes

    • Rotation around the x-, y- and z-axis.

13.4.2. 라인 레이어


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

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

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

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

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

  • Diffuse, Ambient, SpecularShininess 메뉴를 통해 그림자를 정의할 수 있습니다.

13.4.3. 폴리곤 레이어


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

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

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


    그림 13.32 데이터 정의 압출

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

  • The Culling mode to apply to the symbol; it can be:

    • No Culling: this can help to avoid seemingly missing surfaces when polygonZ/multipatch data do not have consistent ordering of vertices (e.g. all clock-wise or counter clock-wise)

    • Front

    • or Back

  • The Rendered facade determines the faces to display. Possible values are No facades, Walls, Roofs, or Walls and roofs

  • checkbox Add back faces: for each triangle, creates both front and back face with correct normals - at the expense of increased number of vertex data. This option can be used to fix shading issues (e.g., due to data with inconsistent order of vertices).

  • checkbox Invert normals (experimental): can be useful for fixing clockwise/counter-clockwise face vertex orders

  • The shading can be defined.

  • Display of the checkbox Edges of the symbols can be enabled and assigned a Width and Color.


Combination for best rendering of 3D data

Culling mode, Add back faces and Invert normals are all meant to fix the look of 3D data if it does not look right. Typically when loading some data, it is best to first try culling mode=back and add back faces=disabled - it is the most efficient. If the rendering does not look correct, try add back faces=enabled and keep culling mode=no culling. Other combinations are more advanced and useful only in some scenarios based on how mixed up is the input dataset.

13.4.4. Shading the texture

Shading helps you reveal 3d details of objects which may otherwise be hidden due to the scene’s lighting. Ultimately, it’s an easier material to work with as you don’t need to worry about setting up appropriate scene lighting in order to visualise features.

Various techniques of shading are used in QGIS and their availability depends on the geometry type of the symbol:

  • 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. Read more at https://en.wikipedia.org/wiki/Phong_reflection_model#Description

  • Realistic Textured (Phong): same as the Realistic (Phong) except that an image is used as Diffuse Texture. The image can be a file on disk, a remote URL or embedded in the project. The Texture scale and Texture rotation are required.

  • 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 https://en.wikipedia.org/wiki/Gooch_shading

  • Embedded Textures with 3D models shape

13.4.5. 응용 프로그램 예시

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