작성
·
291
0
targeton이 한번대면 게속 targeton을 타게대는데
거리멀어지면 target을 null로 줘서 targetoff를 타게하고싶으면
c++로 task를 만들어서 하는방법만 있나요???
한코드2줄이면 만들수있는 task라 이렇게 하나하나 만들어야하는게 맞나 궁금해서 질문남깁니답
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Unreal Engine의 비헤이비어 트리에서 “TargetOn”이 한 번 대면 계속 해당 상태를 유지하는 것을 변경하고 싶으시군요. 만약 타겟과의 거리가 멀어지면 “TargetOff” 상태로 전환하고 싶다면, C++로 커스텀 태스크를 만드는 것 외에도 비헤이비어 트리 내에서 조건(Decorator)을 추가하여 처리할 수 있습니다.
“TargetOn” 노드에 거리를 체크하는 컨디션(Decorator)을 추가하여 타겟과 일정 거리 이상 멀어졌을 때 노드가 실행되지 않도록 설정하면 됩니다. 이렇게 설정하면 타겟과의 거리가 멀어지면 자동으로 “SearchTarget” 쪽의 행동을 타게 할 수 있습니다.
만약 더 세밀한 조정이나 특정 조건에서만 타겟과의 연결을 끊고 싶다면, C++에서 커스텀 조건을 만들어서 적용하는 것이 좋습니다. 말씀하신 것처럼 비교적 단순한 태스크일 경우 작은 코드 조각으로 구현 가능하지만, 이 작업을 통해 더욱 강력하고 재사용 가능한 태스크를 만들 수 있는 장점이 있습니다.
다음 이미지를 참고하시면 도움이 될 것 같습니다.
도움이 더 필요하면 언제든지 질문해주세요. 감사합니다, thanatos님.
감사합니다