Unity3d Authoritative Server
2012-12-27 09:44:24| 分类:
Unity3D
| 标签:
|举报
|字号大中小 订阅
直接拿官網範例講解
啟動伺服器、連線的程式都和之前一樣,故不在贅述。
由於Auth Server通常不會有玩家兼任伺服器的情況,
在NetworkLogic裡我們把伺服器設定為dedicated Server
再看AuthServerSpawnPlayer.js這個class。
當玩家連進來時,呼叫OnPlayerConnected(),取得該玩家的ViewID,
然後用一個RPC function InitPlayer()將該資訊傳給該玩家。
同時在該玩家端將loaclPlayer變數指派為該玩家自己。
如果玩家按下spawn character,則對伺服器及所有人呼叫RPC function SpawnPlayer()。
此涵數中先用Instantiate()建立人物副本,到此已經可以讓所有玩家看到你的人物了;
之後針對不同對象(local、server、other client)將一些component開啟或關閉。
簡單來說,Auth Server的創角流程就有點像買車。
出生(登入)時有一個身分證字號(NetworkPlayer),你會記得自己的身分證字號(存入localPlayer變數),
買車時,先給你車牌號碼(NetworkView ID),
等車子出廠(Instantiate函數),你和車子的資料存入政府的資料庫,所以大家都知道你買車了。
最後廠商把鑰匙交給你(enable local's Input component),所以車只有你能開。
评论这张
转发至微博
转发至微博
评论