ue4連接伺服器ip地址
Ⅰ UE4網路之(二) 遠程調用函數(RPC)
所有示例使用第三人稱模板創建的項目並帶有初始資源StarterContent
Function Replicateion(簡稱RPC)是在本地調用但在其他機器上遠程執行的函數。RPC可以實現客戶端或伺服器之間相互發送消息。RPC可以設置為Reliable或Unreliable,其中Reliable調用必定發生,而Unreliable調用可能會因為網路問題被丟棄。因此大多處理視覺效果的RPC應該設置為Unreliable來避免過多地佔用網路。
RPC主要包括Multicast(廣播)、Run On Server(在服務端執行)和Run On Owning Client(在客戶端執行)三種類型。其中廣播類型在伺服器上調用執行,然後自動轉發給客戶端;在服務端執行的函數有客戶端調用,然後僅在伺服器執行。在客戶端執行的函數由伺服器調用,然後僅在自己的客戶端上執行。
1、打開ThirdPersonBP/Blueprints中的ThirdPersonCharacter藍圖,添加一個按下空格時在玩家為之生成火焰特效的事件。藍圖非常簡單直接上圖。
2、更改Number of Players改為4後運行。
可以看到所有窗口只有自己按下空格時才鉛辯能生成火焰特效並且只能看到自己的特效。
3、在ThirdPersonCharacter藍圖添加一個MulticasTest事件並將Replicates設置為Multicast,將藍圖改為如圖所示。
4、點擊Play運行。
看到伺服器上生成的特效在所有客戶端都能看到,而客戶端生成的特效只有自己才能看到。
重復步驟3將Replicates分別改為Run On Server。此處直接上效果圖。
此時不論誰按空格鍵槐伏缺,只有伺服器上相應的角色可以生成特效,客戶端並不能看到任何效果。如果想要廳嫌在客戶端也能看到效果,我們需要確保特效設置為Replicates。
打開特效藍圖,並選中Replicates選項後重新開始運行。
1、打開ThirdPersonCharacter藍圖,創建一個String類型的變數Inventory並設置為Instance Editable和Replicated
2、添加按P鍵列印Inventory的事件藍圖。
3、在場景中添加一個Box Trigger
4、取消Rendering下面的Actor Hidden In Game
5、添加藍圖,重疊觸發器時,如果重疊發生在伺服器上,在伺服器上運行 Add Item 事件,並將它復制到自己的客戶端;當人物退出觸發器盒時,在伺服器上運行 Remove Item 事件,並將其復制到自己的客戶端。其中Add Item 和 Remove Item 事件為自定義事件,並且Replicates屬性全都為Run on owning Client。
6、編譯運行。
可以看出剛開始啟動時,每個角色列印的都為空,當一個角色進入觸發器後會顯示文本Item added ,按P時文本改為"has the item ",人物退出觸發器會列印「Item Removed」,再次按P會列印空字元
Ⅱ 求大神看看是怎麼回事,是我用UE4設置的問題還是系統的問題
電腦藍屏有很多方面的影響因素: 一、屏幕顯示系統忙,請按任意鍵繼續…… 1、虛擬內存不足造成系統多任務運算錯誤 虛擬內存是WINDOWS系統所特有的一種解決系統資源不足的方法,其一般要求主引導區的硬碟剩餘空間是其物理內存的2-3倍。而一些發燒友為了充分利用空間,將自己的硬碟塞到滿滿的,忘記了WINDOWS這個苛刻的要求。結果導致虛擬內存因硬碟空間不足而出現運算錯誤,所以就出現藍屏。要解決這個問題好簡單,盡量不要把硬碟塞得滿滿的,要經常刪除一些系統產生的臨時文件、交換文件,從而可以釋放空間。或可以手動配置虛擬內存,選擇高級,把虛擬內存的默認地址,轉到其他的邏輯盤下。這樣就可以避免了因虛擬內存不足而引起的藍屏。 2、CPU超頻導致運算錯誤 超頻對於發燒友來說是常事,所以由超頻所引起的各種故障也就在所難免了。超頻,就本身而言就是在原有的基礎上完成更高的性能,但由於進行了超載運算,造成其內部運算過多,使CPU過熱,從而導致系統運算錯誤。有些CPU的超頻性能比較好,如INTEL的賽揚處理器和AMD-K6-2處理器還算較好的,但有時也會出現一些莫名其妙的錯誤。(例如:我曾試過將INTEL賽揚300A,在超頻到450時,軟碟機在沒有接受命令時,進行讀盤操作)。INTEL的低於200的CPU以及AMD-K5的超頻能力就不是那麼好。建議高檔的CPU要超頻時,那麼散熱工作一定要做好,最好裝一個大的風扇,再加上一些硅膠之類的散熱材料。至於一些低檔的CPU我建議你就最好不要超頻了,免得超頻達不到預想的效果反而經常出現藍屏影響計算機的正常速度。 二、內存條的互不兼容或損壞引起運算錯誤 這時個最直觀的現象,因為這個現象往往在一開機的時候就可以見到,根本啟動不了計算機,畫面提示出內存有問題,問你是否要繼續。造成這種錯誤是物理上的損壞內存或者內存與其它硬體不兼容所致。這時候只有換過另外的內存了。 三、光碟機在讀盤時被非正常打開所至 這個現象是在光碟機正在讀取數據時,由於被誤操作打開而導致出現藍屏。這個問題不影響系統正常動作,只要再彈入光碟或按ESC鍵就可以。 以上是我在維護計算機中碰到導致藍屏的幾種原因,或許還會有其他一些莫名其妙的問題導致計算機出現藍屏。不管怎樣,遇到這類問題後,應先仔細分析問題發生的原因,然後再著手解決。 四、硬體剩餘空間太小或碎片太多 由於Win9X運行時需要用硬碟作虛擬內存,這就要求硬碟必須保留一定的自由空間以保證程序的正常運行。一般而言,最低應保證100MB以上的空間,否則出現「藍屏」很可能與硬碟剩餘空間太小有關。另外,硬碟的碎片太多,也容易導致「藍屏」的出現。因此,每隔一段時間進行一次碎片整理是必要的。 五、系統硬體沖突 這種現象導致「藍屏」也比較常見。實踐中經常遇到的是音效卡或顯示卡的設置沖突。在「控制面板」→「系統」→「設備管理」中檢查是否存在帶有黃色問號或感嘆號的設備,如存在可試著先將其刪除,並重新啟動電腦,由Win9X自動調整,一般可以解決問題。若還不行,可手工進行調整或升級相應的驅動程序。 "藍屏"的軟體原因及解決 與硬體密切聯系的是軟體,有時軟體在"藍屏"現象中也"功不可沒",載入了過多的程序、注冊表有問題、軟硬不兼容、驅動程序有問題,相對於硬體原因來說要不易察覺些,可要多加註意......... 一、啟動時載入程序過多 不要在啟動時載入過多的應用程序(尤其是你的內存小於64MB),以免使系統資源消耗殆盡。正常情況下,Win9X啟動後系統資源應不低於90%。最好維持在90%以上,若啟動後未運行任何程序就低於70%,就需要卸掉一部分應用程序,否則就可能出現「藍屏」。 二、應用程序存在著BUG 有些應用程序設計上存在著缺陷或錯誤,運行時有可能與Win9X發生沖突或爭奪資源,造成Win9X無法為其分配內存地址或遇到其保護性錯誤。這種BUG可能是無法預知的,免費軟體最為常見。另外,由於一些用戶還在使用盜版軟體(包括盜版Win9X),這些盜版軟體在解密過程中會破壞和丟失部分源代碼,使軟體十分不穩定,不可靠,也常常導致「藍屏」。 三、遭到不明的程序或病毒攻擊所至 這個現象只要是平時我們在上網的時候遇到的,當我們在沖浪的時候,特別是進到一些BBS站時,可能暴露了自己的IP,被"黑客"用一些軟體攻擊所至。對互這種情況最好就是在自己的計算機上安裝一些防禦軟體。再有就是登錄BBS要進行安全設置,隱藏自己IP。 四、版本沖突 有些應用程序需調用特定版本的動態鏈接庫DLL,如果在安裝軟體時,舊版本的DLL覆蓋了新版本的DLL,或者刪除應用程序時,誤刪了有用的DLL文件,就可能使上述調用失敗,從而出現「藍屏」。不妨重新安裝試一試。 五、注冊表中存在錯誤或損壞 很多情況下這是出現「藍屏」的主要原因。注冊表保存著Win9X的硬體配置、應用程序設置和用戶資料等重要數據,如果注冊表出現錯誤或被損壞,就很可能出現「藍屏」。如果你的電腦經常出現「藍屏」,你首先就應考慮是注冊表出現了問題,應及時對其檢測、修復,避免更大的損失。 六、軟硬體不兼容 新技術、新硬體的發展很快,如果安裝了新的硬體常常出現「藍屏」,那多半與主板的BIOS或驅動程序太舊有關,以致不能很好支持硬體。如果你的主板支持BIOS升級, 應盡快升級到最新版本或安裝最新的設備驅動程序。