본문 바로가기

언리얼5/공부기록

UE 콜리전 사용법 정리

Collision Profile

충돌 대상에 따른 이벤트 타입 처리를 편집하고 저장할수있다.

해당 셋팅은 DefaultEngine.ini에 저장되고 쓰기 가능상태이다

 

Object Chennelss

프로파일을 생성할경우 프로파일 적용 대상의 오브젝트를 지정해야만 한다.

해당 오브젝트 타입의 충돌처리를 분리해야하는 경우 오브젝트 체널에서 추가로 제어할수있다.

커스텀 체널은 최대 18개까지 가능하다(17개 쓸일도 없겠지만)

사용중인 오브젝트 타입을 삭제하는 경우 월드 스태틱으로 돌아간다.

 

Trace Chennelss

 

트레이스 개요

언리얼 엔진 4 의 트레이스 시스템 개요입니다.

docs.unrealengine.com

 

오브젝트와 다르게 눈에 보이지않으며 통과가 가능한 충돌체 객체를 생성할때 사용한다.

 

주의사항

체널로 멀티 트레이스 사용시 트레이스는 첫 block (블록) 포함 거기까지의 모든 overlap (오버랩)을 반환합니다. 발사된 총알이 큰 유리를 관통하여 벽에 맞는 것을 생각해 보면 됩니다.

 

트레이스 체널 사용

 

트레이스 체널 추가: 추가된 트레이스가 다른 트레이스타입과 충돌할경우 어떻게 처리할것인지 기본반응을 셋업할수있다.

 

 

 

 

 

 

 

 

 

 

 

프로파일 사용

 

프로파일에서는 기본 콜리전 반응, 오브젝트 타입과

각 트레이스 타입별 충돌 발생시 해야할 반응을 설정할수있다.

(MHAction가 추가된것을 확인할수있다.)

 

 

 

 

 

 

 

 

 

 

 

 

충돌 이벤트 구독

BoxComp->OnComponentBeginOverlap.AddDynamic(this,&AInteracterActor::OnOverlapBegin);
BoxComp->OnComponentEndOverlap.AddDynamic(this,&AInteracterActor::OnOverlapEnd);

void AInteracterActor::OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,
									  UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepHitResult)
{
	IInteractiveInterface* InteractiveObject =  Cast<IInteractiveInterface>(OtherActor);
	if(InteractiveObject != nullptr)
	{
		InteractiveObject->TakeInteraction();
	}
	
}

void AInteracterActor::OnOverlapEnd(UPrimitiveComponent* OverlappedComp, AActor* OtherActor,
	UPrimitiveComponent* OtherComp, int32 OtherBodyIndex)
{
}