공부중

[UE4] PawnSensing으로 감지할 때와 안할 때는 어떻게 구분? 본문

Programing/UnrealEngine

[UE4] PawnSensing으로 감지할 때와 안할 때는 어떻게 구분?

곤란 2015. 8. 11. 14:31
반응형

 

언리얼엔진 4에서는 시각과 소리의 센서가 존재한다.

이러한 센서를 가지고 AI를 구성할 때 적의 시야 안에 들어올 때, 혹은 어디선가 소리가 들렸을 때의 판별이 가능하다.

 

캐릭터의 BP(BluePrint)에서 다음과 같이 추가가 가능하다.

컴포넌트 추가에서 간단하게 추가가 가능하다.

 

컴포넌트 추가를 하면 다음 뷰포트(View port)에서 다음과 같이 볼 수 있고 디테일 탭에서 수치를 조정 가능하다.

뷰포트에서의 모습

 

디테일 탭에서 위와같이 범위를 설정 가능하다.

 

아래쪽에 보면 이벤트가 2종류가 보이는데 적혀있는 그대로 무언가 보게 되었을때와 어떤 노이즈를 들었을 때 발생되는 이벤트이다.

 

눈에 무엇인가가 보이게 되었을 경우를 가지고 작성해 보려고 해서 해당 이벤트를 추가했다.

실행이 한 가닥있고 무엇을 보았는지 Pawn을 통해서 받을 수 있다.

 

봤을 때와 못 봤을경우가 나뉘어 있는것이 아니라 그냥 볼 경우 이벤트가 들어오게 되고 해당 디테일 탭에서 작성한 범위에서 아무것도 보지 못했다면 그냥 신호가 들어오지를 않는다.

 

이러한 경우 때문에 구글링을 해서 찾아보니….

 

Bool형 변수를 하나 두고 그것으로 On/Off를 시키는데 정말 간단히 보면 다음과 같이 되어있다.

 

처음에는 저게 뭔 개소리인가 했는데 생각해보니 맞는 말이었다. 볼때는 매번 들어오게 되므로 bool형 변수가 계속 참이 될 것이고

그 이후에 보지 않게 되면 저 OnSeePawn에서 들어오는 신호는 없지만 Delay가 끝나고 난뒤에 실행된 bool의 set함수로 Off가 되니 적절하게 이것을 이용하면 될 것 같았다.

 

Aㅏ… 뭔가 어처구니가 없긴하지만….. 해답은 찾은 것 같다.

 

 

 

 

반응형