환영합니다
지난 강의에서는 머티리얼 인스턴스 내에서 파라미터들을 정리해 보았습니다
여러 파라미터 그룹들을 각자의 그룹으로 분류하는 방법도
살펴 보았습니다
지금까지의 결과물입니다
이제 Base Color(베이스 컬러)를 제어할 수 있게 되었으니 다음으로 다뤄 볼 소켓은 메탈릭입니다
마우스를 올려보면 표면이 얼마나 메탈릭을 띄고 있는지를 제어한다고
써있습니다
이름에서 보이듯 이 소켓은 Object(오브젝트)의 금속성과 연관이 있습니다
여기 세 개의 Object(오브젝트)가 있는데 기억하셔야 할 것은 이 소켓은 단일 Float만을 필요로 한다는 것입니다
Nonmetal(비금속)은 0의 값을 갖습니다
예를 들어 왼쪽 Object(오브젝트)는 값이 0입니다
금속이 아닌 것이고 금속인 것들은 1의 값을 갖습니다
오른쪽 Object(오브젝트)는 금속입니다
메탈릭 값은 1이며 중간 Object(오브젝트)는
그 사이의 값일 것입니다
조금 드문 상황인데 반은 금속이고 반은 비금속인 Object(오브젝트)를 찾기는
쉽지 않기 때문입니다
그런 Object(오브젝트)가 존재하긴 하는지 모르겠습니다
만약 머티리얼을 생성하는데 그게 녹슨 금속이라면
그 중간의 값이 필요할 수도 있습니다
하지만 그럼에도 드문 상황입니다 아무튼 이제 소켓이 하나의 Float를 필요로 한다는 걸 알았습니다
제가 제어하고 싶은 것은 금속 여부의 조건을 사용하는 것입니다
조건은 Is Metal이며 Object(오브젝트)가 금속일 때 값은 1이고
비금속일 경우 값은 0입니다
머티리얼 그래프로 돌아와 보겠습니다
스위치 파라미터를 우선 불러오겠습니다
Switch Parameter를 입력하고 이름은
IsMetal이라고 합시다
조건이 true(참)일 때 최종 출력 값이 1이 되고 조건이 false(거짓)일 땐
최종 출력 값이 0이 되도록 하고 메탈릭에 연결하겠습니다
그리고 이것을 따로 그룹에 넣어주겠습니다
이건 02를 앞에 붙이고 Metallic이라고 써줍니다
순위는 1로 하고 적용시킨 다음 머티리얼 인스턴스로 돌아가 보면
메탈릭의 제어가 생겼습니다
이걸 활성화하면 표면이 메탈릭을 띕니다
지금은 금속 표면이 어울리지 않기 때문에 이상해 보이므로 비활성화 하겠습니다
그러면 오늘의 과제를 시작해 보겠습니다
여러분의 과제는 Static 스위치 파라미터를 IsMetal 전에 추가하는 것입니다
그리고 IsMetal이 true(참)일 때 그 Static 스위치 파라미터를 사용해 텍스처 입력을 허용합니다
이 새로운 파라미터의 이름은 Has Metallic Texture로 지을 수 있습니다
조건이 true(참)라면 텍스처 입력 값을 허용하도록 해야 합니다
조건이 false(거짓)일 땐 1을 출력합니다
그리고 메탈릭과 관련된 파라미터를 분류해 보시길 바라며 이제 영상을 멈추고 시도해 보시다가
도움이 필요하면 돌아오셔도 됩니다
어떠셨나요?
성공적으로 스위치 파라미터를 추가해 텍스처 입력 값을 허용했나요?
다시 함께 해봅시다
바로 이 노드부터 비활성화 해주겠습니다
금속일 때, 즉 조건이 true(참)일 때, 또 다른 스위치 파라미터를 사용하고 싶습니다
그러므로 우클릭하여 switch parameter를 입력합니다
이것의 이름은 HasMetalicTexture으로 짓고 true(참)에 연결합니다
조건이 true(참)일 때 이 파라미터가 최종 출력 값으로 보내집니다
조건이 false(거짓)일 땐 여기 1을 출력하고 싶습니다
조건이 true(참)일 때는 텍스처 파라미터를 출력하고 싶습니다
그러므로 Texture Parameter 2D를 선택하고 이름은 MetalicTexture로 지은 다음
true(참)에 연결할텐데 Metallic 소켓은 단일 Float을 필요로 하기 때문입니다
RGB를 플러그 함으로써 엔진이 필요 없는 값은 알아서 제거해 줍니다
각 채널을 true(참)에 플러그하는 것도 마찬가지입니다
여기서는 그냥 RGB를 플러그하고 이 파라미터를
그룹에 넣어 주겠습니다 02 Metallic 그룹에 말입니다
순위는 2로 설정합니다
이 텍스처 파라미터도 Metallic 그룹에 넣어주고
순위는 3으로 설정합니다
적용해보겠습니다
다시 머티리얼 인스턴스로 돌아가
IsMetal을 활성화하면 선택할 수 있는 또 다른 조건이 생깁니다
HasMetallicTexture 여부 입니다
이것도 활성화하면 별도의 입력이 이 머티리얼 인스턴스에 추가됩니다
메탈릭 텍스처가 있다면 여기에서 설정할 수 있습니다
이 표면은 금속이 아니기 때문에 일단 파라미터들을 비활성화 해줍니다
다시 마스터 머티리얼로 돌아갑니다
할 일이 한 가지 더 있는데 연결 선들이 길어지고 있으며 그건 우리가 원하는 것이
아닙니다
Named Reroute를 사용해 해결할 수 있습니다
이 핀을 끌어와 Named Reroute라고 입력합니다
그리고 이름은 CachedDefaultMetallicOutput이라고 합니다
그리고 핀을 여기서 끌어와 여기로 연결하는 것 대신 이 cache(캐시)된 것을
연결하겠습니다
우클릭으로 Named Reroute 노드를 선택합니다
여기 CachedDefaultMetallicOutput을
메탈릭 소켓에 연결합니다
그리고 색은 초록빛으로 바꿔보겠습니다
Base Color(베이스 컬러)도 마찬가지입니다
핀을 끌어와 Named Reroute 노드를 찾습니다
이름은 CachedDefaultBaseColorOutput이라 합니다
그리고 여기 Base Color(베이스 컬러) 입력을 비활성화 하겠습니다
이 출력 값을 드래그 하여 우클릭으로 CachedBaseColorOutput을 선택하여
연결합니다
색은 노란 빛으로 바꿔주겠습니다
여러분은 꼭 하실 필요 없습니다
저는 확실한 구분을 위해 색을 바꾸는 것입니다
머티리얼 그래프를 최대한 깔끔하게 유지하고 싶기 때문입니다
이번 강의에서는 메탈릭 소켓과 어떤 값들을 필요로 하는지 알아보았습니다
메탈릭에 대한 컨트롤도 얻었습니다
수고하셨습니다
다음 강의에서 뵙겠습니다