본문 바로가기

언리얼엔진5 c++ behaviortree4

언리얼엔진5 c++ BehaviorTree(BTService 생성 및 사용) ▣ Add Service에서 Set  Default Focus를 추가하여 BehaviorTree에서 Ai에 Focus를 변경할 수 있습니다.  ▣ 서비스(Services)는 컴포짓(Composite) 또는 태스크(Task) 노드에 어태치 되며, 분기가 실행 중인 동안 정의된 빈도로 실행됩니다. 보통 블랙보드의 확인과 업데이트에 사용됩니다. 이 노드는 다른 비헤이비어 트리 시스템에서 전통적인 병렬(Parallel) 노드를 대체합니다. ▣ Default Focus는 AI 컨트롤러(AI Controller)의 포커스를 설정하여 블루프린트 및 코드의 액터에 액세스 하는 바로가기를 생성합니다. AI 컨트롤러의 포커스를 액터로 설정하면 블랙보드 키에 액세스 하지 않고 AI 컨트롤러에서 직접 액세스 할 수 있습니다... 2024. 4. 30.
언리얼엔진5 c++ BehaviorTree(BTTask 생성 및 Character 호출) ▣ c++ 클래스 생성에서 BTTaskNode를 선택하여 생성합니다. 블랙보드 키가 필요하지 않을 경우 BTTaskNode로 생성합니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/API/Runtime/AIModule/BehaviorTree/UBTTaskNode?application_version=5.3 UBTTaskNodeTask are leaf nodes of behavior tree, which perform actual actionsdev.epicgames.com   ▣ Build.cs 파일로 가서 "GameplayTasks"를 추가합니다.   ▣ 그리고 h 헤더파일로 가서 생성자 및 ExecuteTask 함수를 선언합니다.  ▣ E.. 2024. 4. 29.
언리얼엔진5 c++ BehaviorTree(Decorator, Selector, 플레이어 발견, 원위치로) ▣ 먼저 PlayerLocation을 활성화 비활성화하는 방식으로 AI를 이동하고 다시 원래위치로 돌아가는 코드를 작성하겠습니다.  ▣ LineOfSightTo() 함수로 플레이어를 발견하면 BlackBoard PlayerLocation를 세팅하고 아니면 PlayerLocation블랙키를 지우는 코드를 작성합니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/BlueprintAPI/AI/Components/Blackboard/ClearValue%3Fapplication_version%3D5.0%3Fapplication_version%3D5.0%3Fapplication_version%3D5.0?application_version=5.0 Clea.. 2024. 4. 28.
언리얼엔진5 c++ BehaviorTree(Blackboard Set, Ai Move) ▣ 먼저 Behavior Tree와 Blackboard를 생성합니다. 각각 이름 앞에 BT, BB를 붙여서 어떤 파일인지 의도에 맞게 작성합니다. ▣ 비헤이비어 트리는 블루프린트와 유사한 시각적 방식으로 생성됩니다. 비헤이비어 트리 그래프(Behavior Tree Graph)에 기능이 탑재된 다양한 노드를 추가하고 연결하는 방식입니다. 비헤이비어 트리가 로직을 실행하는 한편, 비헤이비어 트리가 결정을 내리는 데 필요한 정보인 블랙보드 키(Blackboard Key)는 블랙보드(Blackboard)라는 별도의 에셋에 저장됩니다. 일반적인 워크플로는 블랙보드를 생성하고, 블랙보드 키를 추가한 다음, 블랙보드 에셋을 사용하는 비헤이비어 트리를 생성하는 순서입니다. 블랙보드는 아래 이미지에서처럼 비헤이비어 트리.. 2024. 4. 27.