? ,,

新锐科创官网-专业室内外高精度人员定位系统厂家及服务商

聯系我們

給我們留言

聯系我們

地址:福建省晉江市青陽街道洪山路國際工業設計園納金網

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

UE4一個PlayerController控制多個Actor的問題

來源: 52vr | 責任編輯:傳說的落葉 | 發布時間: 2019-06-06 08:20 | 瀏覽量:

[UE4]一個PlayerController控制多個Actor的問題

 

UE4中,一個PlayerController同時只能控制一個Actor,如果要實現RTS游戲中的那種多個Actor同時移動,需要Spawn出來多個Controller(PlayerController或者AIController等,具體看你需求),每個Controller去Possess一個Actor,然后通過控制這多個Controller來實現移動。

 

如何創建PlayerController,這個帖子講了一種方式:
How do you place APlayerCharacter onto APlayerStart and take control?

https://forums.unrealengine.com/showthread.php?56494-How-do-you-place-APlayerCharacter-onto-APlayerStart-and-take-control

 
  1. In CreateLocalPlayer's case, the call chain you're looking for is:  
  2.   
  3. UGameInstance::CreateLocalPlayer  
  4. ULocalPlayer::SpawnPlayActor  
  5. UWorld::SpawnPlayActor  
  6. AGameMode::PostLogin  
  7. AGameMode::StartNewPlayer  
  8. AGameMode::RestartPlayer  
  9. AGameMode::GetDefaultPawnClassForController  

 相關代碼:

 
  1. for( int32 a = 0; a < MaxPlayerCount; a++ )  
  2. {  
  3.     ULocalPlayer* localPlayer;  
  4.   
  5.     if( a == 0 )  
  6.     {  
  7.         localPlayer = gameInstance->GetFirstGamePlayer();  
  8.     }  
  9.     else  
  10.     {  
  11.         FString createLocalPlayerError;  
  12.         localPlayer = gameInstance->CreateLocalPlayer( a, createLocalPlayerError, true );  
  13.     }  
  14.   
  15.     FString url;  
  16.     FString spawnPlayActorError;  
  17.     localPlayer->SpawnPlayActor( url, spawnPlayActorError, currentWorld );  
  18.     FURL urlSpawn2;  
  19.     FString spawnError;  
  20.     PostLogin( localPlayer->PlayerController );  
  21.     currentWorld->SpawnPlayActor( localPlayer, ENetRole::ROLE_None, urlSpawn2, localPlayer->GetUniqueNetIdFromCachedControllerId(), spawnError );  
  22.     StartNewPlayer( localPlayer->PlayerController );  
  23.     RestartPlayer( localPlayer->PlayerController );  
  24.   
  25.     /*ABasePlayer* playerActor = ( ABasePlayer* )GetDefaultPawnClassForController( localPlayer->PlayerController ); 
  26.     ABasePlayerController* playerController = ( ABasePlayerController* )localPlayer->PlayerController; 
  27.     playerController->SetUpInput( playerActor, a );*/  
  28. }  

但是上面的RestartPlayer找不到相關文檔,怎么使用不是很清楚,另外一個替代RestartPlayer的方式:

http://aigo.iteye.com/blog/2285835

 

 

ULocalPlayer

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/ULocalPlayer/index.html

 

UWorld::SpawnPlayActor

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UWorld/SpawnPlayActor/index.html

 

可參考官方的塔防項目:

https://docs.unrealengine.com/latest/INT/Resources/SampleGames/StrategyGame/index.html

 

另外一片關于UE4中實現RTS類型游戲移動邏輯的文檔(藍圖)

RTS Movement and Basic Behaviors on Unreal Engine 4

http://blog.meltinglogic.com/2015/04/unreal-rts-rpg-movement-behaviors/


相關文章
網友評論

您需要登錄后才可以發帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門
主站蜘蛛池模板: 漂亮邻居给我做性教育在线观看 | 国产成人黄色 | 成人奭片免费观看 | 亚洲精品午夜无码电影网 | 色先锋在线观看 | 国产精品高潮呻吟av久久4虎 | 亚洲十八精品网站 | 一区二区三区福利视频 | 国产精品一区二区三区高清在线 | 久久色网站 | 欧美xxxx18性欧美 | 久草免费手机视频 | 一道本在线免费观看 | 欧美又大又硬又粗bbbbb | 国产成人羞羞电影网站在线观看 | 久久精品动漫一区二区三区 | 免费在线亚洲 | 人人妻人人澡人人爽欧美一区双 | 国产精品igao视频网 | www.高清| 免费的国语一级淫片 | 亚洲永久免费视频 | av人摸人人人澡人人超碰小说 | 成年男女男免费视频网站不卡 | 国产免费一区二区三区免费视频 | 少妇被爽到高潮动态图 | 日韩国产欧美精品综合二区 | 国产v综合v亚洲欧美大片 | 18禁裸男晨勃露j毛网站 | 久久精品动漫一区二区三区 | 亚洲视频入口 | 日韩在线视频线视频免费网站 | 青娱乐极品视觉盛宴国产视频 | 乱妇乱女熟妇熟女网站 | 欧美在线观看一区 | 高清国产露脸捆绑01经典 | 国语自产精品视频在线看 | 人人草草 | 九九九九视频 | 内射毛片内射国产夫妻 | 成人一级黄色毛片 |