오늘은 작업을 하다가 적이 캐릭터에게 공격을 할 때, 화면이 깜빡거리는 현상을 발견했다.

 

디버그를 해본 결과 원인은 무기 콜리젼이 스프링암 경로를 지나면서 카메라가 잠깐 적을 확대해서 보여주고 다시 원래대로 돌아가면서 깜빡이는 것처럼 보여지는 것 때문이라 생각했다.

 

이렇게 무기가 비스듬히 지나가면 괜찮은데 스프링암과 부딪히면서 카메라가 앞으로 확대되었다가 다시 돌아갔다.

 

 

뭔가 콜리젼 때문이라 생각하고 검색해봤는데, trace channels이라는 것을 알게되었다.

 

trace channels

라인 트레이스나 스윕(sweep) 등의 충돌 검사 기능을 사용할 때, 어떤 객체와의 충돌을 검사할지 결정하는 기준이다.

특정 객체의 충돌 검사를 할지, 말지 설정할 수 있다.

 

먼저 내가 사용하고 있는 Enemy 캐릭터 클래스에서 충돌체를 확인했고, collsion 타입을 Capsule Component는 Pawn으로 설정되어있었고, Mesh는 CharacterMesh인 것을 확인했다.

 

Edit -> Project Settings에 들어가서 Engine에 Collsion 카테고리에 들어가면 Trace Channels를 설정할 수 있는 메뉴가 나온다.

 

여기에서 내가 사용하고 있는 Pawn과 CharacterMesh는 카메라에 대한 충돌을 ignore로 설정해주었다.

 

그랬더니 화면이 깜빡거리는 현상없이 잘 나오는 것을 확인했다!