광택 머티리얼 제작

Shiny, 광택 머티리얼 제작 방법 안내입니다.

Windows
MacOS
Linux

매일 접하는 오브젝트에는 어느정도 shininess, 광택이 있습니다. 언리얼 엔진 4 안에서는 메탈릭, 스페큘러, 러프니스 머티리얼 입력을 사용해서 이러한 오브젝트의 광택을 시뮬레이션해낼 수 있습니다. 이번 하우투 안내에서는 반짝이 머티리얼을 만드는 법에 대한 모든 것을 다뤄보겠습니다.

광택

Shininess, 광택이란 단순히 표면의 빛 반사 능력을 말합니다. 표면이 빛을 많이 반사할 수록 표면의 광택이 더한 것이고, 표면이 빛을 적게 반사할 수록 표면의 광택이 덜한 것입니다. 사물에 앉은 아주 작은 먼지에서부터 사물을 만질 때 손의 기름이 묻어난 것까지, 이러한 환경의 모든 것이 표면의 빛 반사 능력에 영향을 끼칠 수 있습니다.

러프니스 & 광택

러프니스(거칠기)는 표면의 광택 결정을 돕는 데 주요한 역할을 차지합니다. 표면이 더 거칠 수록 광택은 적어 집니다. 표면이 덜 거칠 수록 광택은 많아 집니다. 러프니스가 광택에 어떤 영향을 끼치는지 알 수 있는 예제입니다.

roughness_nonmetal.png

멀리 왼쪽의 구체는 러프니스 값이 0 으로, 반사면이 얼마나 잘 나오는지 보세요. 구제가 오른쪽으로 가면서 광택이 덜해집니다. 러프니스 값이 1 이 될 때까지 서서히 올렸기 때문입니다.

메탈릭 & 광택

금속성 오브젝트의 광택은 러프니스로 조절합니다. 머티리얼에 적용된 러프니스 값이 클 수록, 메탈릭의 광택이 줄어들며, 러프니스 값이 적을 수록 광택이 매우 살아납니다. 메탈릭이 러프니스에 어떻게 영향을 받는지 예제입니다.

roughness_metal.png

멀리 왼쪽의 구체는 메탈릭 값이 1, 러프니스 값은 0 이어서 광택이 매우 좋습니다. 반면 멀리 오른쪽에는 메탈릭 값이 1, 러프니스 값이 1 입니다. 사용감이 꽤 있는 듯 매우 둔탁한 금속 느낌이 납니다.

스페큘러 & 광택

99% 의 경우, 대부분의 머티리얼에 스페큘러 입력 기본값 0.5 로 충분할 것이며, 조정할 일이 없을 것입니다.

스페큘러 역시도 머티리얼의 광택에 영향을 끼칠 수 있습니다. 스페큘러 값을 1 에 가까이 높이면 머티리얼의 반사면과 스페큘러 하이라이트가 보다 강해지고 명확해지는 반면, 값을 0 에 가까이 낮추면 거의 보이지 않을 때까지 반사면과 스페큘러 하이라이트가 약해집니다. 스페큘러 값이 0 에서 1 로 변함에 따라 반사면과 스페큘러 하이라이트의 강도에 어떤 영향을 끼치는지 보여주는 예제입니다.

Shiny_Specular.png

다른 모든 입력과 마찬가지로 스페큘러 역시 러프니스에 큰 영향을 받습니다. 스페큘러 입력을 1 로 설정했다 하더라도, 러프니스 값 역시 1 로 설정하면 스페큘러의 효과를 무효화시킬 수 있습니다. 또한 메탈릭이 켜진 경우 스페큘러를 조정해도 머티리얼에 영향을 끼치지 못합니다. 다시 강조하지만, 99 퍼센트 의 경우 이 값을 만질 일은 거의 없을 것이며, 기본값 0.5 로 최적의 결과가 날 것입니다.

머티리얼에 광택 사용하기

머티리얼에 광택을 내는 법은 다음과 같습니다.

