언리얼 엔진/Gameplay Ability System - Udemy

Gameplay Ability System(GAS) - Post Process Volume Highlight

mane 2024. 2. 5. 22:59
728x90
반응형

인사말

이번 포스트에서는 언리얼엔진에서 Post Process Volume(PPV) 를 이용해서 액터에 Highlight를 적용해도록 하겠습니다.


Post Process Volume 배치

월드에 볼륨을 배치합니다.


Post Process Volume 세팅

Post Process Material 에 PP_Highlight 를 넣어줍니다.

Post Process Volume Settings 에서 Infinite Extend (Unbound) 를 체크합니다. (월드 전체)


프로젝트 세팅 변경

프로젝트 세팅에서 Custom Depth-Stencil PassEnable With Stencil 로 변경합니다.


AAuraEnemy 코드 변경

AuraEnemy 의 코드를 변경해줍니다.

콜리전 응답 채널을 변경합니다. Visibility -> Block

마우스가 오버랩 됐을 때 Mesh 와 Weapon 의 SetRenderCustomDepth 를 true로 변경하고 SetCustomDepthStencilValue 를 CUSTOM_DEPTH_RED 로 변경합니다. (CUSTOM_DEPTH_RED 는 상수로 250.f 입니다.)

AAuraEnemy::AAuraEnemy()
{
	GetMesh()->SetCollisionResponseToChannel(ECC_Visibility, ECR_Block);
}

void AAuraEnemy::HighlightActor()
{
	GetMesh()->SetRenderCustomDepth(true);
	GetMesh()->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);
	Weapon->SetRenderCustomDepth(true);
	Weapon->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);
}

void AAuraEnemy::UnHighlightActor()
{
	GetMesh()->SetRenderCustomDepth(false);
	Weapon->SetRenderCustomDepth(false);
}

결과물

아래와 같은 결과물을 얻을 수 있습니다.

728x90
반응형