天天看點

[Unity5.1]同步動畫UNET

  這一次,我們将同步動畫〜

UNET第21部分 - 網絡動畫

[目标]以同步動畫!

①下載下傳

首先,下載下傳資産〜這個時候資産被稱為“最大的冒險模式” -

既然出來了,第二,當你搜尋“最大”,然後導入〜

[Unity5.1]同步動畫UNET

進口最大的冒險模式

②設定Max的(資産)

然後,我們将設定Max〜

檔案夾,名為max是因為它被導入到項目檔案夾,打開,然後單擊預制〜

由于最大的資訊出來Inspector視圖,單擊鑽機,改變動畫類型為“人型生物” -

[Unity5.1]同步動畫UNET

最大的預制>鑽機>動畫類型:人型生物

按下面的應用按鈕選擇後〜

然後選擇動畫,從檢查員的看法是,勾選Loop時間和循環姿态,取消烤成姿〜

[Unity5.1]同步動畫UNET

為了使用動畫的UNET回路不工作,似乎有必要在此處設定 -

因為隻有你設定它在這種狀态為空閑的動畫,我們會- 

所設定的行走動畫點選的步行路程,循環時間,循環姿勢,檢查烘烤成姿〜

[Unity5.1]同步動畫UNET

運作,我們也将設定動畫〜循環時間,循環姿勢,檢查烘烤成姿〜

[Unity5.1]同步動畫UNET

③設定Animator控制器

然後選擇建立>動畫控制器在壹岐你〜項目檢視制作動畫,你的PlayerController的名字〜

[Unity5.1]同步動畫UNET

打開動畫螢幕中,選擇右鍵→建立國家>從新混合樹〜

[Unity5.1]同步動畫UNET

然後,因為在進入的。然後混合設定樹輕按兩下混合樹國家建立的,然後更改在檢查視圖中的“運動”的混合樹的名字 -

[Unity5.1]同步動畫UNET

名稱變化

然後按加三個按鈕添加這〜督察檢視運動場,然後單擊添加運動場〜

[Unity5.1]同步動畫UNET

建立三個運動場

然後按名為速度的是在動畫控制器中建立的螢幕左側的參數中的加号按鈕,然後選擇浮動〜

[Unity5.1]同步動畫UNET

你建立的最後一個速度變量,設定混合樹為參數,我們将設定每個動畫混合樹〜

[Unity5.1]同步動畫UNET

④預制MAX,則Player(資産)

由于馬克斯已經完成,我們将繼續在一個球員預制的形式是膠囊型直到現在代替最大的〜

首先,傳回播放器和最大的層次,以及最大至播放預制的子對象〜

[Unity5.1]同步動畫UNET

拖和滴!

動畫元件即将馬克斯将删除〜此外,您可以停用立方體是FirstPersonCharacter,膠囊的子對象〜

然後〜連接配接網絡動畫元件播放器如果您安裝了網絡動畫組成部分,高度也自動動畫成分〜

而PlayerAnimator你隻是在動畫元件建立, - 

設定最大的頭像設定下一個動畫元件在動畫和網絡動畫〜

[Unity5.1]同步動畫UNET

⑤修改FirstPersonController腳本

接着通過修改FirstPersonController腳本,它将繼續移動來改變作為所述混合樹的狀态〜

