Programming/UE5

[Udemy][메모용] Unreal Engine 미세 꿀팁(?) 정리

Dorasima 2024. 1. 25. 13:50

(적어도 뭘 모르는지는 기억을 해야 할 거 아닌가...)

요거 듣는 중 : Unreal Engine 5 - Gameplay Ability System - Top Down RPG | Udemy

 

1. Animation Blueprint Template

 

- Animation 그래프나, Event Graph가 똑같은 애들이 다같이 쓰는 탬플릿을 만들 수 있다.

- Blendspace Player 노드를 이용하면, 이렇게 파생 애님 블루프린트에서

- Asset Override에서 해당 Skeletal Mesh에 맞는 BS를 지정하고,

- 템플릿의 애님 그래프 이벤트 그래프를 그대로 사용할 수 있다. 

 

2. Custom Stencil

(오... 마침 이전글에서 배웠던게 나온다.)

- 어떤 Actor를 하이라이트 할 때, Mesh 가생이의 윤곽선을 (외곽선?) highlight 할 때 사용하는 기능이다.

- 강의에서 제공하는 Material과 Unreal에서 제공하는 Custom DepthStencil (+ Post Processing) 기능을 이용한다.

(일단 Custom Stencil과 Post Processing에 집중을 해보면)

- UPrimitiveComponent를 상속 받는 친구들한테는 CustomDepthStencil 값을 가질 수 있도록 Unreal에서 제공을 한다.

PrimitiveComponent.cpp (Unreal Engine Source)

(이걸 이용해서, Primitive 마다 Stencil 값에 따른 뭔가 처리를 해줄 수 있는 듯 보인다.)

- 강의에서 이용한 것은 이것을 이용해서 Material을 적용시키는 것이다.

- Primitive에 적용을 시키는게 아니라 stencil에 따라 이미 화면에 그려진 Primitive의 픽셀에 적용하는 느낌쓰

- 그 방법은 PostProcessVolume에서 Stencil을 가지고 작업을 하는 Material을 등록하는 것이다.

(강의에서 제공한 Material은 아직 내가 이해하지 못했기 때문에 간략하게 만들어서 기록한다.)

이렇게 Custom Stencil을 사용하는 Material을 등록을 하고

- 이제 material을 만드는데, 머테리얼 도메인을 이렇게, Post Process 용으로 만든다.

(그러면 Emissive Color Pin 하나만 살아있는다.)

 

- 일단 SceneTexture 노드는 설명을 읽어보면, 현재 픽셀 뭐라뭐라 하는 걸로 보아, Level에 Render Asset들이 개개인의 규칙(?)에 맞춰서 렌더링 된 상태...그니까 Scene Texture를 가져오는 노드인 것 같다.

- 근데.. 뭔가 속성이 디게 많다.

언리얼... 참 강력한 엔진이다.

- 여기서는 2개만 보는데, PostProcessInput0와, CustomStencil 속성이다.

- PostProcessInput0 는 ... 후처리를 하기 전 화면을 말하는 것 같은데.

(정확한 의미는 문서를 봐도 잘 모르겠다... ㄹㅇㅋㅋ) 

Post Process Materials | Unreal Engine Documentation

 

Post Process Materials

How to author and blend custom Post Process passes with the Material Editor.

docs.unrealengine.com

- CustomStencil은 다행히 이름에서 바로 느낌쓰가 온다. 후처리 하기 전 Stencil 화면을 의미하는 것이다.

(이 Material의  로직은 DepthStencilValue가 250이라면, 검은색으로 칠하고 그렇지 않다면 후처리를 하지 않고 그대로 화면에 픽셀을 찍는다는 의미이다.)

- 이렇게 머테리얼을 만들고 Post Process Material에 등록을 하고,

- 프로젝트 세팅을 요로콤, CustomDepthStencil을 사용할 수 있도록 설정을 하고?

- 테스트를 해보면? (참고로 0 ~ 255 값을 가진다고 한다.)

CustomDepthStencil Value가 250일 때, 검은색이 된다.

(강의에서 제공하는 Material은 잘은 모르지만 상하좌우대각선 픽셀을 보고 외곽선인지 판별해서 그려주는 친구가 아닐까..생각해본다. 공부가 더 필요하다...)

 

(추가중)