This document is about: QUANTUM 2
SWITCH TO

센서

소개

센서의 용도는 두 가지입니다.

  1. 데이터 처리를 중앙 집중화하여 최적화합니다.
  2. 플레이어의 즉각적인 환경 인식 능력을 모방합니다.

이 접근 방식은 복잡성을 우아하게 처리하며 동작이 확장되어도 유지 보수가 가능합니다.

처리된 정보는 센서에 의해 에이전트의 블랙보드 또는 메모리에 저장됩니다. 이렇게 하면 HFSM이 결정을 내리고 작업을 수행할 때 저장된 데이터에 액세스할 수 있으므로 재계산 중에 발생하는 오버헤드를 방지하여 성능을 개선할 수 있습니다.

노트: 센서는 일반적으로 레이캐스트 또는 NavMesh 검사와 같이 성능이 많이 필요한 계산을 캡슐화합니다. 그러나 이러한 계산을 모든 틱에서 수행할 필요는 없습니다. 이를 통해 각 틱 동안 일부 센서만 업데이트하는 등의 간단한 최적화가 가능합니다. 예를 들어, 5번째 AI 틱마다 센서 눈을 업데이트할 수 있습니다.

센서는 에셋이며, 이를 통해 설계자는 다중 또는 다른 버전의 HFSM 없이 편집기에서 바로 어떤 센서를 가질지 지정할 수 있습니다.

서로 다른 에이전트 난이도에 동일한 센서의 여러 버전을 사용할 수 있습니다. 예를 들어 EasySensorEyes 에셋은 적을 탐지할 수 있는 최대 시야 거리를 20m로 설정할 수 있는 반면 DifficultSensorsEyes 에셋은 훨씬 더 넓은 시야 거리를 가질 수 있습니다.

센서 타입

각 정보 유형에는 "감지" 전용 센서가 있습니다. 이 항목에 포함된 센서는 기본적으로 FPS 템플릿에 포함되어 있습니다. 게임에 필요한 만큼의 다른 센서 타입을 자유롭게 만들 수 있습니다. 확장된 센서로는 커버 센서, 떨어뜨린 무기 센서, 위험한 물체 센서(예: 투척 수류탄) 또는 대화식 물체 센서가 있습니다.

SensorEyes

SensorEyes는 가장 기본적인 센서입니다. 최적의 공격 대상(적)을 탐지하고 시야에서 사라진 적의 마지막 위치를 기억하는 데 사용됩니다. 목표물은 거리, 시야 위치 및 회전(AI 에이전트 확인 여부)을 기준으로 평가됩니다. 설계자는 이러한 메트릭에 가중치를 할당할 수 있습니다. 이러한 가중치는 런타임에 메트릭을 평가하는 방법을 변경합니다. 이 절차에서 가장 비용이 많이 드는 검사는 레이캐스트입니다. 성능을 최적화하기 위해 잠재적인 가시 대상을 미리 필터링합니다.

fps template eyes sensor
편집기에서의 FPS Template Eyes 센서 컴포넌트

SensorPickup

SensorPickup은 근처의 "최상" 픽업을 선택합니다. 픽업의 관련성이 고려됩니다. 예를 들어, 봇은 이미 최대 상태에 있는 상태에서는 상태 팩을 픽업하려고 시도하지 않습니다. 설계자는 다시 가중치를 지정하여 관련성보다 거리에 우선순위를 지정하거나 그 반대의 경우도 마찬가지입니다.

fps template pickup sensor
편집기에서의 FPS Template Pickup 센서 컴포넌트

SensorDamage

SensorDamageOnDamage() 신호를 리슨하고 에이전트의 메모리에 피해 기록을 작성합니다. 동일한 인스트레이터에 의해 발생한 피해는 시간이 지남에 따라 집계되므로 일정량의 피해가 발생한 후에야 에이전트가 피해 메모리에 반응할 수 있습니다.

SensorEars

SensorEarsOnWeaponFired() 신호를 듣고 "들린" 발사가 우호적인지, 적대적인지 메모리에 기록합니다.

fps template ears sensor
편집기에서의 FPS Template Ears 센서 컴포넌트
Back to top