UE4Pawn、Character設(shè)置AI Controller class的方法
只有繼承自Pawn的類才有AI Class,Actor是Pawn的父類,所以Actor沒(méi)有AI Class屬性。
設(shè)置默認(rèn)Controller
設(shè)置默認(rèn)Controller的方式是:MyPawn->SpawnDefaultController();
- AICharacter* const Bot = GetWorld()->SpawnActor(BotClass, SpawnLoc, SpawnRot, SpawnParams);
- if(Bot)
- {
- Bot->SpawnDefaultController();
- }
但是,僅僅調(diào)用這一個(gè)函數(shù)不夠,還需要再你的Pawn構(gòu)造函數(shù)設(shè)置屬性AutoPossessAI
- AutoPossessAI = EAutoPossessAI::PlacedInWorldOrSpawned;
對(duì)應(yīng)的藍(lán)圖屬性,修改角色藍(lán)圖的Auto Possess AI屬性:Placed In World or Spawned
設(shè)置自定義Controller
- MyControllerAI = GetWorld()->SpawnActor<AAIController>(AAIController::StaticClass());
- MyPawn = GetWorld()->SpawnActor<AMyPawn>(AMyPawn::StaticClass());
- MyControllerAI->SetPawn(MyPawn);
之后就可以用自定義Controller來(lái)控制Pawn、Character移動(dòng)了,例如:
- NavSys->SimpleMoveToLocation(MyControllerAI , DestLocation);
或者:
- MyControllerAI->MoveToLocation(DestLocation);
-
分享到:
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)
- 用戶名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評(píng)論:0條