打開FIrstPersonController腳本後,在指令+ F打開搜尋視窗中輸入“getaxis” - 然後,因為蒼蠅有一個鍵盤輸入,然後作如下修改的地方〜

           私 人 無 效 getInput ( 出 浮 法 速 度 )            {               //讀取輸入浮動水準=                               CrossPlatformInputManager . GetAxis (“ 水 平” ) ; 浮 動 垂 直 =  CrossPlatformInputManager . GetAxis (“ 垂 直” ) ; // **********開始********** //               //添加UNET教程                             //擷取上下輸入的絕對值浮子AnimSpeed               · ·  =  Mathf . Abs 和 ( 垂 直 ) ;                //                AnimatorController 速 度 可 變 的 後 天 絕 對 值 來 設 置 GetComponent  < 動 畫 > ( ) 的 setFloat (“ 速 度” , AnimSpeed ) ;  // ********** **********結束//                             布 爾 Waswalking  =  M_IsWalking ;               # IF ! MOBILE_INPUT                //在獨立建立,步行/運作速度由按鍵修改。//保留的字元是否是走路或跑步軌道                             ! m_IsWalking  =  Input . GetKey ( KeyCode . LeftShift ) ; # ENDIF                //設定所需的速度行走或跑步               ? 速 度 =  m_IsWalking  m_WalkSpeed · · : m_RunSpeed · · ;               M_Input  = 新 Vector2 ( 水 平 , 垂 直 ) ;               //規範化輸入,如果超過1總長度:如果(M_Input.SqrMagnitude>                 1 )               {                    m_Input . Normalize ( ) ;               }               //處理速度變化給一個FOV踢//隻有當玩家将要運作,正在運作,并且Fovkick被使用,如果(M_IsWalking!=                               Waswalking  &&  M_UseFovKick  &&  M_CharacterController . Velocity . SqrMagnitude >  0 )               {                    StopAllCoroutines ( ) ;                    ( ! ? M_IsWalking  m_FovKick . FOVKickUp ( ) : m_FovKick . FOVKickDown ( ) ) StartCoroutine ;               }          }  

FirstPersonController.cs

- 已加入一個過程來設定一個變量來AnimatorController

現在,可以允許暫時動畫播放器〜

[Unity5.1]同步動畫UNET

⑥修改Player_NetworkSetup的

最後,同步播放動畫的說明,将繼續增加至Player_NetworkSetup腳本〜

  使 用 UnityEngine ; 使 用 System . Collections 中 , 使 用 UnityEngine . Networking ; 公 共 類 Player_NetworkSetup : NetworkBehaviour   {      [ SerializeField ] 相 機 FPSCharacterCam ;      [ SerializeField ]  AudioListener  audioListener ;      公 衆 覆 蓋 無 效 OnStartLocalPlayer ( )        {          GameObject . Find (“ 場 景 相 機” ) . SetActive ( 假 ) ;          GetComponent  < UnityStandardAssets . Characters . FirstPerson . FirstPersonController > ( ) . Enabled  = 真 ;          FPSCharacterCam . Enabled  = 真 ;          AudioListener . Enabled  = 真 ;          // **********開始**********           //要//隐藏LocalPlayer的渲染器          渲 染 [ ]  RENS  =  GetComponentsInChildren  < 渲 染 > ( ) ;          的 foreach ( 渲 染 仁 在 RENS ) {               Ren . Enabled  = 虛 假 的 ;          }                   //發送LocalPlayer的動畫參數自動GetComponent <NetworkAnimator>()SetParameterAutoSend(0,真正的);      }           公 衆 覆 蓋 無 效 PreStartClient ( )        {                   //發送用戶端會自動的動畫參數GetComponent <NetworkAnimator>()SetParameterAutoSend(0,真正的);      } // ********** **********結束// }  

Player_NetworkSetup.cs

首先,它把誰是LocalPlayer的序列中的子對象的渲染,你要隐藏- 

因為他們自己在這個遊戲畫面不顯示,螢幕重新整理〜

然後我們運作SetParameterAutSend由〜這,當動畫的被設定為NetworkAnimator參數已經被改變,它現在将自動同步〜

相同的處理也可在PreStartClient方法中描述的,用戶端的參數也現在将同步 -

為了持續同步運動改變方向,改變網絡的旋轉軸變換元件到Y(自上而下2D)〜

[Unity5.1]同步動畫UNET

[結果]

[Unity5.1]同步動畫UNET

雖然這是很困難的,因為待機狀态是走,你正在運作一個小的地方拍攝,我們能夠同步成功的動畫〜

這一次是在這裡 -

謝謝〜

[Unity9]多玩家線上遊戲開發[UNET1在UNET 

[Unity9在UNET插值選手的運動,實作了平滑的運動[UNET1-2]在UNET [Unity9]坡通過網絡(旋轉)同步使[UNET2] 

[Unity9]線上改變玩家産生位置[UNET2-2在UNET的開始是為了減少網絡流量[Unity9] UNET,簡化[UNET3] 

[Unity9] UNET的等待時間(延遲

改善的時間)[UNET4]顯示延遲(延遲時間)的[Unity9] UNET,隻有提高[UNET4-2]一點的時代的同步方法之前和使用[Unity9] UNET的SyncVar的鈎的的例子中, [UNET5] 

[Unity9]使用UNET同步旋轉[UNET6] 

[Unity9]将PlayerID設定為每個玩家在UNET [UNET7]敵人玩家UNET [Unity9]的傷害!

[UNET8] 

[Unity9]顯示HP在螢幕上UNET,[UNET9]在播放器損壞時惠普小于或[Unity9] UNET等于零,以破壞播放器!

[UNET10] 

[Unity9]複活死去的玩家在UNET![UNET11] 

[Unity9],并出現了僵屍的AI UNET![UNET12] 

[Unity9]把一個唯一的ID,在僵屍由UNET生成的時間![UNET13] 

[Unity9]拍攝僵屍UNET![UNET14] 

[Unity9]允許攻擊僵屍UNET![UNET15] 

[Unity9]允許僵屍順利UNET的同步運動![UNET16] 

[Unity9] 

[UNET17]增加UNET僵屍發生點[UNET18]删除發生在[Unity9] UNET錯誤使用[Unity9]統一多人對接會在網絡上!

[UNET19] 

[Unity9],提高圖形使用者界面,使其更容易看網絡管理器![UNET20]和[Unity9]到功能顯示的圖形使用者界面(網絡管理)!

[UNET20-2] 

[Unity9]同步動畫UNET![UNET21]