iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0

基本介紹

Photon Fusion 是Photon底下一個為了Unity而設計的libary,以高效率的網路同步著名,且將網路開發融入Unity普通開發過程,降低Unity網路開發的門檻,且有著許多的功能如資料壓縮、客戶端預測等等。Fusion也提供如Network Player Input、Network Propertise及RPC等,作為網路同步撰寫的基礎。

Network Propertise

定義一個Network Propertise

[Networked]
public int health { get; set; }

Network Propertise 支援的資料型態有

RPC(Remote Procedure Calls)

遠端程序調用,簡稱RPC,當你需要對沒有輸入授權的物件進行操控時,避免讓輸入結構過於複雜,即可使用RPC。

  1. 僅能回傳void或是RpcInvokeInfo
  2. 使用RPC作為前綴或後綴
  3. 設置RpcSources和RpcTargets參數,以控制RPC的調用位置和執行位置。
[Rpc(sources: RpcSources.InputAuthority, targets: RpcTargets.StateAuthority)]
public void RPC_Configure(string name, Color color){
   playerName = name;
   playerColor = color;
}

RpcSources和RpcTargets是篩選器。RpcSources定義了哪些同儕節點可以發送RPC,而RpcTargets則定義了RPC在哪個同儕節點上執行。

  • All:可以由遊戲階段中的所有節點發送/執行。
  • Proxies:可以由對物件沒有輸入授權或狀態授權的同儕節點發送/執行。
  • InputAuthority:可以由對物件具有輸入授權的同儕節點發送/執行。
  • StateAuthority:可以由對物件具有狀態授權的同儕節點發送/執行。

簡單來說RPC就像廣播能夠給同伺服器的的相同物件,發送一樣的指令,給選定的對象。

引用來源

https://doc.photonengine.com/zh-tw/fusion/current/fusion-intro


上一篇
Day2 Unity安裝建置
下一篇
Day 4 Photon Fusion 連線模式
系列文
使用unity 及 photon fusion 打造線上RTS遊戲13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言