이 튜토리얼은 프로젝트에 시작용 콘텐츠 를 포함시킨 경우 찾을 수 있는 콘텐츠를 활용합니다. 프로젝트에 시작용 콘텐츠를 포함시키지 않은 경우, 애셋 이주하기 문서에서 프로젝트간 콘텐츠 이동 관련 정보를 참고하시기 바랍니다. 이런 식으로 프로젝트를 새로 만들지 않고도 시작용 콘텐츠를 추가시킬 수 있습니다.

  1. 먼저 콘텐츠 브라우저우클릭 하고 메뉴에서 기본 애셋 생성 아래의 머티리얼 을 선택합니다. 선택하면 새로운 머티리얼 이 생성됩니다.

    Create_New_Material.png

  2. 머티리얼 이름을 Shiny_Material 이라 짓고 콘텐츠 브라우저 에서 더블클릭 하여 엽니다.

  3. 머티리얼을 열었으면 머티리얼 그래프에 다음 텍스처와 머티리얼 표현식 노드를 추가합니다. 참고로 텍스처는 시작용 콘텐츠의 Textures 폴더에서 찾을 수 있습니다.

    • Texture Sample: T_Metal_Gold_D x 1

    • Texture Sample: T_Metal_Gold_N x 1

    • Scalar Parameter: x 3

    • Multiple x 1

    Shiny_Required_Nodes.png

  4. 머티리얼 표현식 노드를 배치한 이후에는, Scalar Parameter 이름을 짓고 기본값을 설정해 줘야 합니다. 여기서 사용된 이름과 기본값은 다음과 같습니다.

    • Metallic: 0

    • Specular: 0.5

    • Roughness: 0.5

    Shiny_Named_Nodes.png

  5. 머티리얼 표현식 노드 전부를 메인 머티리얼 노드의 해당 부분에 연결하기 시작할 차례입니다. 완료된 머티리얼 그래프 모습은 다음과 같을 것입니다.

    Shiny_Connected_Nodes.png

  6. 다음으로 적용저장 버튼을 누른 다음 머티리얼 에디터를 닫습니다. R_Apply_&_Save.png

  7. 콘텐츠 브라우저 에서 Shiny_Material 을 찾은 다음 우클릭 하고 메뉴에서 머티리얼 인스턴스 생성 옵션을 선택합니다.

  8. 콘텐츠 브라우저 에서 머티리얼 인스턴스에 더블클릭 하여 엽니다. 열리면 Scalar Parameter Values 옆에 회색으로 탈색된 체크박스를 전부 좌클릭 하여 활성화시킵니다. Shiny_Enabled_MI_Properties.png

Scalar Parameter Values 가 활성화되었으면, 그 값을 변경하여 광택에 영향을 끼칠 수 있습니다. 예를 들어 메탈릭을 1 로 설정한 뒤 러프니스를 0 으로 설정하면, 황금같아 보이는 광택이 매우 좋은 금속이 나옵니다.

Shiny_MI_Metal_Example.png

메탈릭을 0 으로 설정하고 스페큘러를 0.5 에서 1.0 으로 변경하면, 광택이 좋은 노랑 플라스틱같은 재질이 나옵니다.

Shiny_MI_Plastic_Example.png

러프니스를 1 로, 스페큘러를 1 로 설정하면 약간 반사성을 띄는 노랑 페인트가 나옵니다.

Shiny_MI_Paint_Example.png

위의 노랑 페인트에서 반사면이 너무 심한 경우, 스페큘러를 낮춰보면 됩니다. 스페큘러를 0, 0.5, 1 로 설정했을 때 머티리얼의 반사면에 어떤 영향을 끼치는지 예제입니다.

Shiny_Different_Spec_Amounts.png

결론

광택 머티리얼을 사용하면 3D 오브젝트의 생동감에 정말 큰 도움이 됩니다. 하지만 3D 의 모든 것이 그렇듯, 광택 머티리얼에도 비용이 듭니다. 서로를 반사해 대는 메탈릭 오브젝트가 여럿 있을 경우 비용이 크게 늘어날 수 있다는 점 유념하시기 바랍니다. 또한 모든 머티리얼에는 일정 정도 광택이 있으니 완전히 비활성화시키지는 않도록 하시기 바랍니다.

태그

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