
역량강화 분반 - 챌린지 - TA
1. 아웃라인

- 월드 포지션 오프셋
머티리얼 에디터에서 버텍스를 조정하여 여러가지 효과를 부여할 수 있는 기능입니다.
아웃라인효과나, 낙엽이 흔들리는 효과 등등 여러 효과를 만들 수 있습니다.
로컬 스페이스가 아니라 월드 스페이스 단계에서 적용이 됩니다.
👉 정점의 position값을 접근할 수 있는 기능


😮 노말 방향으로 일정한 간격으로 버텍스를 움직이게 한다면 캐릭터가 살찐 모습을 볼 수 있다!
- 오버레이 머티리얼
- 기존 메시에서 렌더를 한 번 더 할 수 있는 머티리얼
- 오버레이머티리얼을 추가할경우, 원본 머티리얼과 오버레이 머티리얼 2번 렌더된다.(비용이 2배)

- 아웃라인 효과의 원리

TwoSidedSign : 폴리곤의 앞면은 1, 뒷면은 -1 반환
👉TwoSidedSign노드로 뒷면일 경우 렌더하고, 원하는 컬러만 출력하자!
2. 역광효과(Rim Light Effect)
👉인물의 실루엣을 강조하거나, 금속의 반사를 강조하기 위해 역광,프레넬 효과를 사용
- 프레넬 효과
$F(\theta) = F_0 + (1 - F_0)(1 - \cos \theta)^5$
Schlick 근사식
- Fθ : 물질을 0도에서 반사할 때, 최소 반사율. 물질마다 상수를 가짐
- cosθ : 뷰벡터와 표면까지의 반사각의 cos 값
프레넬 공식은 물리학에 좀 더 가까움.
쉐이더에서 노드를 구성한다면 `Fθ`를 0으로 계산하여 공식으로 사용!
$F(\theta) = (1 - \cos \theta)^5$
- 머터리얼 에디터로 역광효과 구현하기



프레넬 결과값에 Step을 이용하여 마스크 처리




3. 깊이를 이용한 림라이트 구현
프레넬 방식을 사용할 경우, 두께가 일정하지 못하고 들쑥날쑥한 부분이 있다! 이를 해결하기 위해 깊이 버퍼를 이용.
- 깊이 버퍼
👉카메라로부터 깊이를 담은 G버퍼를 깊이버퍼(Depth Buffer) 또는 Z-Buffer라고 부름

- Scene Depth : 스크린uv 기준으로 해당 pixel의 깊이값을 반환
- 하지만… Tranparent와 post process에서만 사용가능한 노드
- Render Target

👉 디퍼드 렌더링에 필요한 여러 렌더링 결과물
G버퍼도 렌더 타깃에 포함


- 깊이 버퍼 만들기
- Material Function



- Screen UV 구하는 법

return mul(float4(PositionWS.xyz,1),LWCToFloat(ResolvedView.WorldToClip));
Custom 노드로 함수 추가
- ResolvedView.WorldToClip : World→ClipSpace 변환 행렬을 반환합니다.
- LWCToFloat : LWC형태의 자료형을 Float형 자료형으로 변경하는 함수입니다.




'내배캠Unreal_TIL > UE' 카테고리의 다른 글
| [TIL] 2026-03-11 | 멀티플레이 채팅 구현 (0) | 2026.03.11 |
|---|---|
| [TIL] 2026-03-10 | Remote Procedure Call 기초 (2) | 2026.03.10 |
| [TIL] 2026-03-09 | UE NetMode, NetConnection, NetDriver, NetRole (2) | 2026.03.09 |
| [TIL] 2026-03-09 | 서버의 종류, 데디케이티드 서버 환경 설정 (0) | 2026.03.09 |
| [TIL] 2026-02-28 | UE5 Environment Lighting (2) | 2026.02.28 |