项目实训(十四)pun的建立,使用以及注意方法
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、pun的建立
- 二、pun的使用
- 三、注意方法
- 注意點1
- 注意點2
前言
PUN基礎教程,pun的使用以及注意方法
一、pun的建立
首先在商店頁面找到該 Photon Unity Networking Free 插件。
導入,由于 已經 注冊 了 Photon 的賬號。
這里要填寫 AppId 來建立工程。先進行下一步 ,登錄 Photon 官網 地址:https://www.photonengine.com/en/PUN
獲得 AppId 再 填寫這一欄。
Photon 官網 地址:https://www.photonengine.com/en/PUN
沒有賬號的注冊一個 Photon 賬號。
輸入 郵箱 地址,和 在 photon 注冊 的賬號密碼。
進入 Dashboard 頁面。這里就是 App 頁面。
創建一個 新的 App
自定義 App 的名字 (暫時命名為 test_001),鼠標移動 到 App ID: 上面 ,復制后面 的號碼
回到 Unity ,粘貼 剛才 復制的 App ID 。Setup Project
系統 自動 建立了一個 PhotonServerSettings.asset 的文件。
二、pun的使用
1.創建AppId,可以通過官網免費申請。這樣,我們就得到了一個可以同時容納20人的云應用服務空間。
2.連接服務器、房間訪問和創建。這是聯網的基礎內容,可以通過一個空對象掛載Launcher腳本實現。其中,Launcher腳本包含了版本、鏈接、回調函數等基礎內容,可以作為標準化的對象嵌入到任何新的網絡應用中。
3.創建UI系統,從簡單的UI系統中,學會用戶交互,通過用戶輸入控制網絡。
4.使用簡單數據存儲PlayerPrefs系統,通過UI控件,對玩家的基本信息進行存儲交互。
5.通過LoadScene()可以進行多場景之間的調用,這種調用可以通過場景號碼或者場景名稱來調用。
6.場景管理器:用于管理場景之間的連接、切換、交互等功能,是一個比較通用的模塊,可以作為一個預制件處理。
7.自定義的腳本可以看成一個自定義的組件,通過組件掛靠到具體的實例(Object)的方法,可以將腳本發揮作用;有些單純的腳本發揮作用的可以通過掛載在空對象上實現功能。
8.網絡編程需要對各種網絡操作流程有較深的理解,比如一個簡單的流程:連接服務器 - 將本機作為主機設置游戲空間網絡 - 在網絡建好之后的回調函數中執行創建并進入房間的方法 - 在進入房間之后的回調函數中加載游戲場景 - 游戲場景切換邏輯與進出房間的腳本掛靠。這樣以后,就完成了單純的基本網絡架構。
9.建立玩家系統:首先考慮的是模型,然后是動畫邏輯,然后是控制語句,接著是場景優化(包括相機跟隨,姿態優化等),后面還有對戰交互系統等更復雜邏輯的構建。
三、注意方法
注意點1
1.習慣于用log來確保每一個可能的錯誤都被提取到,雖然很枯燥,但是卻有利于長遠打算。
2.Time.deltaTime是使得FixedUpdate真正活起來的幕后方法,如果要脫離幀率存在,可以在Update中使用這個方法定制新功能。
3.Trigger與Collision的區別與聯系:都可以檢測碰撞,只不過Trigger方法不發生物理行為,而Collision方法可以實現全部的物理屬性。
4.聯網同步:變換同步組件+動畫同步組件,同時可以設置同步幀率特性(與本機幀率不同)。
5.加上PhotonNetwork.Connected == true作為判斷條件,可以允許用戶本地測試而不影響聯網效果。
注意點2
1.使用IpunObservable.OnPhotonSerializeView重構方法可以實現對本地 / 網絡玩家實時數據的分離、同步等功能。
2.所有Application的內容都過時了,使用SceneManager新方法可以管理,具體查找Standard Events的示例。
3.使用Static方法可以保證本地玩家的唯一性,同時需要使用this指針將實例連接到static變量中。
4.DontDestroyOnLoad(this.gameObject)方法可以保證有玩家退出時不對場景內其他玩家造成銷毀的影響。
總結
以上是生活随笔為你收集整理的项目实训(十四)pun的建立,使用以及注意方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用80percent开发rails程序
- 下一篇: 【持续更新】Pun多人在线游戏开发教程