- Decal
- Mask Alpha값을 이용한 Grass
- 움직임 (Grass)
- 특정 방향에만 머티리얼이 보일 수 있도록 하는 방법
- Tex Coord - Multiply와 Add 차이
- Layerd - old
- Layerd - new
- 동적 머티리얼 인스턴스
- 노드
<Decal>
- 화살표 방향으로 칠해진다
- 머티리얼 생성 후 머티리얼 도메인을 Deferred Decal로 바꿔주기
- 블렌드 모드를 Translucent로 변경하면 노드들이 활성화됨
- 텍스처를 불러와 베이스컬러에 연결하고 알파값을 오퍼시티에 연결한 모습
* Inst 파일 네이밍 (MI_파일명_숫자) > 뒤에 숫자를 붙이면 _Inst가 붙지 않는다.
- 오브젝트의 영역이 아닌곳은 잘리고, 옆면에선 밀려보인다.
- 보통 오브젝트보다 크게 사용하지 않고 오브젝트보다 작게 사용
Channel Mask를 사용하여 RGB값에 따른 opasity의 값을 가지게 하는 노드 연결
- Inst의 opasity를 원하는 텍스처로 바꿔줄 수 있다.
- power노드로 강도 변경 가능
* 퀵셀브릿지 데칼
Sort
- 해당 숫자에 따라 겹침 우선도 순서를 바꿀 수 있다.
데칼 위에 오브젝트 올리는법
- 오브젝트 클릭 > decal 검색 > 데칼 수신 끄기
<Mask로 Grass만들기>
- 알파값을 사용하여 특정 부분만 잘라내고 싶을때
머티리얼 > 블렌드모드 > Masked사용
양면
- 텍스쳐가 양쪽 다 렌더링 되도록 해주는 설정
off
on
<움직임>
- sine에 1을 더하고 0.5를 곱해서 -와 +의 값의 시간을 같게 만들어줌
- G 10과 -10을 Lerp로 연결하고 시간을 Alpha값에 연결한 뒤 월드 포지션 오프셋에 연결
월드 포지션 오프셋
> 여기에 연결된 모든 값은 위치값에 영향을 준다.
= 풀이 좌우로 움직인다
- Texcoord에 mask G를 곱해 월드 포지션 오프셋에 연결
> 풀이 위는 고정되고 아래만 흔들림
- one minus를 연결해 mask를 뒤집어준다.
- power를 곱해 원하는 높이까지만 움직이도록 적용해준다.
- multiply를 추가해 바람의 세기를 정해줄 수 있는 파라미터 연결
inst를만들었을때 바람의 세기를 조절할 수 있음
노드 프리뷰
- 노드가 어떻게 변하는지 미리 보여주는 기능
<머티리얼 함수> (material Function)
- MF_이름
- 함수를 정해두고 원할때 꺼내쓸 수 있음
<위에만 특정 머티리얼이 보일 수 있도록 하기>
- 눈이 온 설산 등의 하나하나 머티리얼 처리를 할 수 없을때 사용
R - X
G - Y
B - Z
- B값이 z임으로 폴리곤의 상단이 1, 하단이 -1이 된다.
- power에 연결
- multiply로 5를 곱해준다
- clamp 연결해서 수치 정리를 해준다. > output Result 연결
- 라이브러리에 노출 체크
- 함수를 저장하고, 새 머티리얼 제작 후 검색하면 검색이 된다.
- Power와 Multiply에 각각 input노드를 연결
- 노드에 연결할 수 있는 곳이 늘어난다.
- Lerp에 연결
* 함수 input에 정렬 우선순위에 따라 노드에서의 위치가 바뀜
<결과물>
<머티리얼 파라미터 컬렉션>
파일명 - MPC_이름
- 모든 노드들을 하나하나 바꿀 수 없을때 이 함수가 들어간 오브젝트들에게 모두 영향을 줄 수 있도록 만드는 것
- +버튼을 눌러 인덱스 추가 가능
- grass에 돌아가서 base color를 밝게해줄 노드들을 설치
- collection param에 머티리얼 파라미터를 연결
- 파라미터 연결 후, 머티리얼 파라미터에 가서 color를 지정해준다
- RGB 값에 연결되어 Alpha값이 없으므로 mask A로 연결
> collection Param은 RGBA노드임
Wind 연결
<Tex Coord Multiply와 Add 차이 >
- multiply의 값을 바꾸면 텍스처가 곱해지고 add의 값을 바꾸면 확대가 된다. (0~1)
- 오브젝트의 수치값은 고정인데 +됨에 따라 수치값들이 더이상 0이 아니게 되어 확대
<Layerd>
머티리얼 어트리뷰트
- 결과 노드 디테일 > 머티리얼 어트리뷰트 체크
- 재질을 레이어드로 쌓아서 만드는 방식의 노드
- 기존에 만들어둔 재질의 세부설정을 바꾸는것이 아닌 아예 완성된 재질을 갈아끼울 수 있음
old layer
- Make Material Attributes에 텍스처 연결
wood
chrome
plastic
- 추후 색 조절을 위해 input노드를 끼고 base color 만들기
* 함수로 생성된 노드들
> layer table 머티리얼창에 드래그앤드랍으로 넣을 수 있음
- 이들을 섞기위해 Blend Material Attributes 노드 생성
- Layer Blend AO노드를 생성하고 AO mask 텍스처 연결
적용 모습
* 재질 3개 응용 노드 (언리얼 4시절 사용하던 노드방식 / 아직까지 사용중인 것이 있음))
new layer
<머티리얼 레이어>
ML_이름
- base color, Metallic, Specular, Roughness 연결
레이어 인스턴스
MLI_이름_숫자
- 베이스 역할용 머티리얼 생성, 머티리얼 어트리뷰트 체크
- Material Attribute Layer 생성 후 어트리뷰트와 연결
- Material Attribute Layer의 디폴트 레이어 > +누르면 레이어 생성
- 추후 인스턴스를 만들었을때 레이어 파라미터창이 생김
> +버튼으로 레이어 추가 가능
머티리얼 레이어 블렌드
MLB_이름
- 기본 노드
- RGB에서 뽑고 Append에 A를 추가 연결해도 RBGA가된다.
- 기본 노드 알파값에 연결
머티리얼 레이어 인스턴스에 가서 블렌드 에셋에 블렌드 넣을 수 있다.
> RGBA값을 골라 머티리얼을 적용시킬 수 있음
< new layer + noise >
- 머티리얼과 머티리얼 레이어, 머티리얼 레이어 블랜드 생성
- 머티리얼 레이어 노드 생성
* 노말이 들어가야 하는곳이 튀어나오면
텍스쳐창 > 디테일 > 텍스쳐 > 고급> 그린채널플립 활성화
- 머티리얼 레이어 인스턴트를 만들어 세개 질감 만들기
- MLB에 noise 텍스쳐를 넣고 Alpha에 이어주기
- MLB 인스턴스를 만들어 노이즈 텍스쳐 바꿔주기
- 머티리얼 들어가서 어트리뷰트 사용 누르고 Material Attribute Layer생성
레이어 두개 생성
- 머티리얼 인스턴스 생성 후 레이어 파라미터에 만들어둔 레이어 인스턴스들 넣어주기
- 마스크 인스턴스 2-1, 2-2 넣은것도 각각 넣어주기
* 파라미터해둔 텍스쳐들을 다 수정할 수 있음
샘플러 소스
- From Texture asset : 16개 제한
- Shared : 128개의 제한이 있음. 샘플러 슬롯을 잡아먹지 않는다.
- 오류를 해결할 수 있음
<동적 머티리얼 인스턴스>
블루프린트 클래스 생성 > 액터 > 추가 눌러 스태틱 메시 컴포넌트 추가 > 스태틱 메쉬 의자 넣기
- 박스 콜리전 생성
- Construction 스크립트에 들어가 Create Dynamic Maerial Instance(Chair) 가져오기
- Create Dynamic Material Instance의 Return Value를 변수로 승격시켜준다.
- New Var의 이름을 Dynamic Matirial로 바꿔주기
- 컴포넌트창 > 변수 > 박스 클릭 > 컴포넌트 오버랩 시작시 선택
- Dynamic Matirial 변수를 꺼내 거기서 Set Vector Parameter Value on Materials 생성
- Chair 머티리얼에 들어가 바꾸고 싶은 색상의 파라미터 이름을 복사
- Set Vector Parameter Value의 Parameter Name에 붙여넣기 해줌
- Value에 바꾸고싶은 색상 넣어주기
박스 안에 들어가면 색상이 바뀜
<노드>
VertexNormal WS
WS - 월드 스페이스
- 버텍스 노말을 가져오는 노드
Function Input
Mask
Mask - RGBA중 여러개 가능
Channel Mask - 하나만 선택 가능
Collection Param
- 컬렉션에서 파라미터 컬렉션 사용 가능
Make Material Attributes
- 머티리얼 함수에서 자주 사용
Blend Material Attributes
- 콘스탄트, 백터 모두 들어감
- 함수 전용 Lerp
Layer Blend AO
Material Attribute Layer
- +버튼으로 레이어 추가 가능
'언리얼 > 머티리얼' 카테고리의 다른 글
2024 언리얼 엔진 실무 기반 교육 과정 34일차 (0) | 2024.05.23 |
---|---|
2024 언리얼 엔진 실무 기반 교육 과정 21일차 (0) | 2024.05.02 |
2024 언리얼 엔진 실무 기반 교육 과정 17일차 (0) | 2024.04.25 |
2024 언리얼 엔진 실무 기반 교육 과정 7일차 (0) | 2024.04.11 |
2024 언리얼 엔진 실무 기반 교육 과정 3일차 (0) | 2024.04.04 |