실크 셰이더
실크 셰이더는 고해상도 렌더 파이프라인(HDRP)에서 이방성 패브릭을 렌더링하기 위한 시작점입니다. 실크 셰이더를 사용하여 실크, 새틴, 나일론, 폴리에스테르와 같은 패브릭을 만들 수 있습니다. 일반적으로 실크와 다른 합성 섬유는 매끈한 단일 필라멘트로 생성되기 때문에 더 매끈합니다. 이런 섬유를 짜면 이방성 스페큘러 하이라이트가 있는 패브릭을 생성합니다.
자세히 들여다보면 실크 셰이더는 미리 설정된 셰이더 그래프입니다. 실크 셰이더 구현에 대해 자세히 알아보거나 실크 셰이더 배리언트를 생성하려면 패브릭 마스터 스택에 대한 셰이더 그래프 문서를 참조하십시오.
실크 패브릭 샘플 임포트
고해상도 렌더 파이프라인(HDRP)에는 또한 시작하는 데 더 도움이 될 수 있도록 실크 머티리얼 샘플이 제공됩니다. 이 샘플을 찾으려면 다음 단계를 따르십시오.
- Windows > Package Manager로 이동하여 패키지 리스트에서 High Definition RP를 선택합니다.
- 패키지의 세부 사항을 표시하는 메인 창에서 Samples 섹션을 찾습니다.
- 샘플을 패키지로 임포트하려면 Import into Project 버튼을 클릭합니다. 이렇게 하면 프로젝트에 Samples 폴더가 생성되며 이 폴더로 선택한 샘플을 임포트하게 됩니다. 또한 이는 Unity가 향후 샘플을 임포트하는 폴더입니다.
- Asset 창에서 Samples > High Definition RP > 11.0으로 이동하여 Fabric 씬을 엽니다. 여기에서 해당 씬의 컨텍스트 안에 설정된 실크 샘플 머티리얼을 볼 수 있으며 사용할 수 있습니다.
실크 머티리얼 생성
HDRP에서 새로운 머티리얼은 기본적으로 릿 셰이더를 사용합니다 실크 머티리얼을 완전히 새로 만들려면 머티리얼을 생성한 다음 실크 셰이더를 사용할 수 있도록 만들어야 합니다. 이렇게 하려면 다음 단계를 따르십시오.
Unity 에디터에서 프로젝트의 Asset 창으로 이동합니다.
Asset 창을 오른쪽 클릭한 후 Create > Material을 선택합니다. 그러면 Unity 프로젝트의 Asset 폴더에 새 머티리얼이 추가됩니다.
머티리얼 인스펙터 상단의 Shader 드롭다운을 클릭하여 HDRP > Fabric > Silk를 선택합니다.
스레드 맵
패브릭 셰이더는 패브릭이 보여주는 고주파수 세부 사항에 대한 스레드 맵을 사용할 수 있습니다. 이는 HDRP의 릿 셰이더에 있는 디테일 맵과 유사합니다. 스레드 맵 입력은 메모리를 최적화하기 위해 채널이 패킹되며 노멀 맵에 대한 정밀도를 최적화하는 방법으로 정렬됩니다. 패브릭 머티리얼 샘플에는 미리 저작된 스레드 맵이 일부 포함되어 있습니다.
스레드 맵 텍스처 포맷은 다음과 같습니다.
- 빨간색: 앰비언트 오클루전
- 초록색 및 알파: 노멀
- 파란색: 평활도
자세히 들여다보면 패브릭 셰이더는 하위 그래프 연산자를 사용하여 스레드 맵을 적용합니다. 스레드 맵 구현 또는 그 사용 방법에 대해 자세히 알아보려면 다음을 참조하십시오.
- Unity 에디터에서 셰이더 그래프 에셋의 Shader Editor를 엽니다.
- 그래프 뷰 위에서 마우스 오른쪽 버튼을 클릭한 다음 Create Node를 선택합니다.
- Utility > High Definition Render Pipeline > Fabric > Thread Map Detail로 이동하여 선택합니다. 이를 통해 그래프에 스레드 맵 연산자를 추가합니다.
퍼즈 맵
패브릭 셰이더는 퍼즈 맵을 사용하여 추가 퍼즈 세부 사항을 표면에 제공합니다. 퍼즈 맵은 단일 채널 텍스처입니다. 이를 적용하기 위해 패브릭 셰이더는 기본 컬러 맵과 혼합하여 패브릭 머티리얼을 셰이딩하는 데 사용되는 최종 컬러를 생성합니다.
프로퍼티
표면 옵션
Surface Options는 머티리얼 표면의 전반적인 모습과 Unity가 화면에 머티리얼을 렌더링하는 방식을 제어합니다.
Property | Description |
---|
노출 프로퍼티
프로퍼티 | 설명 |
---|---|
Base UV Mask | 원하는 채널의 해당하는 열에 "1"을 입력하고 다른 채널의 열에는 0을 입력하여 기본 UV 채널을 설정합니다. |
Base UV Scale Transform | 기본 UV에 대한 타일링 속도(xy)와 오프셋(zw)을 설정합니다. |
Base Color Map | 머티리얼의 기본 컬러를 제어하는 텍스처를 할당합니다. |
Base Color | 머티리얼의 컬러를 설정합니다. 텍스처를 할당하지 않으면 이 컬러가 머티리얼의 절대 컬러가 됩니다. 텍스처를 할당하면 머티리얼의 최종 컬러는 할당한 텍스처와 선택한 컬러가 조합됩니다. Surface Type 드롭다운에서 Transparent를 선택하면 컬러의 알파 값은 머티리얼에 대한 투명도 수준을 제어합니다. |
Mask Map AO(G) S(A) | RGBA 채널에 다음의 머티리얼 맵이 있는 채널이 패킹된 텍스처를 할당합니다. • Green: 앰비언트 오클루전 맵을 저장합니다. • Alpha: 평활도 맵을 저장합니다. 채널이 패킹된 텍스처와 마스크 맵에 대한 자세한 내용은 마스크 맵을 참조하십시오. |
Smoothness Min | 머티리얼의 최소 평활도를 설정합니다. |
Smoothness Max | 머티리얼의 최대 평활도를 설정합니다. |
Specular Color | 스페큘러 하이라이트 컬러를 설정합니다. |
Normal Map | 탄젠트 공간에서 이 머티리얼의 노멀 맵을 정의하는 텍스처를 할당합니다. |
Normal Map Strength | 0과 8 사이 노멀 강도를 조절합니다. |
Use Thread Map | 머티리얼에 스레드 맵 세부 사항을 적용할지 여부를 설정합니다. |
Thread Map AO(R) Ny(G) S(B) Nx(A) | RGBA 채널에 있는 다음의 맵을 사용하여 패브릭 스레드에 대한 파라미터를 정의하는 텍스처를 할당합니다.• Red: 앰비언트 오클루전 맵을 저장합니다. Green: 노멀의 Y 컴포넌트를 저장합니다.• Blue: 평활도 맵을 저장합니다.• Alpha: 노멀의 X 컴포넌트를 저장합니다. 채널이 패킹된 텍스처와 마스크 맵에 대한 자세한 내용은 마스크 맵을 참조하십시오. |
Thread UV Mask | 원하는 채널의 해당하는 열에 "1"을 입력하고 다른 채널의 열에는 0을 입력하여 스레드 UV 채널을 설정합니다. |
Thread UV Scale Transform | 스레드 UV에 대한 타일링 속도(xy)와 오프셋(zw)을 설정합니다. |
Thread AO Strength | 스레드 맵에 저장되어 있는 AO의 강도를 수정합니다. |
Thread Normal Strength | 스레드 맵에 저장되어 있는 노멀의 강도를 수정합니다. |
Thread Smoothness Scale | 스레드 맵에 저장되어 있는 평활도의 스케일을 수정합니다. |
Fuzz Map | 머티리얼의 기본 컬러에 퍼즈 세부 사항을 추가하는 텍스처를 할당합니다. |
Fuzz Map UV Scale | 퍼즈 맵을 샘플링하는 데 사용되는 스레드 UV 스케일을 설정합니다. |
Fuzz Strength | 기본 컬러에 추가되는 퍼즈 컬러의 강도를 설정합니다. |
Diffusion Profile | 머티리얼의 Subsurface Scattering 프로퍼티를 제어하는 확산 프로파일을 설정합니다. |
고급 옵션
프로퍼티 | 설명 |
---|
제한 사항
면 광원은 현재 패브릭 또는 머리카락 머티리얼을 지원하지 않습니다. 즉 면 광원은 다음 사항을 사용하는 머티리얼에 그림자를 비추거나 드리우지 않습니다.