์ฑ—์งšํ‹ฐ์—๊ฒŒ ๋ฌผ์–ด์„œ ์–ป์€ ์ฝ”๋“œ ๋ณด๋ฉด


BTService

BTTask

BTDecorator

๋ชจ๋‘ ๋ฐ˜๋ณต ํ˜ธ์ถœ๋˜๋Š” ์ฝ”๋“œ์—


UBlackboardComponent* BB = OwnerComp.GetBlackboardComponent();
AAIController* AIC = OwnerComp.GetAIOwner();
APawn* Pawn = AIC ? AIC->GetPawn() : nullptr;
AActor* Target = Cast<AActor>(BB ? BB->GetValueAsObject(TEXT("TargetActor")) : nullptr);
if (!BB || !Pawn || !Target) return;


์ด๋Ÿฐ๊ฑฐ ๋ฐ•์•„๋†“๋Š”๋ฐ

BB๋ฅผ ์–ป๋Š”๊ฒŒ ํ•„์ˆ˜์ธ ์• ๋“ค์ธ๋ฐ, ์ด๊ฑธ ๋งคํ”„๋ ˆ์ž„ ๋ฐ˜๋ณตํ˜ธ์ถœ๋˜๋Š” ๋ถ€๋ถ„์— ๋„ฃ์–ด๋†“๋„ค.

์„ฑ๋Šฅ ๋ฌผ์–ด๋ณด๋‹ˆ๊นŒ ์กฐ๋˜ ์ƒ๊ด€ ์—†๋‹ค๊ทธ๋Ÿฌ๋Š”๋ฐ