첫 번째 셰이더 그래프
시작하기 전에 프로젝트가 올바르게 설정되고 그래프가 올바르게 로드되는지 확인해야 합니다. 자세한 내용은 셰이더 그래프 시작하기를 참조하십시오.
새 그래프 생성
프로젝트 브라우저를 사용하여 프로젝트에 새 셰이더 그래프 에셋을 생성하십시오. Create > Shaders에 다양한 생성 옵션이 표시됩니다.
Blank Shader Graph는 활성 타겟 또는 Block 노드를 선택하지 않은 상태에서 셰이더 그래프를 생성합니다. 계속하려면 Graph Settings 메뉴를 통해 타겟을 선택해야 합니다.
렌더 파이프라인과 같은 특정 통합은 셰이더 그래프에 대해 사전 설정된 옵션을 제공할 수도 있습니다. 이 예에서는 Universal > Lit 셰이더 그래프가 생성되어 열렸습니다.
새 노드 생성
Create Node 메뉴를 사용하여 새 노드를 생성하십시오. 다음의 두 가지 방법으로 메뉴를 열 수 있습니다.
- 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 Create Node를 선택합니다.
- 스페이스바를 누릅니다.
메뉴에서 검색창에 입력하여 특정 노드를 찾거나, 라이브러리의 모든 노드를 탐색할 수 있습니다. 이 예에서는 Color 노드를 생성합니다. 먼저 Create Node 메뉴의 검색창에 "color"를 입력합니다. 그런 다음, Color를 클릭하거나, Color를 강조 표시하고 Enter 키를 눌러 Color 노드를 만듭니다.
노드 연결
그래프를 빌드하려면 노드를 함께 연결해야 합니다. 그렇게 하려면 노드의 Output Slot을 클릭하고, 해당 연결을 다른 노드의 Input Slot으로 드래그합니다.
Color 노드를 프래그먼트 스택의 Base Color 블록에 연결하여 시작합니다.
노드 출력 변경
연결이 메인 미리보기를 업데이트했으므로, 이제 메인 미리보기의 3D 오브젝트가 Color 노드에 지정된 컬러인 검은색으로 표시됩니다. 해당 노드의 컬러 바를 클릭하고, 컬러 피커를 사용하여 컬러를 변경할 수 있습니다. 노드에서 변경 작업을 수행하면 메인 미리보기에서 실시간으로 오브젝트를 업데이트합니다.
예를 들어 빨간색을 선택하면 3D 오브젝트에 이러한 변경 사항이 즉시 반영됩니다.
그래프 저장
현재 셰이더 그래프는 자동으로 저장되지 않습니다. 다음의 두 가지 방법으로 변경 사항을 저장할 수 있습니다.
- 창 왼쪽 상단의 Save Asset 버튼을 클릭합니다.
- 그래프를 닫습니다. Unity가 저장되지 않은 변경 사항을 감지하면 팝업 창이 나타나고, 해당 변경 사항을 저장할지 묻습니다.
머티리얼 생성
그래프를 저장한 후 셰이더를 사용하여 새 머티리얼을 생성하십시오. 새 머티리얼 생성 및 셰이더 그래프 셰이더 할당 프로세스는 일반 셰이더와 동일합니다. 메인 메뉴나 프로젝트 뷰 컨텍스트 메뉴에서 Assets > Create > Material을 선택합니다. 방금 생성한 머티리얼을 선택합니다. 인스펙터 창에서 Shader 드롭다운 메뉴를 선택하고, Shader Graphs를 클릭한 후 머티리얼에 적용할 셰이더 그래프 셰이더를 선택합니다.
셰이더 그래프 셰이더를 마우스 오른쪽 버튼으로 클릭하고 Create > Material을 선택할 수도 있습니다. 이 방식은 해당 셰이더 그래프 셰이더를 새로 생성된 머티리얼에 자동으로 할당합니다.
씬에 머티리얼 배치
머티리얼에 셰이더를 할당했으므로 이제 씬의 오브젝트에 적용할 수 있습니다. 머티리얼을 씬의 오브젝트에 드래그 앤 드롭하십시오. 또는 오브젝트의 인스펙터 창에서 Mesh Renderer > Materials를 찾아 요소에 머티리얼을 적용할 수도 있습니다.
프로퍼티를 사용하여 그래프 편집
프로퍼티를 사용하여 셰이더의 형상을 변경할 수도 있습니다. 프로퍼티는 머티리얼의 인스펙터에서 표시되는 옵션으로, 다른 사람이 셰이더 그래프를 열지 않고도 셰이더의 설정을 변경할 수 있도록 해줍니다.
새 프로퍼티를 생성하려면 블랙보드 오른쪽 상단의 Add (+) 버튼을 사용하여 생성할 프로퍼티 타입을 선택하십시오. 이 예에서는 Color를 선택합니다.
그러면 프로퍼티 선택 시 그래프 인스펙터의 Node Settings 탭에서 다음 옵션을 사용하여 블랙보드에 새 프로퍼티를 추가합니다.
옵션 | 설명 |
---|---|
프로퍼티 버튼 | 프로퍼티 이름을 변경하려면 블랙보드에서 버튼을 마우스 오른쪽 버튼으로 클릭하고 Rename를 선택한 후 새 프로퍼티 이름을 입력하십시오. 프로퍼티를 삭제하려면 버튼을 마우스 오른쪽 버튼으로 클릭하고 Delete를 선택하십시오. |
Exposed | 이 체크박스를 활성화하면 머티리얼의 인스펙터에서 프로퍼티가 표시됩니다. |
Reference | C# 스크립트에 표시되는 프로퍼티의 이름입니다. Reference 이름을 변경하려면 새 문자열을 입력하십시오. |
Default | 프로퍼티의 기본 값입니다. |
Mode | 프로퍼티의 모드입니다. 각 프로퍼티에는 서론 다른 모드가 있습니다. Color의 경우 Default 또는 HDR을 선택할 수 있습니다. |
Precision | 프로퍼티의 기본 정밀도입니다. |
Hybrid Instanced | Hybrid DOTS 렌더러를 사용할 때 이 프로퍼티를 인스턴스화할 수 있도록 해주는 실험 단계의 기능입니다. |
다음의 두 가지 방법으로 그래프에서 프로퍼티를 참조할 수 있습니다.
- 블랙보드에서 그래프로 프로퍼티를 드래그합니다.
- 마우스 오른쪽 버튼을 클릭하고 Create Node를 선택합니다. 프로퍼티는 Properties 카테고리에 나열됩니다.
프로퍼티를 Base Color 블록에 연결하십시오. 오브젝트가 즉시 검은색으로 바뀝니다.
그래프를 저장하고 머티리얼의 인스펙터로 돌아가십시오. 이제 프로퍼티가 인스펙터에 나타납니다. 인스펙터에서 프로퍼티를 변경하면 이 머티리얼을 사용하는 모든 오브젝트에 영향을 미칩니다.
추가 튜토리얼
예전 튜토리얼에서는 예전 포맷의 셰이더 그래프를 마스터 노드와 함께 사용합니다. 예전 튜토리얼을 보는 경우 업그레이드 가이드를 참조하여 마스터 노드를 마스터 스택으로 전환하는 방법에 대한 팁을 확인하십시오.
아래 블로그 포스트에서 셰이더 그래프를 사용하여 셰이더를 작성하는 방법을 더 자세히 알아볼 수 있습니다.
- 움직이는 아트: 셰이더 그래프로 애니메이션 머티리얼 만들기
- 셰이더 그래프 업데이트 및 샘플 프로젝트
- 셰이더 그래프의 커스텀 조명: 2019 버전의 그래프 확장
- Unity 2018.3 셰이더 그래프 업데이트: Lit 마스터 노드
- 셰이더 그래프를 사용하여 인터랙티브 버텍스 효과 만들기
- 셰이더 그래프 소개: 비주얼 에디터로 셰이더 빌드
또한 Unity YouTube 채널에서 셰이더 그래프 비디오 튜토리얼을 시청하거나, Unity 사용자 포럼에서 셰이더 그래프에 대한 최신 정보와 대화를 확인할 수도 있습니다.