Unity5.1 新的網路引擎UNET(八) UNET 系統概括,unity5.1unet

來源:互聯網
上載者:User

Unity5.1 新的網路引擎UNET(八) UNET 系統概括,unity5.1unet

孫廣東   2015.7.12


Server and Host

在Unity 的 網路系統,遊戲有 一個伺服器和多個用戶端。當沒有專用的伺服器時,用戶端之一扮演伺服器的角色 — — 我們稱之為此用戶端“host”


host (主機)是一個伺服器和 用戶端在同一進程中。主機 將使用一種特殊的用戶端被稱為 LocalClient,而其他用戶端是 RemoteClients。LocalClient 與(本地) 伺服器通訊 通過直接的函數調用和訊息佇列,因為它是同一進程中。它實際上與伺服器共用一個 情境。RemoteClients 通過週期性網路連接與伺服器進行通訊。

網路系統的目標是 LocalClients 和 RemoteClients 的代碼是相同的,所以開發人員只需大部分時間想一種類型的用戶端的。


Instantiate and Spawn

在Unity中,GameObject.Instantiate 建立新的Unity遊戲對象。但與連網系統在一起, 對象必須也會“spawned” 要在網路上啟用。這隻能在伺服器上,並且導致要在串連的用戶端上建立對象。一旦對象被Spawning System產生,分布式的對象生命週期管理和狀態同步。

Players, Local Players and Authority


在網路系統中,玩家對象都是特殊的。還有伴玩遊戲,每個人的player 對象和 命令 都將路由 到該對象。一個人不能對另一個人的player對象調用命令 - 只有他們自己。所以是的“my” player 對象的概念。當添加一個player 和聯絡 把他們串連時,這個player對象就成為該玩家用戶端上的“local player” 對象。那裡是被設定為 true,並且回調在用戶端上的對象調用的 OnStartLocalPlayer() 屬性 isLocalPlayer。顯示兩個用戶端和他們 local players.。


只是 “yours” 的player對象  將已設定了 isLocalPlayer 標誌。這可以用於篩選  輸入的處理,能夠處理相機附件,或做任何其他用戶端只應做為您的player的身邊事。


除了 isLocalPlayer,player對象可以有 “local authority”.  這意味著其擁有者的用戶端上的player對象是負責對象 — — 它有授權。最常用的是 控制運動,但也被使用其他的東西。NetworkTransform 組件明白這一點,並將從用戶端發送移動,如果設定該選項。NetworkIdentity 有一個複選框用於設定 LocalPlayerAuthority。

對於非玩家對象如敵人,還有沒有相關聯的用戶端,所以權威駐留在伺服器上。


NetworkBehaviour 上的屬性 "isAuthority" 可以用來告訴是否 對象具有授權。所以非玩家對象在伺服器上,具有權威和player對象與 localPlayerAuthority 有授權在其擁有者的用戶端上。



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.