환영합니다
지난 강의에서는 머티리얼 함수와 이 함수가 어떻게 머티리얼 그래프의 노드들에 대해
모듈성과 재사용성을 제공해 주는지, texture object(텍스처 오브젝트)가 무엇인지
머티리얼 함수의 최종 출력을 사용하기 위해 SetMaterialAttributes를 사용하는 법을
알아보았습니다
이것이 저희가 작업한 머티리얼 함수입니다
보시는 것처럼 texture object(텍스처 오브젝트)를 이용한 간단한 입력이고 RGB출력을 이용하여 Base Color에
입력하였습니다
그리고 Auto Landscape(자동 랜드스케이프) 머티리얼 인데
이렇게 만들었습니다
최종 출력을 여기로 옮겨서 조금 정리를 하겠습니다
좋습니다
다음으로 할 것은 Landscape(랜드스케이프) 머티리얼의 처리를 위한 함수 입력을
더 만드는 것입니다
어떻게 할 수 있을지 같이 보시겠습니다
머티리얼 함수로 돌아와서
머티리얼 함수에 색을 조절할 수 있는 기능을 추가해 보도록 할텐데
이미 이와 비슷한 작업을 마스터 머티리얼에서 했었기 때문에
간단하게 노드들을 복사해서 붙여 넣겠습니다
이 Multiply와 Brightness 노드를 복사해서
머티리얼 함수에 붙여 넣습니다
이 RGB 값을 Multiply 노드에 출력해서 입력 값과
곱할 것인데
이를 통해 밝기를 조절할 것입니다
Parameter 노드를 삭제하고 대신에 FunctionInput 노드를 사용할 것입니다
Input Type으로 스칼라 파라미터가, 1Float이 필요하므로
Vector 3에서 Input Scalar로 변경하고 이름을 Brightness로 바꾼 뒤 B 소켓에 연결하고
Base Color와 연결한 뒤 Apply를 누르고 머티리얼로 돌아가면
데이터를 넣을 수 있는 다른 입력이 생겼는데 이것이 Brightness이 될 것입니다
이 노드를 아래로 옮겨서 Brightness에 연결합니다
이제 밝기에 대한 제어가 가능합니다
Apply를 누르고 머티리얼 인스턴스로 돌아가면 이제 Landscape(랜드스케이프) 머티리얼의 밝기의
제어가 가능합니다 이제 나머지는 여러분이 하실 수 있으실 것입니다
연습 과제로 base color(베이스 컬러)를 제어하는 다른 함수 입력을 만들어 보시기 바랍니다
지금은 밝기에 대한 제어밖에 없습니다
대비의 제어와 채도의 제어 그리고 색조의 제어까지 만들어 보시기 바랍니다 이를 위해서
머티리얼 함수에 여러 입력이 필요합니다
여러분이 구현하실 수 있는지 직접 해보시기 바랍니다
그리고 파라미터를 사용해서 각 값들을 제어하시기 바랍니다
즉 머티리얼 함수에 입력들을 만든 후 머티리얼에서
파라미터를 이용해서 값들을 제어하시기 바랍니다
이것 또한 어떻게 해야 하는지 아실 것이라고 믿습니다
비디오를 멈추고 직접 해보시기 바랍니다
도움이 필요하시면 돌아오도록 하겠습니다
어떠셨습니까
함수 입력들을 보이게 하고 파라미터를 이용해서 조절할 수 있게 만드셨나요
어떻게 할 수 있을지 같이 보시겠습니다
머티리얼 함수에서 작업하기 전에 physical material(피지컬 머티리얼)이 재빌드 되어야 한다는
오류 메시지를 발견했는데 우리는 Landscape(랜드스케이프) 머티리얼에 physical material(피지컬 머티리얼)을 사용하고 있지 않습니다
이 메시지를 없애려면, 이 것은 딱히 아무런 영향도 없습니다만
거슬려서 없애고 싶으시다면 Build 메뉴로 가셔서
Build Physical Material Only(피지컬 머티리얼만 빌드)를 클릭하시면 메시지가 사라질 것입니다
좋습니다
이제 다시
머티리얼 함수로 돌아왔습니다
여기까지 만들었는데
현재 밝기에 대한 제어밖에 없습니다
계속 진행하기에 앞서 그래프를 조금 정리하도록 하겠습니다
다음으로 제어할 것은 채도입니다
Landscape(랜드스케이프) 머티리얼의 노드들을 복사해서 붙여 넣겠습니다
이 세 노드들을 복사해서 이 곳에 붙여 넣고 이 Saturation 노드를 지우고
이 핀을 소켓에 연결하고 이 핀을 Base Color 소켓에 연결합니다
입력으로는 이 선택된 FunctionInput 노드를 Ctrl+D로 붙여 넣고
Saturation으로 이름 짓고 OneMinus노드의 소켓에 연결합니다
Apply를 누르고 Landscape(랜드스케이프) 머티리얼로 돌아갑니다
Saturation 함수 입력이 생겼으므로 이 Parameter 노드를 아래로 옮겨서 Saturation에 연결하고
Apply를 누르면
이제 채도에 대한 제어가 가능합니다
여러분도 아시다시피 한 가지 문제점이 있습니다
소켓의 순서입니다
순서를 바꾸려면 바꾸어야 힐 숫자가 있습니다
예를 들어 이 BaseColorTexture 입력을 맨 위로 옮기고
Brightness를 두 번째에 위치 시키려 한다면
Sort Priority를 변경해야 하는데 parameter group(파라미터 그룹)의 정렬 순서와 유사하게
동작합니다
이를 이욯해서 다른 파라미터들의 순서를 지정할 수 있다는 것을 여전히 기억하고 계셨으면 좋겠습니다
이 Sort Priority를 이용해 함수 입력의 순서를 지정할 수 있습니다
머티리얼 함수로 돌아와서 순서를 먼저 바꿔보도록 하겠습니다
BaseColorTexture가
이 입력이 첫 번째로 위치 하도록 하고 싶습니다 여기 숫자를 바꾸는데
5로 설정하겠습니다
왜 1로 하지 않았을까요
왜냐하면 나중에 이 텍스처 입력 위에 다른 입력들을 넣을 것이기 때문입니다
그러므로 5로 설정하겠습니다 6으로 하겠습니다
이렇게 해서 자리를 확보해 두었습니다
잊어버리기 전에 6.BaseColorTextureInput이라고 코멘트를 달겠습니다
이렇게 하면 머티리얼 함수에 입력이 십여개가 있어도 이 입력이 몇번 Sort Priority인지
쉽게 알 수 있으며 나중에 상당히 유용하다는 것을 알게 되실 것입니다
Brightness 노드에도 동일하게 하겠습니다
7로 설정해서 이 BaseColorTexture 바로 다음에 오게 하고
Saturation 노드는 8로 설정하고 빠르게 코멘트를 달겠습니다
됐습니다
이렇게 하면 충분할 것 같고 다음은 색조 차례인데
제법 쉽습니다
M을 눌러 Multiply 노드를 꺼내고 이 FunctionInput 노드를
복사 붙여넣기 하겠습니다
Input Type을 Scalar에서 Vector 3로 바꾸겠습니다
Vector3가 색이기 때문입니다
ColorTint라고 이름 짓고
B 소켓에 연결합니다
순서를 9로 설정해서 Saturation 바로 다음에 오도록 하고 9.ColorTint라고 코멘트를 달고
Base Color에 연결하고 Apply를 누르시면
BaseColorTexture노드가 보이는데
입력이 맨 위에 있고 이 두 개가 밑으로 내려왔습니다
이제 파라미터가 필요합니다
ColorTint에 연결했는데 대비가 없습니다
제가 잊어버렸습니다
추가해 보도록 하겠습니다
머티리얼 함수로 돌아와서 그래프를 조금 정리하겠습니다
이번에는 대비가 필요하므로 Power 노드가 필요합니다
Power 노드를 만들어서 Base 소켓에 연결하고 FunctionInput노드를 하나 더
꺼냅니다
이 노드를 9번으로 하겠습니다
Contrast로 이름 짓고
Vector3가 아니라 Scalar값이어야 하고 여기에 연결하고 9.Contrast라고 코멘트를
. it.
달도록 하겠습니다 그리고 이것이 10이 되어야 합니다
코멘트도 조금 수정합니다
10.ColorTint
됐습니다
Apply를 누르고 Auto Landscape(자동 랜드스케이프) 머티리얼로 돌아가서
이제 Contrast가 만들어 졌고 이 파라미터 노드를 아래로 옮겨서 Contrast에 연결합니다
이 출력을 이 소켓으로 연결하는 것을 빠트렸습니다
제대로 수정하고 Apply를 누르고
머티리얼 인스턴스로 돌아옵니다
이제 방금 만든 속성들을 조절해서 밝기, 채도 그리고 색조까지도 조절이
가능해졌습니다
이 것들을 다 알아보았고 지난 섹션에서도 다뤘기 때문에 세부 사항은 따로 살펴보지 않겠습니다
이제 어떻게 동작하는 지 아실 것이라 믿습니다
이번 강의에서 머티리얼 함수에서 여러 개의 함수 입력을 추가하는 법을 배웠고
Sort Priority를 이용해 다른 입력들의 순서를 정하는 법을 배웠습니다
또한 이제 base color(베이스 컬러)의 모든 것을 제어할 수 있습니다
이 것은 아주 큰 진전입니다
다음 강의에서는 Auto Landscape(자동 랜드스케이프) 머티리얼을 더 발전시켜 보도록 하겠습니다
다음 강의에서 뵙겠습니다