Version: Unity 6.0 (6000.0)
언어 : 한국어
LOD 설정으로 메시 임포트
낮은 디테일 수준을 위한 2D 이미지(LOD)

LOD Group 컴포넌트 레퍼런스

Switch to Scripting

LOD Group 컴포넌트는 게임 오브젝트의 디테일 수준(LOD)을 관리합니다.

LOD Group 인스펙터
LOD Group 인스펙터

A LOD 레벨 간의 전환을 위한 컨트롤

B LOD 레벨과__ LOD__ 렌더링 미리 보기 간 전환을 위한 LOD 그룹 선택 표시줄

C LOD Bias 품질 설정에 대한 정보. 이 메시지는 LOD Bias 프로퍼티가 1이 아닌 다른 값으로 설정된 경우에 표시됩니다.

D 선택한 LOD 레벨에 대한 Fade Transition Width 설정. 이 프로퍼티는 Animate Cross-fading 프로퍼티를 비활성화할 경우, 즉 시간 대신 너비를 기준으로 전환 영역을 설정할 때 표시됩니다.

E 선택한 LOD 레벨에 설정된 메시 렌더러

또한 컴포넌트 하단에 두 개의 버튼이 있습니다.

  • Recalculate Bounds를 클릭하면 새로운 LOD 레벨이 추가된 후 모든 LOD 메시 게임 오브젝트의 바운딩 볼륨을 다시 계산합니다.
  • Recalculate Lightmap Scale을 클릭하면 LOD 레벨 경계에 적용한 변경 사항에 따라 모든 LOD 메시 렌더러에 대한 Scale in Lightmap 프로퍼티를 업데이트합니다.

LOD 그룹 선택 표시줄

LOD 그룹 선택 표시줄은 다양한 LOD 레벨을 컬러 상자로 표시합니다.

각 LOD 레벨 상자에 나타나는 백분율은 해당 레벨이 활성화되는 임곗값을 나타내며, 게임 오브젝트의 스크린 공간 높이와 총 화면 높이 간 비율에 기반합니다. 예를 들어 LOD 1의 임곗값이 50%로 설정된 경우 카메라가 게임 오브젝트의 높이가 시야의 절반을 채울 정도로 뒤로 당기면 LOD 1이 활성화됩니다.

LOD 그룹 선택 표시줄
LOD 그룹 선택 표시줄

A LOD 미리 보기의 재생 헤드. 카메라 아이콘을 앞뒤로 이동하여 LOD 레벨과 전환을 테스트할 수 있습니다. 재생 헤드 하단에 현재 백분율이 표시됩니다.

B 레벨을 선택하려면 레벨 상자를 클릭합니다. 선택한 각 LOD 레벨에 사용할 렌더러를 선택하거나 전환 영역을 커스터마이즈할 수 있습니다.

C 선택 표시줄에서 LOD 레벨을 추가 및 제거하려면 LOD 레벨 상자를 오른쪽 클릭한 후 컨텍스트 메뉴에서 Insert Before 또는 Delete 를 선택합니다.

D 레벨 조절 컨트롤. LOD 레벨의 백분율 값을 변경하려면 LOD 레벨 상자 경계의 왼쪽 테두리를 드래그합니다.

참고: LOD Bias 프로퍼티가 1로 설정되어 있지 않은 경우 카메라 위치가 각 LOD 레벨이 실제로 다음 레벨로 전환되는 위치와 일치하지 않을 수 있습니다. 이 경우 선택 표시줄 아래에 경고 메시지가 표시되니다.

Lod Bias 경고
Lod Bias 경고

LOD 전환 미리 보기

LOD 그룹 선택 표시줄의 카메라 아이콘을 이동하면 씬 뷰에 LOD 레벨 전환의 미리 보기가 표시됩니다. 카메라 아이콘은 재생 헤드 역할을 하며, LOD 그룹 선택 표시줄을 따라 앞뒤로 이동하여 미리 볼 정확한 위치를 제어할 수 있습니다. 미리 보기에는 카메라가 각 LOD 레벨에서 렌더링할 것이 표시됩니다.

LOD 그룹 선택 표시줄의 전환 미리 보기 컨트롤
LOD 그룹 선택 표시줄의 전환 미리 보기 컨트롤

LOD 미리 보기 재생 헤드는 LOD 그룹 선택 표시줄을 따라 왼쪽의 100%에서 오른쪽의 0%까지 백분율로 정확한 위치를 표시합니다. 백분율은 게임 오브젝트의 스크린 공간 높이와 총 화면 높이의 비율을 나타냅니다.

