환영합니다
지난 강의에서 Triplanar 프로젝션이 무엇 인지에 대해 알아보았고
이제 이 방법을 이용하면 texture(텍스처)를 여러 번 투사 할 수 있다는 것을 알고 있고
슬로프에 늘어남을 피할 수 있게 해줍니다
프로젝트로 돌아와서
Landscape Material(랜드스케이프 머티리얼)에 Triplanar 프로젝션을 어떻게 사용할 지 보도록 하겠습니다
M_Triplanar로 돌아가면 이 것은 머티리얼 함수입니다
입력으로 TextureObject를 받아서 texture(텍스처)를 RGB 정보로 출력합니다
이 머티리얼 함수외에도 노멀 맵을 처리하는 TriplanarProjection 머티리얼 함수가
있습니다
이 머티리얼 함수는 노멀 맵을 처리하게 디자인 되었습니다
같은 형식의 머티리얼 함수를 landscape texture(랜드스케이프 텍스처)를 처리하는 데 사용하고 있기 때문에 이 것이 익숙해
보이시길 바랍니다
M_AutoLandscape로 돌아와서 이 MF_LandscapeMaterialProcess를 더블 클릭해서 열고
이 M_TextureBombing을 사용하고 있는 곳으로 갑니다
TriplanarProjection을 사용하려면 TextureBombing을 TriplanarProjection로 바꿔서
texture(텍스처)를 처리해야 합니다
이 메인 Landscape Material(랜드스케이프 머티리얼)처리에 입력을 추가하는 대신에 복제해서
TextureBombing을 교체하겠습니다
AutoLandscapeMaterial폴더로 돌아가고 MaterialFunction폴더로 들어가서
이 MF_LandscapeMaterialProcess를 복제하고
MF_TriplanarLandscapeMaterialProcess라고 하겠습니다
이름이 조금 길지만 상당히 자명합니다
더블 클릭해서 이 머티리얼 함수로 들어와서
TextureBombing을 TriplanarProjection으로 교체해야 합니다
MaterialFunction폴더로 가서 MF_TriplanarProjection을 드래그 해옵니다
키보드의 Ctrl을 꾹 누르면서 이 핀을 드래그해서 출력 socket(소켓)에 연결합니다
TextureInput에는 이 Base Color Texture(베이스 컬러 텍스처)를 입력해야 하고
이 다른 두 입력은
하나는 TextureBlendEdgeSharpness이고 다른 하는 TextureScale입니다
아래의 모든 것들이 필요하지는 않습니다
두 개만 남기도 모두 지우겠습니다
이 LandscapeCoordinate는 필요 없으므로
지우고 이 두 개는 남기겠습니다
나중에 이름을 바꿀 것이고 이 노드들은 지우고 예를 누릅니다
이 이름을 TriplanarEdgeBlendSharpness라고 하고
두 번째는 이름을 TriplanarTextureScale이라고 하고
이 named reroute node(이름 경유 노드)들의 이름도 바꿔야 하고 comment(코멘트)도 바꿔야 합니다
됐습니다
이름을 바꾸고 나서 이 두 named reroute node(이름 경유 노드)를 사용하겠습니다
유효하지 않은 named reroute node(이름 경유 노드)들을 모두 지우도록
하겠습니다
MF_TextureBombing을 지우고 이 것도 지우고 EdgeSharpness를 이 socket(소켓)에
연결하고 이 TextureScale을 이 socket(소켓)에 연결합니다
똑같은 일을 노멀과 ORD의 TextureInput에도 해 주어야 합니다 노멀은 주의하시기
바랍니다
노멀의 triplanar 프로젝션을 사용해야 합니다
그리고 여기 있습니다
MF_TriplanarProjection_Normal
이라는 이름입니다
그러고 나면 이 머티리얼 함수를 Auto Landscape Material(자동 랜드스케이프 머티리얼)에서 사용할 수 있습니다
M_AutoLandscape로 돌아가서
그래프를 정돈된 상태로 유지할 수 있게 해주는 작은 트릭이 있습니다
이 노드들을 모두 선택하고 먼저 노드를 접겠습니다
SlopeLayer라고 이름 짓고
그래프를 조금 정리하겠습니다
더블 클릭해서 SlopLayer안으로 들어오면
다른 머티리얼 함수를 드래그 해올 수 있습니다
보다 정확히는 MF_TriplanarLandscape입니다
MaterialFunction폴더로 가서 MF_TriplanarLandscapeMatrialProcess를 드래그
해 오겠습니다
이 것이 TriplanarProjection이고 스태틱 스위치 파라미터를 추가하고
이 것이 일반 TextureBombing과 TriplanarProjection을 교체해 줄 수 있습니다
머티리얼 인스턴스에서 체크해서 참이면 TriplanarProjection이 최종 출력으로
나갈 것이고
거짓이면 이 디폴트 LandscapeMaterialProcess가 최종 출력으로 나갈 것입니다
연습 과제 시간입니다
Triplanar 프로젝션을 이용하기 위해 MF_LandscapeProcess를 복제하시기 바랍니다
그러고 나서 TextureBombing을 TrinarProjection으로 교체하시면
몇 입력 socket(소켓)은 지워야 하고 어떤 입력 socket(소켓)은 만들어야 합니다
몇 몇 입력 socket(소켓)은 우리가 원하는 이름으로 바꿔야 합니다 이렇게 하면 이 머티리얼 함수를
이용할 수 있습니다
메인 Auto Landscape Material(자동 랜드스케이프 머티리얼)안의 projection 머티리얼 함수안에 넣으시기 바랍니다
다른 layer(레이어)는 필요하지 않으므로 slope layer(슬로프 레이어)에서만 사용할 것이며
켜고 끌 수 있게 스위치 파라미터를 추가할 수 있는지 보시기 바랍니다
비디오를 멈추고 해보시다가 도움이 필요하면 돌아오십시오
잘 돌아오셨습니다
TriplanarProjection을 slope layer(슬로프 레이어)에 사용하셨습니까
어떻게 할 수 있는 지 보겠습니다
이 머티리얼 함수를 계속해서 완벽하게 만들겠습니다 더블 클릭해서 들어가면
아래의 머티리얼 함수를 계속해서 교체해야 합니다
디폴트 TextureBombing을 이 MF_TriplanarProjection_Normal로 교체하겠습니다
키보드의 Ctrl을 꾹 누르면서 핀을 출력 socket(소켓)으로 드래그 하고 이 것을
지우고 유효하지 않은 노드들도 지웁니다
이 두 입력을 socket(소켓)에 연결하는 데 이 것을 NormalTextureInput에 연결하고
이 것을 EdgeSharpness에 이 것을 TextureScale에 연결합니다
됐습니다
ORD texture(텍스처)에도 동일한 작업을 해야 합니다
영상을 빨리 감기 하도록 하겠습니다
됐습니다
이름들을 바꾸고 난 후 이 머티리얼 함수를 모두 TriplanarProjection으로 교체했습니다
apply(적용)을 누르고 M_AutoLandscape로 돌아가서
이 머티리얼 함수를 위한 입력 socket(소켓)들이 있습니다
이 두 개는 새로운 파라미터를 만들어야 합니다
키보드의 s키를 꾹 누르고 TriplanarEdgeBlendSharpness라고 합니다
그리고 맞는 그룹에 넣어줍니다
06-SlopeLayer가 될 것입니다
SlopeLayerTilingAdjustment와 동일한 sort priority(정렬 우선순위)를 갖게 하겠습니다
이 것은 1번이어야 합니다
이 파라미터를 복제하고
TriplanarTextureScale이라고 합니다
디폴트 값으로 1을 주고 이 sort priority(정렬 우선순위)를 2로 설정합니다
잊어버리기 전에 이 스위치 파라미터를 UseTriplanar로 이름을 바꾸겠습니다 켜고 끄는
기능을 가질 것이기 때문입니다 조건이 참일 경우
이 것이 최종 출력으로 갈 것입니다
조건이 거짓이면 이 것이 최종 출력으로 가고 이 것을 출력 socket(소켓)에
연결합니다 다른 입력들은 다른 texture(텍스처)입력을 위한 파라미터들과
다른 property(프로퍼티)들을 조절하기 위해서 아래와 동일해야 합니다
이 파라미터들을 모두 선택하고 이 머티리얼 함수에 붙여 넣겠습니다
Ctrl+D를 누르고 모든 파라미터뜰을 상응하는 socket(소켓)에 모두 재연결 해야 합니다
됐습니다
모든 핀들을 다시 연결한 후 apply(적용)을 누르고 MI_AutoLandscape으로 돌아가서
SlopeLayer에서 UseTriplanar를 켜고 끌 수 있어야 합니다
이 그룹에 넣는 것을 잊어버린 것 같습니다
빠르게 하겠습니다
됐습니다
이 파라미터를 맞는 그룹에 넣어서 제일 위에 오게 하기 위해 sort priority(정렬 우선순위)를
-1로 설정합니다
이렇게 하면 이 것은 항상 맨 위에 있을 것입니다 apply(적용)을 누르고
MI_AutoLandscape으로 돌아가서
보시는 것처럼 이제 UseTriplanar가 있고 아주 날카로운 각도가 있는 곳으로 날아 갑니다
이쪽 정도면 되겠습니다
triplanar를 사용하기 전입니다 이 것을 체크 하면 이 것이 triplanar를 사용한 후 입니다
늘어난 것이 사라졌습니다 그리고 UVTile을, texture(텍스처)의 스케일을
조절해야 합니다
이 EdgeBlendSharpness를 10정도로 올리고 TextureScale을
0.02로 낮추겠습니다
이제 보시다시피 slope layer(슬로프 레이어)가 돌아왔고 triplanar를 사용한 후 입니다
triplanar를 사용하기 전 입니다 전이고 후입니다
커다란 차이를 느끼실 수 있을 것입니다
triplanar 프로젝션이 그렇게 좋으면 왜 모든 머티리얼에 적용하지 않는 지 궁금하실
것입니다
이 것을 사용할 때 가장 큰 단점은 비용이 있다는 것입니다
texture(텍스처)를 한 번 투사하는 것과 다르게
이제 texture(텍스처)를 세 번 투사해야 하고 40도 같은 각도는 texture(텍스처)를
네 번 투사해야 할 수도 있습니다 이는 scene(씬)의 비용을 빠르게 키울 수 있습니다
그래서 이 섹션의 나중에 이 문제를 해결하기 위해 런타임 버추얼 텍스처 (RVT)를 어떻게 사용하는 지를 알아볼 것입니다
이번 강의에서는 Landscape Material(랜드스케이프 머티리얼)에 TriplanarProjection을 사용했고 이 방법을 사용하는 것이
slope layer(슬로프 레이어)의 심각한 늘어남이 발생하는 것을 피할 수 있었습니다
잘 하셨습니다
다음 강의에서 뵙겠습니다