환영합니다
지난 강의에서 height mask(높이 마스크)를 사용해 눈 레이어와 Landscape Material(랜드스케이프 머티리얼)을 성공적으로
블렌드했습니다
머티리얼 인스턴스 덕분에 mask(마스크)를 원하는 대로 offset(오프셋)할 수 있습니다
현재 scene(씬)이 이렇게 생겼는데 보시다시피 블렌드에 이와 같이 눈에 띄는 테두리가
보입니다
이런 현상이 일어나는 이유로는 먼저 높이 마스크가 이렇게 생겼습니다
보시다시피 흰색과 검정색 값에 강한 테두리가 보입니다. 눈을 산 위에
적용하였을 때 당연히 이런 테두리 문제가 발생합니다. 우리가 원하는 결과는
이러합니다
그러므로 이 선을 깨는 방법을 찾아서 테두리에 무작위성을 추가해야 합니다
어떻게 할 수 있는 알아보겠습니다
이를 보여드리기 위해 다시 예시 머티리얼을 사용하겠습니다
풍경을 선택하고 ExampleMaterial 폴더로 들어가
HeightMask로 들어가서
이곳에서 재할당합니다
랜드스케이프 머티리얼에 넣습니다. 우리의 문제가 보이고 이를
제거할 것입니다
M_HeightMask를 더블 클릭합니다
마스크를 생성하는 방법입니다
이런 과정을 걸치고 추가적인 노드를 사용합니다. Subtract(빼기) 노드를 하나 더 만들어
Base Color(베이스 컬러) socket(소켓)에 연결합니다
무슨 일이 일어날 것 같나요?
시각화 해봅시다
아직 무엇을 할지 모르기 때문에 스칼라 파라미터를 사용합니다
이름은 SecondSubtract로 지정하고 값을 0으로 설정합니다
이를 소켓 B에 연결하고 적용을 클릭합니다
프로젝트로 돌아가 MI_HeightMask에 들어갑니다
보시다시피 SecondSubtract 값을 증가 시키면 마스크가
오프셋 됩니다
값을 2로 설정하면 마스크가 더 오프셋 되므로 이 SecondSubtract를 통해
마스크를 더 오프셋할 수 있게 됩니다
우리가 원하는 결과는 이 부분은 마스크를 올리고 저 부분은
올리지 않는 것인데 이와 같은 무작위성을 적용할 수 있습니다
그러나 이것을 어떻게 할 수 있을까요?
이제 M_HeightMask로 돌아갑니다
여기에서 값을 빼는 것을 보실 수 있습니다. 이 값은 Constant(상수)입니다
우리가 빼야하는 값은 Noise Texture(노이즈 텍스처)와 같은 것입니다
Dirty Platform을 아직 기억하시나요?
첫 번째 섹션에서 노이즈 텍스처를 사용해 Dirty Platform을 만들었으며 여기에서도
비슷한 작업을 합니다
다행히 이런 값은 이미 만들어졌는데 바로 slope(경사) 마스크입니다
이제 ExampleMaterial에 들어가 M_SlopeMask에 들어갑니다
여기 모든 노드를 복사하여 M_HeightMask에 붙입니다
여기에 붙입니다
이게 경사 마스크가 되고
이와 같은 두 파라미터가 있습니다
이를 소켓 B에 연결하고 이 파라미터를 삭제하고 적용을 클릭합니다. 프로젝트로 돌아가면
이제 경사 마스크 값을 조절할 수 있습니다
그러므로 Strength(강도)를 올리고 싶다면 높이 마스크를 살짝 올릴 수 있습니다
따라서 강도를 올리면 경사 마스크를 사용해서 눈 마스크가 올라가는 것을 보실 수 있습니다
Sharpness(선명도)를 예를 들어 0.1로 낮추면 우리가 원하는 결과를 얻을 수 있습니다
즉, 높이 마스크를 올리기 위해 경사 마스크를 사용하는 것입니다
내부에 있는 값 덕분에 우리가 원하는 무작위성을 얻을 수 있습니다. 다음으로
할 것을 매우 간단합니다
랜드스케이프 머티리얼에 이 마스크를 대신 사용해야 합니다
따라서 랜드스케이프 머티리얼을 다시 재배치합니다
AutoLandscapeMaterial 폴더로 돌아가 MI_AutoLandscape에 재배치합니다
방금 만든 마스크를 사용하기 위해 새로운 머티리얼 함수를 만듭니다
이 부분은 높이 블렌드를 위해 남겨두고 복제합니다
이름은 MF_HeightBlendSubtractSlope라고 지정합니다, 이 이름이
이 머티리얼 함수가 하는 것을 잘 설명한다고 생각합니다. 이 함수 안에서
방금 사용한 모든 노드를 불러들이고 M_AutoLandscape에
들어가 이 머티리얼 함수를 새로운 머티리얼 함수로 교체합니다
이것이 오늘의 과제입니다
오늘의 과제는 예시 머티리얼에 경사 마스크를 빼는 것입니다
이해하기 어려워도 서두르지 마시고
시간을 갖고 한 단계 한 단계 진행하시기 바랍니다
이 과제의 목표는 제가 한 것을 단순히 복사하고 붙이는 것이 아니라 이 작업을 여러분이
실제로 이해하는 것입니다
다음으로 눈을 더 자연스럽게 블렌딩하기 위해 새로운 머티리얼 함수를 만드는 것입니다
우리가 원하는 결과를 얻기 위해 어떤 함수 입력이 필요하고 어떤 새로운 파라미터가 필요한지
생각해 보시기 바랍니다
다소 어려울 수 있으니
말한 것처럼 천천히 작업하시면 됩니다
서두르지 마세요
영상을 잠시 멈추고 시도해 보시기 바랍니다
도움이 필요하시면 다시 돌아오시기 바랍니다
다시 오신 것을 환영합니다
새로운 마스크를 성공적으로 사용하셨나요?
랜드스케이프 머티리얼에 어떻게 추가할 수 있는지 알아보겠습니다
MF_HeightBlendSubtractSlope에 들어가 방금 사용한 모든 노드를
여기에 붙일 것입니다
높이 마스크로 들어가 더블 클릭하여 열어주세요
우리가 사용한 노드입니다. 모두 선택하고 복사하여 이 머티리얼 함수에
붙입니다
여기 두 파라미터는 삭제합니다
이것을 삭제하고 이 함수 입력을 복제합니다
이름은 EdgeAdjustmentMaskStrenght라고
지정합니다
이 파라미터는 삭제하고
이것은 복제하고
이름은 EdgeAdjustmentMaskSharpness로 바꾸고 Contrast(대비) 소켓에 연결합니다
이제 빼기 노드가 필요합니다
그러기 위해 이 두 개 노드는 옆으로, 이 노드들은 밑으로 옮기고
이 부분을 끌고 나와 빼기를 추가하고 '1-'에 연결합니다
마지막으로 결과를 0에서 1 사이로 고정합니다. 마스크이기 때문입니다
좋습니다
출력 결과 이름은 HeightBlendedMaterial로 변경합니다
이제 모든 머티리얼을 출력할 수 있습니다
그러기 위해 함수 입력을 추가해야 합니다
이 입력은 머티리얼 속성이어야 하고 이름은 BaseMaterial이 됩니다
첫 번째 함수 입력으로 설정하고자 하기 때문에
0이어도 괜찮습니다. 그리고 이를 복제합니다
이것은 TopMaterial이 되는 것이고 Sort Priority(정렬 우선순위)를 1로 지정합니다
그리고 BlendMaterialAtrributes 노드를 사용하여 이는 소켓 A에 연결하고 이 부분은
소켓 B, 이 부분은 Alpha 소켓 그리고 최종 출력은 출력에 연결합니다
그래서 이 부분은 0, 이 부분은 1, 이 부분은 2
이 부분은 3
이 부분은 4, 이 부분은 5로 지정하고 적용을 누릅니다
M_AutoLandscape으로 돌아가서 새로 만든 머티리얼 함수를 불러옵니다
HeightBlend 폴더로 들어가 이 머티리얼 함수를 끌고 온 후 기존에 있던 머티리얼 함수를
삭제하고 이 BlendMaterialAttributes도 삭제합니다
따라서 TopMaterial은 눈 머티리얼이 되고 BaseMaterial은 나머지 자동
랜드스케이프 머티리얼이 되는 것입니다
MaskStartHeight는 이 파라미터가 되고, MaskFallOff는 이 파라미터와 연결되고 EdgeAdjustment를 위해
새로운 파라미터가 필요합니다
이름은 SnowEdgeAdjustMaskStrenght로
지정하고 기본 값을 1로 지정하고
고유의 그룹에 분류합니다
02-HeightBlend 그룹에 넣고 정렬 우선순위는 3으로 지정합니다
그리고 이 소켓에 연결합니다
이 파리미터를 복제하고 이름은 MaskSharpness로 변경합니다
정렬 우선순위를 4로 바꾸고 이 소켓에 연결합니다
마지막으로 HeightBlendedMaterial을 최종 출력에 연결하고 scene(씬)으로 돌아갑니다
적용을 누르면
우리가 원하는 결과를 보실 수 있습니다
좋은 점은 테두리를 조절할 수 있다는 것입니다
MI_AutoLandscape를 열면 값을 조절할 수 있는 두 파라미터가
생겼습니다
예시로 마스크 강도를 2로 늘리고 선명도를 0.5로 낮춥니다
아니면 0.1, 0.3으로 바꿀 수 있습니다
그러니 값을 자유롭게 변경해 보시기 바랍니다
여러분 각자의 값을 지정해보시기 바랍니다
이제 완성됐습니다
우리가 만족할 수 있는 눈 레이어가 생겼습니다
이번 강의에서 높이 마스크의 테두리에 무작위성을 추가했습니다
이는 높이 마스크와 경사 마스크 사이를 계산에서 실행했습니다
고생하셨습니다
작업하기 쉽지 않은 효과입니다. 보이지 않는 곳에 해야 할 것이 많기 때문입니다
다음 강의에서 뵙겠습니다