【Unity多人連線】Photon Fusion FPS教學

  • Post category:未分類
  • Reading time:1 mins read
  • Post author:

這是一個使用Unity + Photon Fusion的多人連線FPS系列教學,在這裡會帶大家學習現今主流遊戲常使用的網路同步技術(如客戶端預測、延遲補償...),並做出一款超即時、低延遲的FPS競技遊戲。 範例使用Unity 2022.3.7f1(建議2021以上)、Photon Fusion 1.1.8,遊戲主要的素材則是Happy Nerd的FPS素材包。 註:本教學建議具備一定Unity與C#使用基礎的讀者閱讀(UGUI, Animator, Async Await, Interface, Delegate...) 在本教學中,你可以學到: 多人連線FPS同步功能(移動, 射擊, 動畫, 遊戲資料...)配對功能(創建房間, 加入房間)Animation Rigging製作IK動畫

Continue Reading【Unity多人連線】Photon Fusion FPS教學

【Unity教學】2022製作多人連線遊戲的最佳選擇!Photon Fusion 04 跳躍及發射子彈

  • Post category:教學
  • Reading time:4 mins read
  • Post author:

大家好,我是Wilson,這次的主題是讓玩家跳躍以及發射子彈! https://www.youtube.com/watch?v=gCkPTk651Dw&ab_channel=HappyNerdStudio 領取Photon Fusion 快速上手懶人攻略 這邊幫大家準備了【Photon Fusion 快速上手懶人攻略】! 裡面介紹了Fusion的基本功能,以及Fusion同步網路狀態的3大方法,有興趣的朋友可以免費領取喔! 點我領取! 重點回顧 可以使用NetworkButtons紀錄要傳送的自定義按鈕輸入,並用enum來定義需要使用哪些按鈕NetworkButtons.Set()方法來設定按鈕的狀態如果要判斷按鈕是否是被「剛按下去的狀態」的話,我們會需要將現在的NetworkButton與上一個Tick的NetworkButton做比較,可以透過NetworkButton.GetPressed()方法傳入上一個Tick的NetworkButton資料來判斷透過NetworkButton.IsSet()方法來判斷按鈕的狀態使用Network Transform元件可以同步網路物件的TransformFusion提供了TickTimer幫助我們可以做到以Tick為基準的計時器,讓計時更準確Spawned()方法就是當網路物件剛生成時會呼叫一次,就類似MonoBehaviour的Start()方法我們可以透過NetworkBehaviour的Runner變數找到場景中的NetworkRunnerNetworkBehaviour的Object變數則代表該NetworkBehaviour身上的Network Object元件Network Rigidbody就是Rigidbody的網路版本,使用這個就可以實現網路上的物理模擬囉我們可以在Network Project Config中的Server Physics Mode改成Client Prediction,就可以實現客戶端的物理預測,讓物件移動更加平滑 Code NetworkInputData.cs public enum InputButtons { JUMP, FIRE } public…

Continue Reading【Unity教學】2022製作多人連線遊戲的最佳選擇!Photon Fusion 04 跳躍及發射子彈

【Unity】Photon Fusion 2022多人連線遊戲開發的第一選擇

  • Post category:筆記
  • Reading time:12 mins read
  • Post author:

在上個月(2022/04)的時候,Photon官方正式發布了他們的最新產品-Photon Fusion,這個新產品融合了前幾代PUN2、Bolt的特點,主打能用一套簡單的API實現3A級遊戲的連線品質,能做到像是PUBG、Apex、Fall Guys那樣大量的玩家數量,並保持極高的網路同步效能與極低的延遲。

Continue Reading【Unity】Photon Fusion 2022多人連線遊戲開發的第一選擇