ETH官方钱包

創作內容

5 GP

拳線交鋒-開發日記5

作者:KK│2021-05-01 17:42:50│巴幣:10│人氣:258

恭喜你,photon 經驗值 + 2,離升級還需 13 點經驗值。

差不了啦,該結束這回合啦,頭好暈阿。@@

我看其他人網誌介紹的,感覺接起來應該是不會太複雜阿,

實際下去照流程走了一遍後,還是發現有很多眉眉角角阿。

根本就不可能無痛變出一個連線功能XDDD

嘛!其實很大原因還是自己把東西弄得太複雜了,

就像上一篇提到的 input system

原先規則準備了 1P、2P 各自的控制鍵,

單機這邊絕對相安無事,可是放到需要連線的地方的時候;

總不能因為我要連線,就強制我要用 2P 的控制器,

我的想法是應該要拆開的,所以就變成了事件註冊時機要擴充要改,

當然這些也都是小事,只要能玩,就算用 2P 配置我覺得也沒啥大礙。



示意 Gif1 (會跳會走)

這是繼上次進度後的接續,角色生成與實戰篇。

可以很明顯看出有 bug 存在,

photon 裡,要做到角色的位置、角度跟動作同步,不是很麻煩的事,




Photon Transform ViewPhoton Animator View 會幫你搞定上述的需求,

而因為我有用到 Rigidbody 作為碰撞跟觸發的偵測,所以我又額外添加 Photon Rigidbody View

這些 component 加上去後就會被偵測進 photon view,隨著改變而刷新。

基本上只要掛上這些腳本,就能如示意動畫那樣,主機端是直接正常運作的!

並且將狀態同步給客戶端,也就是說不用改什麼地方,這個功能應該就能用,

也就是我一開始肖想的無痛實作連線功能。

裡面頂多有一個注意的點就是, prefab 必須丟在 Resource 資料夾裡面

如上圖紅框處所標示。

如果你有專案資料夾潔癖的話,記得做好分類,其實我不是很喜歡什麼都往 Resource 丟,

所以我是自己給 prefab 上面的腳本繼承 IPunPrefabPool

官方文件上面寫這樣就不用特別丟進 Resource,經我實驗結果是,騙我!!明明就不行。

另外生物件的方式請用 PhotonNetwork.Instantiate,才會去運行 photonView 的那些同步。




對,上面說的順順利利,是只有 master (主機端)而已,

我花了很多時間在 debug,客戶端怎麼弄都沒反應,

錯誤訊息是 InvalidCastException: Specified cast is not valid.

這個錯誤在網路跟論壇上,陸續都有人發問,從 20152020 都有,

照著大家分享的方式,改了一些原始結構在 byte 轉型的地方,依舊宣告無解。

也許是我的程式系統寫得並不好,甚至以為它很方便而濫用了不少地方,

所以才失敗吧?!

除了客戶端角色的移動同步外,其實指令沒啥大問題,用 Rpc 就能搞定。




就把後面的戰鬥部分全部接起來,勝利判斷,然後下一場,

這些也都處理好了。

斷線的話,判定對方獲勝,並且換對方當主機,一些連線上時要考慮的地方也補了,

然後因為 2P 不能移動,所以連線模式下就沒有觀眾搗亂,這樣比較公平。

勉強算是可以玩的連線版本,但很明顯有 bug,所以還是把這個功能備註測試中。

差不多就弄到這邊了,再下去的話就想整個重寫了,這樣母湯!




最後來個結論,

這次吸收了這個插件的使用經驗,對我來說是滿寶貴的,

至少以後在銜接類似需求的工時,稍微有點評估的依據,( debug 時間幾乎是三倍長 )

以後若真的想做連線遊戲,一定會在立案時就做好規劃,

而不是從單機硬去改,插件再神都救不了愚蠢的自己XDDDDD

整體而言還是學到不少,滿好玩的,

也難怪 steam 上近三年的多人同樂遊戲突然變這麼多,

一個比一個成熟,而且都有各自的客群開心地玩著,

這個領域果然還非常大阿,繼續前進吧!

研究連線相關真的是一個頭兩個大,

該休息去做遊戲了。ˊˇˋ

引用網址:http://www.jamesdambrosio.com/TrackBack.php?sn=5137277
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:photon

留言共 1 篇留言

矮鵝
你封面圖都自已畫的嗎? 感覺都不錯

05-01 17:46

KK
對阿[e16]加減練一下,遊戲中可以用,發文可以當封面,一魚兩吃,哈哈。[e16]05-01 17:48
我要留言提醒:您尚未登入,請先登入再留言

5喜歡★nigel0813 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:Unity Input ... 後一篇:RUSTY LAKE...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】