Version: 2023.2
언어: 한국어
윈드 존
하이트맵 작업

풀 및 기타 디테일

터레인의 표면에는 풀 덤불이나 기타 작은 오브젝트(예: 돌)가 존재할 수 있습니다. Unity는 원하는 디테일 수준(LOD)과 성능에 따라 텍스처링된 사각형 또는 전체 메시를 사용하여 이러한 오브젝트를 렌더링할 수 있습니다.

Instancing details work with all render pipelines, including the High Definition Render Pipeline (HDRP).

풀이 있는 터레인
풀이 있는 터레인

터레인 디테일은 여러 가지 모드에서 사용할 수 있으며 각 모드는 게임 개발 중에 서로 다른 용도로 사용됩니다.

Mode 설명
Instanced mesh 이 모드는 터레인에 임의의 메시를 원하는 수만큼 배치해야 하는 대부분의 시나리오에 가장 적합하기 때문에 Unity에서 권장하는 모드입니다.

Instanced mesh를 추가하려면 Add Detail Mesh를 선택하고 Use GPU Instancing 옵션을 활성화합니다.
Vertex Lit mesh 렌더링에 GPU 인스턴싱을 사용하지 않습니다. 대신 모든 디테일 인스턴스를 하나의 메시로 결합하므로 단순한 셰이딩과 얻을 수 있는 인스턴스 수에 제한이 생깁니다.

Vertex Lit mesh를 추가하려면 Add Detail Mesh를 선택하고 Render ModeVertex Lit으로 설정합니다.
Grass mesh Vertex Lit mesh와 유사하게 작동하지만 Unity는 이러한 메시를 풀로 취급하므로 항상 노멀이 위쪽을 향하고 바람에 따라 움직입니다.

Grass mesh를 추가하려면 Add Detail Mesh를 선택하고 Render ModeGrass로 설정합니다.
Grass Texture 바람에 따라 움직이는 텍스처에서 직접 풀 사각형 메시를 만들 수 있습니다. 커스텀 메시를 지정할 필요가 없으며 빌보드 효과를 위해 풀 사각형이 항상 카메라를 향하도록 하는 옵션도 있습니다.

이 옵션을 적용하려면 Add Grass Texture를 선택합니다.

페인트 디테일

풀 및 디테일 페인팅을 활성화하려면 터레인 인스펙터 툴바의 Paint Details 버튼을 선택합니다.

터레인 인스펙터의 Paint Details
터레인 인스펙터의 Paint Details

To access Paint Details from an overlay:

  1. In the Terrain Tools overlay, select Foliage Mode Foliage Mode Menu. Foliage Mode tools display at the end of the Terrain Tools overlay.
  2. From the available Foliage Mode tools on the Terrain Tools overlay, select Paint Details Paint Details.

맨 처음 터레인에는 풀이나 디테일 요소가 하나도 없습니다. 인스펙터에서 Edit Details 버튼을 클릭하여 Add Detail MeshAdd Grass Texture 옵션이 포함된 메뉴를 표시합니다. 각 옵션을 클릭하면 터레인 페인팅을 위해 추가할 에셋을 선택할 수 있는 창이 나타납니다.

디테일 메시 추가

디테일 메시 추가 창
디테일 메시 추가 창

Use the Detail Prefab field to select a Prefab from your Project. To create an authentic look, a random factor affects each mesh to determine the size and color. Unity uses the Perlin noise algorithm to generate such random factors.

Min Width, Max Width, Min Height, Max Height 값은 메시가 랜덤으로 생성되는 X축이나 Y축을 따라 위쪽과 아래쪽 스케일링을 지정합니다.

The Align to Ground (%) value specifies how much the detail axis aligns to the terrain normal. 0 is unaligned, and 100 is aligned to the normal.

The Position Jitter (%) controls the randomness of the detail distribution from ordered to random. This is only available when legacy distribution is turned off in Quality settings.

Noise Seed 설정은 난수 제너레이터 시드를 설정합니다. 각 시드 값은 고유한 생성을 나타냅니다. 두 가지 디테일 타입에 대해 동일한 시드를 설정하면 생성된 인스턴스가 동일해집니다. Noise Spread 값은 XZ 평면에 대한 노이즈 패턴의 스케일링을 나타내며 값이 높을수록 주어진 영역 내에서 더 많은 배리에이션이 있음을 나타냅니다.

