[Deep Dive] Shader Graph 10.2.2 : 나의 첫 셰이더 그래프 (My first Shader Graph)

Unity3D/Shader 2021. 10. 22. 23:19
반응형

유니티 버전 2020.2.3f1

쉐이더 그래프 버전 : 10.2

 

 

나의 첫 셰이더 그래프 (My first Shader Graph)

https://docs.unity3d.com/Packages/com.unity.shadergraph@10.2/manual/First-Shader-Graph.html

 

시작하기 전에 프로젝트가 올바르게 설정되고 그래프가 올바르게 로드되는지 확인하십시오. 자세한 내용은 셰이더 그래프 시작하기를 참조하세요.

 

새 그래프 만들기 프로젝트 브라우저를 사용하여 프로젝트에 새 셰이더 그래프 자산을 만듭니다. 

 

만들기 > 셰이더에는 다양한 만들기 옵션이 표시됩니다. 

 

빈 셰이더 그래프는 선택된 활성 타겟이나 블록 노드가 없는 셰이더 그래프를 생성합니다. 

 

계속하려면 그래프 설정 메뉴를 통해 대상을 선택해야 합니다. 

 

렌더 파이프라인과 같은 특정 통합은 셰이더 그래프에 대해 사전 구성된 옵션을 제공할 수도 있습니다. 

 

이 예에서는 Universal > Lit Shader Graph가 생성되어 열렸습니다.

 

 

 

 

새 노드 만들기 노드 만들기 메뉴를 사용하여 새 노드를 만듭니다. 

메뉴를 여는 방법에는 두 가지가 있습니다. 

 

마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 노드 생성을 선택합니다. 

 

스페이스바를 누릅니다. 

메뉴에서 검색 창에 입력하여 특정 노드를 찾거나 라이브러리의 모든 노드를 탐색할 수 있습니다. 

 

이 예에서는 Color 노드를 생성합니다. 

 

먼저 Create Node 메뉴의 검색창에 "color"를 입력합니다. 

그런 다음 색상을 클릭하거나 색상을 강조 표시하고 Enter 키를 눌러 색상 노드를 만듭니다.

 

 

노드 연결 그래프를 작성하려면 노드를 함께 연결해야 합니다. 

 

그렇게 하려면 노드의 출력 슬롯을 클릭하고 해당 연결을 다른 노드의 입력 슬롯으로 드래그합니다. 

 

Color 노드를 Fragment Stack의 Base Color 블록에 연결하여 시작합니다.

 

 

 

노드 출력 변경 연결이 마스터 미리 보기를 업데이트했고 기본 미리 보기의 3D 개체가 이제 색상 노드에 지정된 색상인 검은색임을 알 수 있습니다. 

 

해당 노드의 색상 막대를 클릭하고 색상 선택기를 사용하여 색상을 변경할 수 있습니다. 

노드에서 수행하는 모든 변경 사항은 실시간으로 기본 미리 보기의 개체를 업데이트합니다. 

 

 

예를 들어 빨간색을 선택하면 3D 개체에 이 변경 사항이 즉시 반영됩니다.

 

 

 

 

그래프 저장

현재 셰이더 그래프는 자동으로 저장되지 않습니다. 변경 사항을 저장하는 방법에는 두 가지가 있습니다.

  1. 창의 왼쪽 상단 모서리에 있는 자산 저장 버튼을 클릭합니다 .
  2. 그래프를 닫습니다. Unity가 저장되지 않은 변경 사항을 감지하면 팝업 창이 나타나고 해당 변경 사항을 저장할 것인지 묻습니다.

 

 

재료 만들기

그래프를 저장한 후 셰이더를 사용하여 새 머티리얼을 만듭니다. 

새로운 머티리얼 을 생성하고 셰이더 그래프 셰이더를 할당 하는 과정은 일반 셰이더와 동일합니다. 

주 메뉴 또는 프로젝트 보기 상황에 맞는 메뉴에서 자산 > 생성 > 재료를 선택합니다 . 

 

 

 

방금 만든 재료를 선택합니다. 

 

그 경위 창에서 선택 쉐이더 , 드롭 다운 메뉴를 클릭 쉐이더 그래프를 , 그리고 당신이 재료에 적용 할 쉐이더 그래프 쉐이더를 선택합니다.

 

 

 


