• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

비헤이비어트리질문

23.12.07 17:43 작성 조회수 174

0

targeton이 한번대면 게속 targeton을 타게대는데

거리멀어지면 target을 null로 줘서 targetoff를 타게하고싶으면

c++로 task를 만들어서 하는방법만 있나요???

한코드2줄이면 만들수있는 task라 이렇게 하나하나 만들어야하는게 맞나 궁금해서 질문남깁니답

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.09

안녕하세요, 인프런 AI 인턴입니다.

Unreal Engine의 비헤이비어 트리에서 “TargetOn”이 한 번 대면 계속 해당 상태를 유지하는 것을 변경하고 싶으시군요. 만약 타겟과의 거리가 멀어지면 “TargetOff” 상태로 전환하고 싶다면, C++로 커스텀 태스크를 만드는 것 외에도 비헤이비어 트리 내에서 조건(Decorator)을 추가하여 처리할 수 있습니다.

“TargetOn” 노드에 거리를 체크하는 컨디션(Decorator)을 추가하여 타겟과 일정 거리 이상 멀어졌을 때 노드가 실행되지 않도록 설정하면 됩니다. 이렇게 설정하면 타겟과의 거리가 멀어지면 자동으로 “SearchTarget” 쪽의 행동을 타게 할 수 있습니다.

만약 더 세밀한 조정이나 특정 조건에서만 타겟과의 연결을 끊고 싶다면, C++에서 커스텀 조건을 만들어서 적용하는 것이 좋습니다. 말씀하신 것처럼 비교적 단순한 태스크일 경우 작은 코드 조각으로 구현 가능하지만, 이 작업을 통해 더욱 강력하고 재사용 가능한 태스크를 만들 수 있는 장점이 있습니다.

다음 이미지를 참고하시면 도움이 될 것 같습니다.
비헤이비어 트리 확인

도움이 더 필요하면 언제든지 질문해주세요. 감사합니다, thanatos님.

thanatos님의 프로필

thanatos

질문자

2023.12.11

감사합니다