환영합니다
지난 강의에서는 창의적인 slope mask(슬로프 마스크)를 이용해서 변화하는 지역의 혼합을 하였고
머티리얼 함수가 제공하는 모듈성 덕분에 이미 존재하는
머티리얼 함수를 복사하고 붙여 넣어서 만들었습니다
Landscape Material(랜드스케이프 머티리얼)의 모습입니다
전반적으로 훌륭한 것 같지만 슬로프를 가까이에서 보면
늘어난 것이 보입니다
이 쪽은 덜 눈에 띄는 것 같습니다
이런 아주 날카로운 각도를 가보면 머티리얼이, texture(텍스처)가 아주
늘어났습니다 .
이번 강의에서는 어떻게 고칠 지 알아보겠습니다
이 것이 현재 slope material의 모습이고 제가 원하는 결과는
이런 모습입니다
여기는 늘어난 것이 없습니다
어떻게 할 수 있을까요
이 결과를 만들어 내기 위해서는 Triplanar 프로젝션이라는 방법을 사용해야 합니다
Triplanar 프로젝션은 무엇일까요
빠르게 보여드리도록 하겠습니다
이 강의의 자료 드롭다운 메뉴에서 zip 파일이 있는데 다운로드 받으시고 압축을 해제하시기
바랍니다
저는 미리 해 두었습니다
이 폴더를 복사해서 Content폴더 안에 붙여 넣겠습니다 TextureBombing과 동일하게
Content폴더 안에 붙여 넣습니다
프로젝트로 돌아가서
프로젝트 안에 TriplanarProjection 폴더가 있을 텐데 안을 보시면
이 두 머티리얼 함수가 있습니다
파일 메뉴에서 모두 저장을 누르고 이 폴더를 MaterialFunction폴더로 옮기도록
하겠습니다
이 것을 시각화하기 위해 예시 머티리얼을 만들겠습니다
새 폴더를 만들고
TriplanarProjection이라고 하고 더블 클릭해서 폴더로 들어갑니다
새 머티리얼을 만들겠습니다
M_Triplanar라고 하겠습니다
이 함수의 머티리얼 인스턴스를 만들고
MI_Triplanar라고 하겠습니다 더블 클릭해서 머티리얼을 열겠습니다
우선 머티리얼 함수를 드래그해서 가져오겠습니다
TriplannerProjection폴더로 가서 이 머티리얼 함수를 드래그
하겠습니다
보시는 것처럼 MF_TriplannerProjection이고 입력이 세 개 있습니다 TextureInput, TextureBlendEdgeSharpness,
TextureScale 입니다
TextureBombing과 같이 texture(텍스처)의 RGB정보를 출력할 것입니다
참고로 말씀 드리자면 엔진에 내장된 머티리얼 함수가 있습니다
마우스 우클릭을 하고 WorldAlignedTexture를 입력합니다
Triplanar 프로젝션을 하기 위한 내장 함수입니다
더블 클릭해서 들어가면 보시는 것처럼 상당히 복잡한 그래프입니다
이 머티리얼 함수를 제가 약간 수정했습니다
comment(코멘트)와 reroute node(경유 노드)를 추가 했습니다
이 머티리얼 함수가 어떻게 동작하는 지 알고 싶으시다면 어떻게 모든 노드가 연결되었는지 파헤쳐 보셔도 됩니다
머티리얼로 돌아와서 이 기본 TriplanarProjection을 지우겠습니다
TextureInput에는 TextureObject를 사용하겠습니다
그리고 엔진 폴더 안의 texture(텍스처)를 이용하겠습니다
S_WindDirectional입니다
이 texture(텍스처)가 이 효과를 시각화하는 데 완벽하다고 생각합니다
이 것을 TextureInput에 연결하고 두 개의 다른 파라미터가 필요합니다
하나 만들고 TextureBlendEdgeSharpness라고 하겠습니다
아직도 무슨 뜻인지 모르신다면 이름은 똑같이 하십시오 디폴트 값으로 1을 주고
이 파라미터를 복제하고 TextureScale이라고 하겠습니다
디폴트 값도 1을 주고 TextureScale에 연결하고
이 것은 TextureBlendEdgeSharpness에 연결하고 Base Color에 연결합니다
이 것이 triplanar 프로젝션이 하는 일입니다
이 동일한 texture(텍스처)가 세 번 투사 되고 있습니다
BlendEdgeSharpness를 15로 증가 시키면 동일한 texture(텍스처)를 x축, y축, z축에서
각 세 번 투사하고 있는 것을 보실 수 있는데 이렇게 늘어짐을 피할 수 있습니다
비교하기 위해서 일반 프로젝션 방법을 사용하겠습니다
TextureSample 노드를 꺼내고 TextureCoordinate 노드를 사용하겠습니다
키보드의 M을 꾹 누르고 타일링을 제어할 파라미터를 만들고 UVTile이라고
하겠습니다
어떻게 동작하는지 아실 것입니다 이 것을 socket(소켓) B에 연결하고 이 것을 UVs에 연결합니다
texture(텍스처)는 동일한 texture(텍스처)를 사용하겠습니다
S_WindDirectional입니다 이 두 방법의 차이점을 비교하기 위한 스위치 파라미터를
만들도록 하겠습니다
이름은 UseTriplanar라고 하고 이 것을 True에 연결하고 이 것을 False에 연결하고
Base Color에 연결합니다
apply(적용)을 누르고
월드로 돌아가서
시각화 하기 위한 Sphere(구)를 꺼내겠습니다
카메라가 빨리 움직이도록 하려면 이 드롭다운 메뉴를 클릭하고 카메라 속도를 올리십시오
이제 제 카메라 속도는 7이므로 scene(씬)에서 상당히 빠르게 움직일 것입니다
Sphere(구)를 꺼내겠습니다 셰이프로 가서 스피어를 꺼내고 Sphere(구)의
크기를 늘리고 예시 머티리얼을 할당해서 두 방법 간의 차이를
비교해 보겠습니다
이 Sphere(구)를 선택하고 MI_Triplanar를 할당합니다
지금 우리는 기본 방법을 사용하고 있습니다
UVTile을 6정도로 올리겠습니다
이 것이 기본 방법입니다
보시는 것처럼 이 texture(텍스처)는 위에서 아래로 한 번만 투사 되고 있습니다 제 카메라 속도를 조금
줄이겠습니다
Sphere(구)의 위로 가보면 이상하게 늘어나 있습니다
이상한 모습입니다
이 Sphere(구)의 UV map(맵) 때문이고 Landscape(랜드스케이프)에도 동일한 규칙이 적용됩니다
Landscape(랜드스케이프)에 texture(텍스처)를 투사 할 때 이런 표면 같이 완전히 평평하면
괜찮습니다
예를 들어 슬로프에서는 저 산과 같은 곳에서는 아주 심각한
늘어남을 볼 수 있습니다
이유는 texture(텍스처)가 단 한번 투사되기 때문입니다
이를 피하려면 Triplanar 프로젝션을 이용해서 texture(텍스처)를 여러 번 투사 해야
합니다
Sphere(구)로 돌아가서
MI_Triplanar를 더블 클릭해서 열고 UseTriplanar를 체크하겠습니다
보시는 것처럼 이 texture(텍스처)는 세 번 투사 되었습니다
BlendEdgeSharpness를 조금 증가 시키면 60정도로 하고 카메라 속도를 조금
낮추겠습니다
이 texture(텍스처)는 z축에서 3번 투사 되었습니다
양수 Z에서 음수 Z로, 양수 X에서 음수 X로
이 방법을 사용해서 scene(씬)에 늘어나는 것을 피할 수 있습니다
오늘의 연습 과제로 이어집니다
제가 했던 것처럼 Triplanar 프로젝션을 위한 예시 머티리얼을 만드십시오
폴더로 두 머티리얼 함수를 임포트하고 난 뒤 이 머티리얼 함수가 실제로 무슨 일을 하는지
보시기 바립니다
그리고 머티리얼을 Sphere(구)에 적용합니다
Sphere(구)는 Triplanar 프로젝션을 시각화하는 데 가장 좋은 메시 입니다
마지막으로 다른 파라미터를 조절하며 triplanar가 어떤 일을 할 수 있는지 보시기 바랍니다
이 것이 이 머티리얼 함수가 무슨 일을 할 수 있는지 더 잘 이해하는 데 도움이 될 것입니다
이제 비디오를 멈추고 직접 해보시기 바랍니다
잘 돌아오셨습니다
예시 머티리얼을 잘 만드셨나요
Triplanar 프로젝션을 이용해서 texture(텍스처)혼합을, 보다 정확히는 가장자리의 선명도를
제어할 수 있습니다
이 texture(텍스처)를 여러 번 투사 하기 때문에 필연적으로 가장자리가 나타나고
가장자리의 혼합에 대해 가장자리의 선명도의 값을 조절할 수 있습니다
TextureScale 또한 제어할 수 있습니다
이 값을 증가 시키면 보시는 것처럼 화살표가 더 많이 생기고
값을 감소 시키면 화살표가 줄어듭니다 이 머티리얼 함수가
이 방법이 slope layer(슬로프 레이어)의 늘어남을 방지하기 위해 필수입니다
다음 강의에서 Landscape Material(랜드스케이프 머티리얼)에 이 것을 어떻게 추가하는 지 알아보겠습니다
이번 강의에서는 Triplanar 프로젝션이라는 방법에 대해 알아보았고 slope layer(슬로프 레이어)에
늘어남이 나타나는 이유는 texture(텍스처)가 단 한 번만 투사 되기 때문이며
Triplanar 프로젝션을 이용하면 texture(텍스처)를 여러 번 투사 할 수 있습니다
이렇게 하면 슬로프의 늘어남을 피할 수 있습니다
다음 강의에서 뵙겠습니다