환영합니다
지난 강의에서는 CheapContrast 노드로 텍스처의 선을 또렷하게 하는 법에 대해
알아보았습니다
노이즈 텍스처로 머티리얼에 구멍난 연출을 하는 법도 배워봤습니다
사인파로 Dissolve(디졸브) 양을 제어하기도 했습니다
지난 강의에서 만든 결과물입니다
큐브가 스스로 Dissolve(디졸브) 효과를 내고 있습니다
한 가지 문제가 있다면 빛나지 않는다는 것입니다
종종 무언가 Dissolve(디졸브)할 때 그 Object(오브젝트)의 선이
빛나는 걸 볼 수 있습니다
이번 강의에서는 그것을 머티리얼 그래프로 구현해보겠습니다
무언가를 빛나게 하고 싶다면 데이터를 넣어줘야 하는 소켓이 있는데
바로 Emissive Color(이미시브 컬러) 소켓입니다
다행히도 이 소켓을 지난 강의들에서 다룬 적 있습니다
다시 상기시켜 보면 불길을 만들 때 Emissive Color(이미시브 컬러)에 데이터를 넣었는데
이번 Dissolve(디졸브) 머티리얼에도 같은 작업을 해보겠습니다
머티리얼 에디터로 돌아와서 이 두 노드를 삭제하고 그래프를
정리해주겠습니다
좋습니다
그래프가 조금 더 정돈되었으니 이제 Emissive Color(이미시브 컬러)를 시작해 보겠습니다
먼저 색을 플러그해봅시다
Emissive Color(이미시브 컬러)에 이런 보랏빛 색을 선택해
Emissive Color(이미시브 컬러)에 플러그합니다
Emissive Color(이미시브 컬러)가 Base Color(베이스 컬러)보다 위에 있다는 것을 확인할 수 있습니다
빨간색은 보이지 않고 보라색만 보입니다
다시 상기시켜 보면 Multiply 노드를 사용해 Emissive Color(이미시브 컬러)의 Brightness(밝기)를 제어할 수 있었습니다
그것부터 해보겠습니다
Constant1Vector를 불러와서 10이라는 값을 주고
소켓 B에 플러그해주고 이 출력 값은 Emissive Color(이미시브 컬러)에 플러그합니다
이제 반짝이는 듯한 효과가 보이며 적용해서 레벨(층)로 돌아가 보겠습니다
큐브가 빛나고 있습니다
우리가 원하는 효과는 맞지만 아직 부족합니다
우리가 원하는 것은 정확히 무엇일까요?
Dissolve(디졸브) 머티리얼를 빛나게 한다는 것은
전체 mesh(메시)를 빛나게 하는 것이 아니라 구멍들의 선만 빛나게 하는 것입니다
전체 색을 Base Color(베이스 컬러)에 오버레이하는 것이 아니라 선에만 색을
추가하는 것입니다
그럼 구멍의 선들은 어떻게 다룰 수 있을까요?
다시 머티리얼 에디터 안에서 이 출력 값으로 Opacity(불투명도)를 조정하고
이 노드들을 사용해 Emissive Color(이미시브 컬러)를 제어하는 것입니다
Base Color(베이스 컬러)에 전체 색을 오버레이하고 싶은 것이 아니기 때문에 Emissive Color(이미시브 컬러)에
무언가 작업을 해야 합니다
그러기 위해서는 Texture Sample 노드가 하나 더 필요합니다
그러므로 하나 더 불러와주겠습니다
그리고 여기서는 노이즈 텍스처를 사용할 것입니다
이번에는 lowres라고 입력하겠습니다
돋보기 모양을 클릭하여 이 텍스처가 위치한 곳으로 가서 더블 클릭으로 열어줍니다
굉장히 low res(저해상도)이며 흐릿하게 보입니다
이런 텍스처를 사용해 선을 다룰 수 있습니다
일단 UV 소켓이 필요합니다
지금까지 UV 소켓에서 다룬 건 Texture Coordinate(텍스처 좌표) 노드를
UV에 플러그하는 것입니다
이것으로 타일링을 제어할 수도 있지만 그렇게 하지 않겠습니다
이 텍스처를 이 텍스처의 UV 소켓으로 플러그하고 싶습니다
어떻게 해야 하는지 살펴봅시다
이 텍스처를 선택하고 Ctrl D로 복제합니다
그런데 문제는
이 UV 소켓은
몇 개의 Float을 필요로 할까요?
UV라고 불리는 이유는 두 개의 Float들을 필요로 하기 때문이므로 RGB를 플러그할 수 없습니다
결과가 정확하지 않을 것이며 각 채널을 따로 플러그하는 것도 안 되는 이유는
하나의 Float이기 때문입니다
그래서 Append를 사용해야 합니다
Append를 검색해서 채널을 드래그해줍니다
이제 값이 하나 생겼습니다
이제 또 다른 값을 추가해야 하는데
숫자 1 키를 꾹 눌러서 이 0을
소켓 B에 플러그합니다
이제 두 개의 Float들이 있으며 이것으로 데이터를 다룰 수 있고 텍스처도 조정할 수 있습니다
그러면 이러한 결과가 나오는데 차이점을 더 잘 구분하기 위해서
이 노드를 복제하여 우클릭으로 Start Previewing Node (노드 미리보기 시작)을 선택합니다
이것이 이 텍스처를 UV 소켓에 플러그하기 전이고 이것이 플러그 후입니다
이 텍스처를 UV 데이터로 사용함으로 재밌는 결과가 나왔습니다
하지만 한 가지는 문제는 너무 흐릿하다는 것입니다
이 문제를 보완하기 위해서는 CheapContrast 노드가 사용됩니다
CheapContrast 노드를 불러와서 이 출력 값을 여기에 플러그합니다
Contrast(대비) 값은 기본 값으로 1.5를 주고 이것을
Contrast(대비)에 플러그하여 노드를 미리보기하겠습니다
검정과 흰색이 더 많아졌습니다
흰색 부분은 우리가 보이는 부분이며 검정 부분은 우리한테 보이지 않는
부분입니다
노이즈 텍스처를 또 다른 노이즈 텍스처의 UV 입력 값으로 사용하므로
그 선들을 다룰 수 있게 되었습니다만 이 입력 값은 Opacity(불투명도)에서 사용되는 값은 아닙니다
Opacity(불투명도)는 이 노드들 전부를 입력 값으로 사용합니다
그러므로 동일하게 이것을
UV 소켓 노이즈 텍스처의 입력 값으로 사용하겠습니다
우선 이걸 지워주겠습니다
그리고 이 노드를 드래그해서 Append에 플러그 해줍니다
그랬더니 재밌는 결과가 보입니다
Speed(속력)가 너무 빠른 것 같으므로 0.1로 늦춰보겠습니다
이제 미미하고 느리지만 Dissolve(디졸브) 효과가 보입니다
이 핀을 끌어옴으로
그래프가 더 지저분해지고 있습니다
뭔가 조치를 하지 않으면 더 심각해질 것입니다
그래서 지금이 Named Reroute 노드를 설명하기에 최적의 타이밍 같습니다
Named Reroute 노드가 무엇인지 보여드리겠습니다
이 결과를 드래그한 다음에 Named Reroute라고 입력하면 이름을 입력하라고
나옵니다
이름은 Opacity Mask로 지어주겠습니다
여러분이 이해할 수만 있다면 마음대로 지어도 됩니다
이 출력 값을 마스크로 사용할 것이고 Dissolve(디졸브) 효과를 주지 않을 부분들을
마스크해낼 것인데 Named Reroute를 사용하는 이유는
이 소켓의 데이터를 cache(캐시)하여 이 노드 하나에 넣어줄 수 있기 때문입니다
그렇게 하면 이 cache(캐시) 노드를 머티리얼 그래프 내 원하는 곳에서 사용할 수 있습니다
Opacity(불투명도)와 Append를 비활성화해주고
이 노드들을 빈 공간으로 옮겨주겠습니다
이것 Opacity Mask(불투명도 마스크)이며 cache(캐시)된 노드를 여기서 사용할 수 있습니다
Opacity Mask를 입력하고 Append 노드에 플러해서 노드를
미리보기 하겠습니다
그저 핀을 끌어오는 것보다 그래프가 더 정돈되어 보이며
그리고 그것이 오늘의 과제입니다
여러분의 과제는 Named Reroute를 사용해 교차 선들을 방지하는 것입니다
Opacity(불투명도) 입력 값을 노이즈 텍스처의 UV 입력 값으로 사용하시기 바랍니다
제가 사용한 텍스처는 low res blurred 텍스처입니다
그리고 그 출력 값을 Emissive Color(이미시브 컬러)에 플러그하시기 바랍니다
그러고나면 어떤 문제와 마주하게 될까요?
어떻게 해결할 수 있을까요?
영상을 멈추고 시도해 보시기 바랍니다
어떠셨나요?
성공적으로 Named Reroute 노드를
사용하셨나요?
어떻게 Dissolve(디졸브)되는 부분의 선에 Emissive Color(이미시브 컬러)를 넣을 수 있을지 봅시다
여기는 더 이상 Dissolve(디졸브) 머티리얼이 없습니다
Opacity(불투명도)에 플러그 되는 것이 없기 때문입니다
이 Opacity Mask(불투명도 마스크)를 사용해 Opacity(불투명도)에 플러그 해주기 위해 우클릭을 해서
Opacity Mask를 선택하고 Opacity(불투명도)에 플러그합니다
다시 Dissolve(디졸브) 머티리얼이 생겼습니다
이 결과를 Opacity(불투명도)에 플러그하는 것과 동일하지만 Named Reroute의 장점은
교차 선을 방지해 준다는 것입니다
더 복잡한 그래프를 사용할 때 굉장히 유용합니다
이제 Emissive Color(이미시브 컬러)에도 조치를 취해봅시다
지금까지는 이 low res(저해상도) 노드를 사용했고 Opacity(불투명도) 입력 값을 UV 데이터로 사용했습니다
그리고 이 노드를 미리보기 해보겠습니다
그렇게 하면 여기 검정색 선이 생깁니다
미리보기를 시작하겠습니다
CheapContrast의 도움으로 검정빛과 흰색빛이 더 또렷해졌습니다
그러기 위해서는 이 텍스처의 Contrast(대비)를 증가시켰습니다 그리고 다음 단계는 이걸 직접적으로
Emissive Color(이미시브 컬러)와 Multiply 해주면 이런 결과가 생깁니다
Named Reroute 노드도 사용할 수 있으니 드래그하여 검색하고
이건 Glow Edge(빛나는 선)이라고 지은 다음 이 노드에 cache(캐시)하기 위해 사용할 수 있습니다
이 Glow Edge(빛나는 선)를 Emissive Color(이미시브 컬러)와 Multiply하겠습니다
그리고 결과를 확인해보겠습니다
그래서 이것을 소켓 A에 플러그하고 Glow Edge(빛나는 선)는 소켓 B로 플러그합니다
이 두 값을 Multiply함으로써 색에 영향을 줄 수 있고 이것을
다시 Multiply 소켓에 플러그하고 이 노드의 미리보기를 꺼보면
머티리얼이 Dissolve(디졸브)하기 시작했지만 여전히 Base Color(베이스 컬러)가 묻힙니다
이유를 알아보기 위해 CheapContrast를 미리보기 하겠습니다
배경은 여전히 흰색인데 즉, 이 배경이 보여지는 것이며
이 검정 선들을 보여지지 않습니다
우리가 원하는 결과가 아닙니다
우리가 원하는 것은 배경이 검정색이 되는 것입니다
이 검정 선들은 흰색이 되어야 합니다 그 부분만을 보여주고 싶기 때문입니다
현재는 우리가 원하는 것의 반대의 결과입니다
그래서 우리가 해야 할 것은 결과를 반전시키는 것입니다
그러기 위해 필요한 노드가 있는데
바로 One Minus입니다
우클릭으로 One Minus 노드를 바로 불러와줍니다
입력 값을 필요로 하며 어떠한 값을 출력해냅니다
이 노드의 역할은 무엇일까요?
One Minus라는 이름은 그대로 직설적이며
노이즈 텍스처를 다룰 때 유용한 노드로 종종 출력되는 값을 반전시킬 때
사용됩니다
예시를 보여드리겠습니다
0이라는 값이 있습니다
색이 값으로 이루어져 있다는 것은 이미 알고 있는 사실입니다
0는 검정색이며 One Minus 노드로 이 값을 소켓에 플러그 하면
1 빼기 0이 되고 결과는 1이 됩니다
결과는 흰색이 되는 것입니다
그렇게 해서 0과 1 사이의 결과를 반전시키는 것입니다
0.2도 마찬가지로 One Minus 노드에 넣으면 0.8이 출력됩니다
더 하얀 표면이 생겼지만 1보다는 아닙니다
이것을 노이즈 텍스처에 적용해보면 범위가 0과 1 사이여야
합니다
그리고 이것을 One Minus 코드에 플러그하면 반전된 값을 얻을 수 있습니다
다시 말해 흰색 영역은 검정색이 되고 검정색의 영역은
흰색이 되는 것입니다
실제로 머티리얼 그래프에서 사용하는 법을 살펴보겠습니다
이 노드를 미리보기 하고 One Minus를 가져오겠습니다
이 출력 값을 여기 플러그하고 이 출력 값은 Glow Edge에 플러그합니다
이제 베이스 컬러가 보이고 emissive(이미시브) 컬러를 통해 선들도
Dissolve(디졸브)되고 있습니다
이 두 노드를 비교해 봅시다
이것은 One Minus를 사용하기 전입니다
흰색 배경에 검정색 선들이 있습니다
이 선들에 emissive(이미시브) 컬러가 사용되지 않아 보이지 않지만
One Minus를 사용하고 나면 배경은 검정색이 되고 선들을 흰색으로 바뀝니다
이 흰색 부분의 색을 사용할 것이고 이 검정색 배경, 즉 베이스 컬러는
사용하지 않습니다
이것으로 우리가 원하는 결과를 얻을 수 있습니다
이걸 미리보기 해보겠습니다
적용시킨 다음
레벨(층)로 돌아가겠습니다
큐브가 스스로 Dissolve(디졸브)되고 있습니다
이 머티리얼을 보완하기 위한 방법들이 몇 가지 더 있습니다
예를 들어 Brightness(밝기)를 키우는 것입니다
머티리얼 에디터로 돌아가서 값을 10에서 50으로 키워준 다음 적용시키고
에디터로 돌아왔습니다
선이 더 밝아진 것이 보입니다
이번 강의에서는 노이즈 텍스처를 UV 입력 값으로 사용하는 법에 대해 배웠고
이것으로 우리가 원하는 선을 구현할 수 있었습니다
Name Reroute라는 노드를 사용해
그래프를 정리하는 법도 배워보았습니다
One Minus 노드의 위력도 살펴보고 그것으로 노이즈 클릭의 값을
반전시키는 법도 알아보았습니다
이번 강의의 요약은 조금 다를 것인데 여러분에게 숙제가 있기 때문입니다
Dissolve(디졸브) 머티리얼에서 사용된 노드들에 코멘트를 작성해볼 수 있나요?
그리고 값들을 파라미터로 변환하여 머티리얼 인스턴스 내에서 조정해 보시기 바랍니다
그래야 매번 번거롭게 머티리얼 에디터에서 바꾸지 않기 때문입니다
좋습니다
성공적으로 Dissolve(디졸브) 머티리얼을 생성했습니다