비헤이비어 트리 : 어떤 행동을 해야할지 정의해놓은 규약, 이 규약에 따라 이동/행동함
AI Controller는 데이터를 조사를 함, 그리고 이 값을 Blackboard로 넘겨줌
Blackboard는 Controller에게서 받은 데이터를 Behavior Tree가 사용하도록 제공함
BTTask
BTService : BTTask와 달리 백그라운드에서 실행, 실행 중 다른 노드를 재생시킬 수 있음(Tick 같은 느낌, Interval을 조절해서 실행 간격 조절 가능)
UFUNCTION()
의 BlueprintImplementableEvent / BlueprintNativeEvent 지정자를 사용하면
다른 클래스에서 해당 함수를 호출할 때는 Execute_ 를 붙여야함
MoveTo Task의 BlackboardKey에 Object가 안보인다면 Blackboard의 해당 Key의 Details 창에서 KeyType 드롭다운 -> Base Class = Actor 설정
시각 감지는 AI의 시야각 + SightRadius 안에 들어오기만 하면 감지를 하지만
청각은 소리를 내야하는데, 플레이어가 듣는 소리와 AI가 시스템상 듣는 소리는 별개임
=> 두 개의 소리를 만들어야 함(플레이어 전용, 시스템 전용)
참조 사이트
1. 블루프린트에 게임플레이 요소 노출1
2. 블루프린트에 게임플레이 요소 노출2
3. 언리얼 인터페이스1
4. 언리얼 인터페이스2
5. enum class VS UserDefinedEnum