UE4 多人联机显示每个人的playid
目的:在多人聯機模式下,在每個pawn的上方顯示textrender,并且在textrender里顯示每個pawn的playerid
下面以一個listen server和兩個client的方式測試。
1. 創建一個帶有textrender的actor,并且勾選其replicated開關
2. 在Charactor的藍圖里面創建出textrender的actor并attach到Charactor上,并且將spawn出來的actor設置到本地
變量,后面需要用到這個變量來設置其文子,因為其實動態創建出來的。
這里是由服務器來動態創建出帶有textrender的actor,然后attach到Charactor上,然后把textrender同步
到客戶端上,這樣客戶端的textrender就是服務器端一個副本了。
另外也可以直接在藍圖里把textrender的actor掛載成charactor的子組件,就不用上面的藍圖動態創建了。
3. 在GameMode里面獲得并保存所有的player control
4. 在textrender的actor里面創建一個成員變量name,并且把他的同步屬性設置為RepNotify,并實現
其onRepName函數,來設置textrender要顯示的player id
做到這里,textrender已經被我們同步了,名子變量也同步了,名子變量一旦有變化,就會設置textrender顯示。
接下來只要在服務器端吧player id正確設置即可。
5 . 這里就是使用GameState里面保存的playid,GameMode里面保存的Player Control得到Pawn來設置其
? ? textrender里面的name變量。
總結:
1. textrender上面顯示的文件并不會同步,因此我們只能使用一個變量來保存文字,然后同步這個變量,并且
在變量的repnotify函數里來設置文字顯示。
2. 只有服務器能拿到所有的playcontrol,因為設置文字變量由服務器來完成
效果展示:
總結
以上是生活随笔為你收集整理的UE4 多人联机显示每个人的playid的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接融资的五种方式
- 下一篇: saphana服务器硬件评估,华为SAP