환영합니다
지난 강의에서 절차적으로 foliage(폴리지)를 생성할 수 있는 다양한 폴리지 도구에 대해 배웠고
사용할 에셋을 임포트했습니다
우리가 사용할 방법은 Landscape(랜드스케이프) 그래서 타입이고 어떻게 설치하는지
알아보겠습니다
먼저 Landscape(랜드스케이프) 풀 타입 에셋을 만들어야 합니다
그리고 머티리얼 그래프에서 이 에셋을 위해 특별히 디자인된 노드를 만들어야합니
마지막으로 마스크를 특정해야 합니다
이 방법이 작동하려면 Foliage(폴리지)가 자라길 바라는 위치를 특정하는 마스크가 필요하다는 것을
기억해야 합니다
이 문제들을 하나하나 해결해 보겠습니다
프로젝트로 돌아가서 Landscape(랜드스케이프) 풀 타입 에셋을 만들어 보겠습니다
Material 폴더를 더블 클릭하고 AutoLandscapeMaterial에 들어갑니다
새로운 폴더를 생성하고 이름은 Foliage라고합니다. 더블 클릭하여
열어줍니다
우리가 spawn(스폰)할 첫 번째 Foliage(폴리지) 유형은 잔디(풀)입니다
따라서 Grass 폴더를 생성하고 더블 클릭하여 열어줍니다
새로운 에셋을 만들 것이기 때문에 Foliage로 들어가서 Landscape Grass Type을 선택합니다
그 다음 이름을 LGT_Grass로 자정하고 더블 클릭하여 열어줍니다. 보시면
Grass Varieties(풀 다양성)이 있습니다
여기 요소 추가 버튼을 눌러 스폰하려는 잔디 또는 Foliage(폴리지)를 추가할 수
있습니다
요소 추가 버튼을 클릭하면 인덱스가 추가된 것이 보입니다
드롭 다운을 클릭합니다
먼저 풀 메시를 특정할 수 있습니다. 이 드롭 다운을 클릭하고 여기서는
sm_fieldgrass를 사용합니다
여기에서 보실 수 있습니다
이것을 이 scene(씬)의 풀로 사용합니다. 계속 스크롤을 하면
수정할 수 있는 속성이 상당히 많이 있습니다
대부분은 따로 설명이 필요 없습니다
예를 들어 Grass Density(풀 밀도)의 값은 scene(씬)에 있는 잔디의 밀도를
정합니다
가볍게 시작하기 위해 숫자를 400에서 200으로 변경합니다. 이 숫자는 나중에 언제든지
바꿀 수 있습니다
Use Grid(그리드 사용)와 Placement Jitter(배치 지터)의 기본 설정을 유지합니다
다음은 상당히 중요합니다
Cull Distance(컬 디스턴스) 시작과 끝이 있습니다
컬 디스턴스는 Foliage(폴리지) 즉, 메시가 사라지는 시점을 직접 결정합니다
여기 예시를 보실 수 있습니다
여기 컬 디스턴스의 시작과 끝이 있습니다
시작 컬 디스턴스의 단위는 8000입니다
즉, 이 유형의 Foliage(폴리지) 또는 메시는 Foliage(폴리지)와 카메라의 거리가
8000 단위 이상이 되면 사라지기 시작한다는 의미입니다
거리가 8500 단위 이상이 되면 이 메시의 모든 유형이 scene(씬)에서 사라지게 됩니다
이 컬 디스턴스를 적당하게 설정해서 성능을 향상 시킬 수 있습니다
scene(씬)의 Foliage(폴리지) 양을 효과적을 줄일 수 있게 도와줍니다
그래서 지금 시작 컬 디스턴스를 8000으로 설정합니다
따라서 거리가 8000 단위가 되면 풀밭이 사라지기 시작할 것이며 끝 컬 디스턴스
즉, 최대 컬 디스턴스는 8500으로 설정합니다
거리가 이 숫자에 도달하면 scene(씬)의 모든 잔디가 사라집니다
좋습니다
다음은 Min LOD입니다
기본값은 -1로 설정되어 있습니다
LOD라는 용어는 Level of Details의 약어입니다
이 방법을 사용하는 이유는 scene(씬)의 거리에 따라 메시의 polygon(폴리곤) 수를
줄일 수 있기 때문이며 이 풀을 예시로 볼 수 있습니다. LOD가 3가지 있습니다
이것은 LOD 0입니다
전체 triangle(트라이앵글) 수는 765입니다
이 LOD는 디테일이 가장 높습니다
LOD 1으로 바뀌면 트라이앵글 수가 278로 줄어듭니다
이 LOD에는 디테일이 줄어든 것이 보일 것입니다
마지막 LOD인 LOD 2의 경우 트라이앵글이 또 줄어듭니다
마지막이 가장 낮은 디테일을 보입니다
트라이앵글 수가 18 밖에 안됩니다
즉, 카메라와 메시의 거리에 따라 풀이 다르게 보이며 아주 멀리 있다면
이와 같은 디테일이 보일 필요가 없습니다
이 정도만 필요합니다
무언가가 있다는 정도로
충분합니다
그러나 풀에 아주 가까운 경우 디테일이 더 보여야 합니다
이것이 LOD를 사용하는
이유입니다
전환하는 방법 같은 경우는 카메라와의 거리와 관련이 있습니다
보시다시피 알맞은 LOD를 사용하여 Frame Rate(프레임 레이트)를
즉, scene(씬)의 성능을 향상 시킬 수 있습니다
트라이앵글 수가 적을수록
더 빠르게 작동합니다
풀에는 덜 뚜렷하게 보일 수 있습니다
여기 BlackAlder 폴더로 들어가서 여기 있는 나무 중 아무거나 더블 클릭하여 열어줄 수 있습니다
이것을 더블 클릭하여 열어줍니다
아주 멋진 나무가 보이며 좌측 상단의 상자에 주목합니다
지금 LOD 1을 보고 있습니다. 트라이앵글의 수는 이와 같습니다. 그러나 이제
멀어지면
이와 같은 거리로 가면 LOD 1에서 LOD 2로 전환되고 트라이앵글의 수가 현저히 줄어듭니다
계속 멀리 떨어질수록
이제 LOD 3에 있고 트라이앵글 수가 또 줄어듭니다. 거리가
아주 아주 멀어지면
여기로 옵니다
이제 트라이앵글이 8개이고 LOD 6입니다
전환하는 방식이 이 메시와 카메라의 거리와 상관이 있다고 말씀드렸는데
더 정확히 말하자면 Current Screen Size(현재 화면 크기)에 달려있습니
여기 보시면 현재 화면 크기와 LOD가 보입니다
나무에 매우 가까이 다가가면 이것이 현재 화면 크기와 LOD가 됩니다
즉, 이 화면 크기가 메시의 LOD를 결정하는 것입니다
이는 수동으로 overrride(오버라이드)할 수 있습니다. 오른쪽으로 가면
LOD picker(피커)가 보이며 LOD 0을 선택하면 화면 크기가
1입니다
즉, 화면 크기가 1일 때 LOD 0을 사용하는 것입니다
LOD 5를 선택하면 화면 크기가 0.4입니다
즉, 화면 크기가 0.4가 될 때 LOD 5를 사용하는 것이며 이는 수동으로 오버라이드해서
성능을 향상 시킬 수 있습니다. 예로 특정 메시에
전환을 더 빠르게 하고 싶다면
이 숫자를 수동으로 설정할 수 있습니다. 이 드롭 다운에서 LOD를 빠르게 프리뷰할 수 있습니다
이것은 LOD 5이고 이것은 LOD 6입니다
이것은 단순히 빌보드 텍스처이지만 LOD 0에
가장 높은 디테일이 보입니다
다시 LOD Auto(자동)으로 설정합니다
좋습니다
다시 Landscape(랜드스케이프) 풀 타입으로 돌아갑니다
지금 최소 LOD는 -1로 설정되어 있습니다
마우스 커서를 위에 올리면 이 컴포넌트에서 사용하는 가장 낮은 LOD를
특정하는 것이 보입니다
즉, 기본으로 -1을 사용한다면 Static Mesh(스태틱 메시)의 최소 LOD가 사용된다는 의미입니다
다시 말하자면 이 풀의 최소 LOD는 0이 되고 화면 크기에 따라
다른 LOD로 전환됩니다
좋습니다
이제 LOD의 개념과 어떻게 scene(씬)의 성능을 향상 시키는지 이해하셨기를
바랍니다
다음은 scaling(스케일링)입니다
현재는 Uniform(균등)으로 설정되어 있습니다
일반적으로 scene(씬)에 균등한 Foliage(폴리지)를 원하지 않습니다
이 숫자를 변경하여 무작위성을 제공할 수 있습니다
여기 최소 스케일은 0.8로 하고 최대 스케일은 1.2로 설정합니다
이 숫자는 나중에 언제든지 바꿀 수 있습니다. 나머지 속성의 경우
기본 설정으로 유지합니다
보통 성능을 향상 시키는 또 다른 옵션이 있습니다
Cast Dynamic Shadow(다이내믹 섀도 드리우기)이며 이것이 필요 없는 경우 체크를 해제하시면 일반적으로
Frame Rate(프레임 레이트)를 상당히 향상 시킬 수 있습니다
좋습니다
아주 긴 부분이었습니다. 지금까지 Landscape(랜드스케이프) 풀 타입 에셋이었습니다
다음, 사용하기 위해 머티리얼 그래프에 노드를 만들어야 합니다
지금부터 해보겠습니다
프로젝트로 돌아갑니다
M_AutoLandscape을 열어줍니다. 빈 공간으로 가서 여기에
마우스 오른쪽 버튼을 클릭해서 'landscape grass output'을 검색합니다
기본으로 소켓이 하나 있으며 이것이 소켓의 이름입니다
지금 이름도 괜찮습니다
이름이 Grass이며 여기서 에셋을 선택해야 하므로 이 드롭 다운을 클릭하고
LGT_Grass를 선택합니다. 보시다시피 한 개의 입력 소켓이 있습니다
이제 세 번째 단계인 마스크 특정이며 이를 위해 또 다른 노드를 사용합니다
노드의 이름은 LandscapeLayerSample입니다
이 노드를 선택하면 이름이 Sample 'None'이고
출력 소켓이 하나 있습니다
이 노드가 무엇을 하는 것일까요?
Landscape Layer Sample(랜드스케이프 레이어 샘플) 노드는 하나의 플로트 즉, 마스크를 출력합니다
그러나 입력 소켓이 없습니다
그렇다면 어떻게 마스크를 특정할 수 있을까요?
이를 위해 여기에 parameter(파리미터) 이름을 특정합니다
그러나 여기에 어떤 이름을 입력해야 할까요?
이 노드의 이름이 Landscape(랜드스케이프) 레이어 샘플이므로
여기에 Landscape(랜드스케이프) 레이어 블렌드 노드의 Landscape(랜드스케이프) 레이어 이름을 입력합니다. 예를 들어
여기에 두 레이어가 있습니다
첫 번째 레이어 이름은 AutoLandscapeMaterial이고 두 번째 레이어 이름은 GrassMaterial입니다
따라서 GrassMaterial을 파라미터 이름에 입력하면 GrassMaterial을 사용하는 부분에만
흰 값을 생성하는 마스크가 출력됩니다
이를 시각화해 보겠습니다. 프로젝트로 돌아갑니다
이 레이어는 흙 레이어를 샘플할 것입니다
Layer Blend 노드로 가서 흙 레이어로 내려갑니다
이것이 흙 레이어의 이름입니다
이 이름을 복사하고 Landscape(랜드스케이프) 레이어
샘플 노드에 붙입니다
그리고 이 출력 소켓을 입력 소켓에 연결합니다
그 다음 Apply를 누릅니다
이제 scene(씬)에 잔디가 있는 것이 보입니다
작동하는 방식은 Landscape(랜드스케이프)에 단일 레이어를 페인트할 때마다 레이어에
잔디가 스폰됩니다
이제 Landscape(랜드스케이프) 모드로 가서 페인트 모드로 들어가면 흙 머티리얼을 선택할 수 있습니다
여기에 흙을 페인트하면 이제 이 레이어에 잔디가 많이 생깁니다
이것이 레이어 샘플 노드가 작동하는 것입니다
특정한 레이어에만 흰 값이 나오는 마스크를 출력하는 것입니다
좋습니다. 이제 여러분이 하실 차례입니다
오늘의 과제는 여러분의 프로젝트에 Landscape(랜드스케이프) 풀 타입 에셋을 만드는 것입니다
이 단계에서 Static Mesh(스태틱 메시)를 특정하셔야 합니다
즉, 나중에 어떤 유형의 풀을 사용할지 정하는 것입니다
Landscape(랜드스케이프) 머티리얼에 노드를 생성해야 하며 필요한 노드는 LandscapeGrassOutput입니다
마지막으로 Landscape(랜드스케이프) 풀 타입 출력의 마스크를 특정합니다
지금은 간단하게 Landscape(랜드스케이프) 레이어 샘플 노드를 사용하여 사용할 마스크를 출력할 수 있습니다
좋습니다. 이제 영상을 멈추고 시도해 보시기 바랍니다. 도움이 필요하시면 영상을 참고하시면 됩니다
다시 오신 것을 환영합니다
어떠셨나요? 여러분이 스스로 하기 쉬웠기를 바랍니다
보시다시피 흙 레이어를 더 페인트할수록 위에 풀도 더 생성됩니다
그러나 우리가 원하는 자동화가 아닙니다
우리가 원하는 것은 수동으로 레이어를 페인트하는 것 말고 클릭 한번으로 풀을 생성하는 것입니다
이를 위해 또 다른 마스크가 필요합니다
이것은 다음 강의에서 하겠습니다
이번 강의에서 많은 내용을 배웠습니다
먼저 Landscape(랜드스케이프) 풀 타입을 설치하는 것을 배웠습니다
그리고 Landscape(랜드스케이프) 풀 출력 노드를 살펴보았습니다
이 둘과 더불어 LOD와 컬 디스턴스가 무엇인지 배웠습니다. 또한
Landscape(랜드스케이프) 레이어
샘플 노드도 배웠습니다
고생 많으셨습니다
이 모든 도구와 지식 사용해서 여러분 각자의 Foliage(폴리지) 마스크를
다음 강의에서 만들 것입니다
다음 강의에서 뵙겠습니다