Hole Edge Padding (%) 설정은 디테일 오브젝트가 구멍 영역 가장자리에서 얼마나 떨어져 있는지를 제어합니다. 자세한 내용은 DetailPrototype.holeEdgePadding을 참조하십시오.

The Detail Density value controls the detail’s density relative to its size. You can enable this in “Coverage” detail scatter mode, set in Terrain Settings.

Healthy Color and Dry Color settings control the color variation. Unity performs linear interpolation between the healthy and dry colors, and selects a color based on the size of the mesh. For example, the system considers bigger-sized meshes to be healthier. The linear interpolation results for such meshes lean more towards the Healthy Color tint. These color settings disappear when you select Use GPU Instancing because they have no effect on instanced meshes.

The Affected by Density Scale checkbox determines whether the Detail Density Scale setting set in the Terrain Settings affects this detail.

Render ModeVertex Lit 또는 Grass로 설정할 수 있습니다.

Render Mode 설명
Vertex Lit 씬에서 바람에 움직이지 않는 견고한 버텍스 릿 게임 오브젝트로 디테일 메시를 렌더링합니다.
Grass Grass Textures와 유사한 단순화된 조명으로 씬의 디테일 메시를 렌더링하고 바람에 움직입니다.

Note: To apply a texture on a detail using Vertex Lit or Grass render mode, assign a texture to the MainTex material property (default property name for Base Color Map in built-in/URP). No other material properties are considered for non-instanced details.

GPU 인스턴싱 사용

You can specify if you want to use GPU instancing to render your detail meshes. With GPU instancing, Unity uses the material and the shader specified on the prefab for rendering. This lets you perform more customization in the shader and use Shader Graph.

Unity still applies the Width and Height noise to each instance, but disables the Healthy Color/Dry Color noise. You can use your own color variation technique, along with other randomizations, in the shader.

Under the hood, some Unity GPU instancing limitations do affect rendering. For example:

  • 타겟 플랫폼이 GPU 인스턴싱을 지원해야 합니다.
  • 셰이더가 GPU 인스턴싱을 지원해야 합니다(대부분의 셰이더가 지원합니다).
  • 오브젝트는 1023개 이하의 배치로 렌더링됩니다.
  • Instanced light probe lighting or lightmap lighting aren’t supported.

Unity가 모든 프레임마다 인스턴싱 상수 버퍼를 동적으로 빌드하는 일반 인스턴싱과 달리 인스턴싱 디테일에는 타겟 하드웨어에서 허용하는 경우 GPU 메모리 사용량이 약간 증가하는 대신 CPU 및 GPU 성능을 향상시키기 위한 지속적인 상수 버퍼가 있습니다.

Use GPU Instancing을 선택하면 Render Mode 설정이 회색으로 표시되고 사용할 수 없습니다.

풀 텍스처 추가

풀 텍스처 추가 창
풀 텍스처 추가 창

Grass Texture 추가 창

Detail Texture is the Texture that represents the grass. You can download Textures from the Asset Store, or create your own Textures. A Texture is a small image with alpha set to zero for the empty areas. Note that “Grass” is a generic term; it’s possible for a Texture to represent flowers or man-made objects such as barbed wire coils.

The Min Width, Max Width, Min Height, Max Height, Noise Seed, Noise Spread, Hole Edge Padding (%), Align to Ground (%), Position Jitter (%), Detail Density, Affected by Density Scale, Healthy Color, and Dry Color settings work the same as they do for meshes. The Add Detail Mesh section above provides more details.

When you enable the Billboard option, the grass images rotate so that they always face the Camera. This is useful when you want to display a dense field of grass because clumps are two-dimensional, and not visible from the side. However, with sparse grass, the rotations of individual clumps might become visible, which could a strange effect.

디테일 제거

디테일을 제거하려면 제거할 디테일을 선택하고 Edit Details 버튼을 클릭한 다음 Remove를 선택합니다. 디테일을 제거하면 Unity는 해당 디테일을 흩뿌린 터레인 영역을 나타내는 데이터를 지웁니다.


  • 2022–07–20 페이지 수정됨
  • Added information about detail density and distribution.
윈드 존
하이트맵 작업
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961