[Unity5.1]同步动画UNET

来源:互联网 发布:淘宝客 运营 合作协议 编辑:程序博客网 时间:2024/06/08 18:06
 这一次,我们将同步动画〜


UNET第21部分 - 网络动画

[目标]以同步动画!



下载

首先,下载资产〜这个时候资产被称为“最大的冒险模式” -

既然出来了,第二,当你搜索“最大”,然后导入〜

F:ID:hiyotama:20150724175339p:平纹
进口最大的冒险模式

设置Max的(资产)

然后,我们将设置Max〜

文件夹,名为max是因为它被导入到项目文件夹,打开,然后单击预制〜



由于最大的信息出来Inspector视图,单击钻机,改变动画类型为“人型生物” -

F:ID:hiyotama:20150724175849p:平纹
最大的预制>钻机>动画类型:人型生物

按下面的应用按钮选择后〜


然后选择动画,从检查员的看法是,勾选Loop时间和循环姿态,取消烤成姿〜

F:ID:hiyotama:20150727091946p:平纹

为了使用动画的UNET回路不工作,似乎有必要在此处设置 -


因为只有你设置它在这种状态为空闲的动画,我们会- 
所设定的行走动画点击的步行路程,循环时间,循环姿势,检查烘烤成姿〜

F:ID:hiyotama:20150727093214p:平纹


运行,我们也将设置动画〜循环时间,循环姿势,检查烘烤成姿〜

F:ID:hiyotama:20150727093646p:平纹

设置Animator控制器

然后选择创建>动画控制器在壹岐你〜项目查看制作动画,你的PlayerController的名字〜

F:ID:hiyotama:20150727101804p:平纹

打开动画屏幕中,选择右键→创建国家>从新混合树〜

F:ID:hiyotama:20150727102138p:平纹

然后,因为在进入的。然后混合设置树双击混合树国家创建的,然后更改在检查视图中的“运动”的混合树的名字 -

F:ID:hiyotama:20150727102409p:平纹
名称变化

然后按加三个按钮添加这〜督察查看运动场,然后单击添加运动场〜

F:ID:hiyotama:20150727102651p:平纹
创建三个运动场

然后按名为速度的是在动画控制器中创建的屏幕左侧的参数中的加号按钮,然后选择浮动〜

F:ID:hiyotama:20150727102925p:平纹

你创建的最后一个速度变量,设置混合树为参数,我们将设置每个动画混合树〜

F:ID:hiyotama:20150727105747p:平纹

预制MAX,则Player(资产)

由于马克斯已经完成,我们将继续在一个球员预制的形式是胶囊型直到现在代替最大的〜

首先,返回播放器和最大的层次,以及最大至播放预制的子对象〜

F:ID:hiyotama:20150727110311p:平纹
拖和滴!


动画组件即将马克斯将删除〜此外,您可以停用立方体是FirstPersonCharacter,胶囊的子对象〜


然后〜连接网络动画组件播放器如果您安装了网络动画组成部分,高度也自动动画成分〜

而PlayerAnimator你只是在动画组件创建, - 
设置最大的头像设置下一个动画元件在动画和网络动画〜

F:ID:hiyotama:20150727111237p:平纹

修改FirstPersonController脚本

接着通过修改FirstPersonController脚本,它将继续移动来改变作为所述混合树的状态〜

打开FIrstPersonController脚本后,在命令+ F打开搜索窗口中输入“getaxis” - 然后,因为苍蝇有一个键盘输入,然后作如下修改的地方〜

 
        getInput  
        {
            //=
             
            CrossPlatformInputManager.GetAxis;= CrossPlatformInputManager.GetAxis;
// ******************** // 
            //UNET
            
            //AnimSpeed
            ·· = Mathf.Abs;
             // 
            AnimatorControllerGetComponent 
<>setFloatAnimSpeed; // ********** **********//
            
            Waswalking = M_IsWalking;
            
#IFMOBILE_INPUT 
            /////
            
            m_IsWalking = Input.GetKeyKeyCode.LeftShift;
#ENDIF 
            //
            = m_IsWalking m_WalkSpeed··m_RunSpeed··;
            M_Input =Vector2;
            //1M_Input.SqrMagnitude>
             1
            {
                m_Input.Normalize;
            }
            //FOV//Fovkick使M_IsWalking=
            
             Waswalking && M_UseFovKick && M_CharacterController.Velocity.SqrMagnitude> 0
            {
                StopAllCoroutines;
                M_IsWalking m_FovKick.FOVKickUpm_FovKick.FOVKickDownStartCoroutine;
            }
        }
 

FirstPersonController.cs

- 已加入一个过程来设置一个变量来AnimatorController

现在,可以允许暂时动画播放器〜


F:ID:hiyotama:20150727113125p:平纹

修改Player_NetworkSetup的

最后,同步播放动画的说明,将继续增加至Player_NetworkSetup脚本〜

 
使UnityEngine;使System.Collections使UnityEngine.Networking;
Player_NetworkSetupNetworkBehaviour  {
    [SerializeField]FPSCharacterCam;
    [SerializeField] AudioListener audioListener;
    OnStartLocalPlayer  
    {
        GameObject.Find.SetActive;
        GetComponent <UnityStandardAssets.Characters.FirstPerson.FirstPersonController>.Enabled =;
        FPSCharacterCam.Enabled =;
        AudioListener.Enabled =;
        
// ******************** 
        ////LocalPlayer
        [] RENS = GetComponentsInChildren <>;
        foreachRENS{
            Ren.Enabled =;
        }
        
        //LocalPlayerGetComponent <NetworkAnimator>SetParameterAutoSend0;
    }
    
    PreStartClient  
    {
        
        //GetComponent <NetworkAnimator>SetParameterAutoSend0;
    }
// ********** **********//
}
 

Player_NetworkSetup.cs

首先,它把谁是LocalPlayer的序列中的子对象的渲染,你要隐藏- 
因为他们自己在这个游戏画面不显示,屏幕刷新〜

然后我们运行SetParameterAutSend由〜这,当动画的被设置为NetworkAnimator参数已经被改变,它现在将自动同步〜

相同的处理也可在PreStartClient方法中描述的,客户端的参数也现在将同步 -


为了持续同步运动改变方向,改变网络的旋转轴变换组件到Y(自上而下2D)〜

F:ID:hiyotama:20150727123656p:平纹

[结果]

F:ID:hiyotama:20150727123912p:平纹

虽然这是很困难的,因为待机状态是走,你正在运行一个小的地方拍摄,我们能够同步成功的动画〜


这一次是在这里 -

谢谢〜


[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]


0 0
原创粉丝点击