레벨을 이동하면 씬 뷰에 트리 에셋의 경계 상자가 표시되고 오버레이가 활성화된 LOD를 나타냅니다.

활성 LOD 레벨을 표시하는 오버레이
활성 LOD 레벨을 표시하는 오버레이

참고: Unity는 하나의 게임 오브젝트를 선택한 경우에만 LOD 레이블을 표시합니다. 여러 개의 게임 오브젝트가 선택된 경우에는 표시되지 않습니다.

LOD 메시용 렌더러

LOD 그룹 선택 표시줄에서 LOD 레벨 상자를 선택하면 Renderers 패널이 표시됩니다.

LOD 3의 빌보드 렌더러가 있는 Renderers 패널
LOD 3의 빌보드 렌더러가 있는 Renderers 패널

’렌더러’는 실제로 해당 LOD 레벨의 메시를 보유하는 게임 오브젝트입니다. 일반적으로 LODGroup 컴포넌트가 있는 게임 오브젝트의 자식입니다.

현재 LOD 레벨에 렌더러 메시를 설정하려면 Add 상자를 클릭하고 오브젝트 피커에서 해당 LOD 레벨에 대한 게임 오브젝트를 선택하십시오.

렌더러에는 모든 게임 오브젝트를 선택할 수 있지만, 아직 자식이 아닌 게임 오브젝트를 선택하면 Unity가 LODGroup 게임 오브젝트를 부모로 지정하라는 메시지를 표시합니다.

LOD 레벨 간의 전환

LOD 레벨 간의 원활한 전환은 플레이어의 게임 경험을 향상시킵니다. 카메라가 가까이 다가가거나 멀어질 때 플레이어들에게 현재 LOD 레벨에서 다음 LOD 레벨로의 전환 효과(파핑이라고도 함)를 보여 주지 않는 것이 좋습니다.

원활한 전환은 전환 영역 내에서 발생하며, 이때 Unity는 현재 LOD 레벨과 다음 LOD 레벨을 독립적으로 렌더링한 후 함께 크로스 페이딩합니다.

크로스 페이딩은 두 개 레벨을 동시에 렌더링하는 기법으로, 현재 LOD 레벨에 1에서 0 사이의 가중치를 지정하고 다음 LOD 레벨에 0부터 1 사이의 가중치를 지정합니다.

현재 LOD 레벨과 다음 LOD 레벨 간의 크로스 페이딩
현재 LOD 레벨과 다음 LOD 레벨 간의 크로스 페이딩

일반적으로 Unity는 스크린 공간 디더링 또는 투명도를 사용하여 크로스 페이딩을 구현합니다. 마지막 LOD 레벨에는 크로스 페이딩이 없습니다. 현재 레벨은 단지 페이드아웃됩니다.

LOD 레벨에 원활한 전환을 설정하려면 다음 단계를 따르십시오.

  1. Fade Mode 드롭다운 메뉴를 선택하고 Cross Fade를 선택합니다.

    Fade Mode 드롭다운 메뉴
    Fade Mode 드롭다운 메뉴

    참고: 트리 에셋을 SpeedTree로 만든 경우 대신 Speed Tree 모드를 선택합니다. 자세한 내용은 SpeedTree 모델 사용을 참조하십시오.

  2. 기본적으로 Animate Cross-fading 옵션이 활성화되어 있으므로 Unity가 시간 기반 전환을 수행합니다. 카메라의 위치에 따라 고유한 전환 영역을 정의하고 싶다면 Animate Cross-fading 옵션을 비활성화하고 Fade Transition Width 프로퍼티를 설정하십시오.

    자세한 내용은 전환 영역 커스터마이즈 값을 참조하십시오.

전환 영역 커스터마이즈

두 LOD 레벨 간의 전환은 모델의 높이 비율이 다음 LOD 임곗값을 초과하는 순간부터 시작됩니다. 예를 들어 LOD 1 임곗값이 60%로 설정된 경우 모델의 높이가 60%가 되자마자 LOD 0과 LOD 1 레벨 간의 전환이 시작됩니다. 전환은 짧은 시간 동안 지속됩니다.

Animate Cross-fading(시간 기준)
Animate Cross-fading(시간 기준)

이 동작은 시간별로 애니메이션화되므로, Animate Cross-fading 프로퍼티를 설정한 후에는 다른 프로퍼티를 설정할 필요가 없습니다. 크로스 페이드의 정확한 지속 시간은 모든 LOD 레벨에서 동일합니다.