셰이더 그래프 셰이더를 마우스 오른쪽 버튼으로 클릭하고 만들기 > 재질 을 선택할 수도 있습니다.

 이 메서드는 해당 셰이더 그래프 셰이더를 새로 생성된 머티리얼에 자동으로 할당합니다.

 

 

 

큐브를 만들고 

장면에 재료 넣기

머티리얼에 셰이더를 할당했으므로 이제 씬의 오브젝트에 적용할 수 있습니다. 

Material을 Scene의 오브젝트에 드래그 앤 드롭합니다. 

또는 개체의 인스펙터 창에서 Mesh Renderer > Materials 를 찾아 Material을 Element 에 적용합니다 .

 

 

속성을 사용하여 그래프 편집

속성을 사용하여 셰이더의 모양을 변경할 수도 있습니다. 속성은 머티리얼 인스펙터에서 볼 수 있는 옵션으로, 다른 사람이 셰이더 그래프를 열지 않고도 셰이더의 설정을 변경할 수 있습니다.

새로운 속성을 생성하려면 블랙보드 우측 상단의 추가(+) 버튼을 이용하여 생성할 속성의 종류를 선택하세요. 이 예에서는 Color 를 선택 합니다.

 

 

Option Description
Property button 속성 이름을 변경하려면 Blackboard에서 버튼을 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기 를 선택한 다음 새 속성 이름을 입력합니다. 속성을 삭제하려면 버튼을 마우스 오른쪽 버튼으로 클릭하고 삭제 를 선택 합니다.
Exposed 머티리얼의 인스펙터에서 속성이 보이도록 하려면 이 체크박스를 활성화합니다.
Reference C# 스크립트에 표시되는 속성의 이름입니다. 참조 이름 을 변경하려면 새 문자열을 입력하십시오.
Default 속성의 기본값입니다.
Mode 속성의 모드입니다. 각 속성에는 다른 모드가 있습니다.
색상 , 기본 또는 HDR 둘 중 하나를 선택할 수 있습니다 
Precision The default precision of the property.
Hybrid Instanced
하이브리드 DOTS 렌더러를 사용할 때 이 속성을 인스턴스화할 수 있도록 하는 실험적 기능입니다.

 

 

There are two ways to reference a property in your graph:

  1. Drag the property from the Blackboard onto the graph.
  2. Right-click and select Create Node. The property is listed in the Properties category.

Try connecting the property to the Base Color block. The object immediately changes to black.

 

 

Save your graph, and return to the Material's Inspector.

The property now appears in the Inspector.

Any changes you make to the property in the Inspector affects all objects that use this Material.

 

큐브를 선택 하고 

인스펙터를 확인 하면 컬러 속성이 보입니다 

 

 

색상을 선택하고 바꿔주면 

 

잘 바뀌네요 ^^

 

 

 

다음 시간에 볼것은 

셰이더 그래프 창 에 있는것들을 자세히 살펴 봅시다 

 

 

 

더 많은 튜토리얼
이전 자습서에서는 마스터 노드와 함께 오래된 형식의 셰이더 그래프를 사용합니다. 이전 튜토리얼을 볼 때 마스터 노드를 마스터 스택 으로 변환하는 방법에 대한 팁 은 업그레이드 가이드 를 참조하십시오 .
셰이더 그래프를 사용하여 셰이더를 작성하는 방법을 계속 탐색하려면 다음 블로그 게시물을 확인하십시오.
움직이는 예술: 셰이더 그래프로 애니메이션 머티리얼 만들기
셰이더 그래프 업데이트 및 샘플 프로젝트
셰이더 그래프의 커스텀 조명: 2019년 그래프 확장
Unity 2018.3 셰이더 그래프 업데이트: Lit Master Node
셰이더 그래프를 사용하여 대화형 정점 효과 만들기
셰이더 그래프 소개: 비주얼 편집기로 셰이더 빌드
Unity YouTube 채널을 방문하여 셰이더 그래프에 대한 비디오 자습서 를 찾 거나 사용자 포럼으로 이동 하여 셰이더 그래프에 대한 최신 정보와 대화를 찾을 수도 있습니다.

 

참고 : https://docs.unity3d.com/Packages/com.unity.shadergraph@10.2/manual/First-Shader-Graph.html

반응형
: