Photon Fusion 是Photon底下一個為了Unity而設計的libary,以高效率的網路同步著名,且將網路開發融入Unity普通開發過程,降低Unity網路開發的門檻,且有著許多的功能如資料壓縮、客戶端預測等等。Fusion也提供如Network Player Input、Network Propertise及RPC等,作為網路同步撰寫的基礎。
定義一個Network Propertise
[Networked]
public int health { get; set; }
Network Propertise 支援的資料型態有
遠端程序調用,簡稱RPC,當你需要對沒有輸入授權的物件進行操控時,避免讓輸入結構過於複雜,即可使用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在哪個同儕節點上執行。
簡單來說RPC就像廣播能夠給同伺服器的的相同物件,發送一樣的指令,給選定的對象。
https://doc.photonengine.com/zh-tw/fusion/current/fusion-intro