또는 각 LOD 레벨 내의 전환 영역을 해당 위치에 따라 수동으로 정의할 수 있습니다. 각 영역은 다음 LOD 레벨의 임곗값 이전에 시작하고 끝납니다. 전환 영역으로 사용할 각 LOD 레벨의 비율을 정의합니다. 즉, 다음 레벨의 임곗값에 도달하기 전에 전환이 시작되는 거리를 설정합니다.

Fade Transition Width(위치 기준)
Fade Transition Width(위치 기준)

Fade Transition Width 프로퍼티를 사용하여 각 LOD 레벨에 대한 전환 영역을 정의합니다.

  1. Animate Cross-fading 옵션을 비활성화합니다.

  2. 설정하려는 특정 LOD 레벨 상자를 클릭합니다.

    Fade Transition Width 프로퍼티가 LOD 그룹 선택 표시줄 아래에 표시됩니다.

    Fade Transition Width 프로퍼티가 표시됨
    Fade Transition Width 프로퍼티가 표시됨
  3. Fade Transition Width 프로퍼티를 설정하여 크로스 페이드 전환 영역의 너비를 현재 LOD 레벨의 전체 길이에 대한 비율(0.0–1.0)로 정의합니다. 예를 들어 작은 값을 지정하면 블렌딩의 시작이 지연되고 전환 속도가 빨라집니다.

SpeedTree 모델을 사용한 작업

SpeedTree 지오메트리는 각 버텍스에 다음 LOD 위치를 저장합니다. 그러면 모든 버텍스는 현재 LOD 위치와 다음 LOD 위치 간에 보간하는 방법을 알고 있습니다. Unity는 SpeedTree에서 만든 모델을 임포트할 때 자동으로 모델을 Speed Tree 모드로 설정합니다.

SpeedTree 모델의 Speed Tree Fade Mode
SpeedTree 모델의 Speed Tree Fade Mode

Unity는 현재 LOD 지오메트리만 렌더링하고 0과 1 사이의 값을 제공하여 각 버텍스에 다음 LOD 위치로 점차 이동하라고 지시해야 합니다. 전환이 끝나면 현재 LOD와 다음 LOD의 지오메트리가 완벽하게 일치합니다.

두 LOD 레벨 간의 블렌딩은 0에서 시작하고 1에서 끝납니다. 이 영역의 모든 포인트는 블렌드 인자입니다. 즉, 현재 LOD 레벨과 다음 LOD 레벨 간의 가중치를 나타냅니다.

SpeedTree 모델의 블렌딩
SpeedTree 모델의 블렌딩

Speed Tree 모드는 블렌드 인자를 사용하여 현재 메시 LOD 레벨 과 다음 메시 LOD 레벨 간의 버텍스 위치를 보간한 후 해당 위치에서 지오메트리를 렌더링합니다.

참고: Speed Tree 모드는 현재 LOD 레벨과 다음 LOD 레벨 모두에 메시 렌더러가 있을 때 두 개의 메시 LOD 레벨 간의 블렌딩에만 사용됩니다. Billboard LOD 레벨로 전환하거나 완전히 페이드아웃할 때 Unity는 크로스 페이드 스타일 블렌딩을 수행합니다.

셰이더 코드의 블렌드 인자

Unity는 LOD 지오메트리를 블렌딩하기 위한 기본 빌트인 기술을 제공하지 않습니다. 게임 유형과 에셋 정식 제작 파이프라인에 따라 고유한 기법을 구현해야 합니다.

Unity는 게임 오브젝트의 화면 크기에서 블렌드 인자를 계산하여 unity_LODFade.x uniform 변수로 셰이더에 전달합니다. 선택한 페이드 모드에 따라 LOD 페이딩으로 렌더링된 게임 오브젝트에 LOD_FADE_PERCENTAGE 또는 LOD_FADE_CROSSFADE 키워드를 사용합니다.

시간 기반(애니메이션화) 전환의 경우 LODGroup.crossFadeAnimationDuration 멤버를 사용하여 모든 LOD 레벨에 정확한 전환 지속 시간을 전역으로 설정할 수 있습니다.

LOD 명명 규칙에 대한 자세한 내용은 LOD 설정으로 메시 임포트를 참조하십시오.

LODGroup

LOD 설정으로 메시 임포트
낮은 디테일 수준을 위한 2D 이미지(LOD)