Unity5之Network基础用法之人物跑动同步(一)

接下来写unity之Network系列文章。本文从最基本的讲起。依然用案例操作的方式来讲解。


案例目标:使用Network功能实现两个客户端中的两个人物在同一个场景走动可以互相看到。

步骤1:

新建一个场景,场景中包括相机(命名为KKCAM)、一个plane、3个cube(命名为enviorment)、一个空物体(命名为Network)、一个第一人称角色控制器(命名为PLAYER)。
如下图:
 


步骤2:

给PLAYER添加Network Identity组件和Network Transform组件。


Network Identity组件用来给该物体添加ID,Network Transform组件是为了我们人物的移动而添加的。所以在Transform SyncMode的选项下修改成“Sync Transform”。
如下图:
 



步骤3:

给Network上添加组件Network Manager和Network Manager HUD组件。

Network Manager负责管理Network的 通讯,Network Manager HUD组件用来显示运行时的关于Network的UI。
将PLAYER作出一个预制物体,然后放到Spawn info下的playerprefab内。如下图:

 


步骤4:

给PLAYER添加脚本playernetwork。
该脚本的作用就是客户端只可以控制自己客户端的角色。
注意:PLAYER上的CharacterController,FirstPersonController组件以及其子物体FirstPersonCharacter上的相机组件都是默认为关闭。
如图:
 

代码;

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;


public class playernetwork : NetworkBehaviour
{

    [SerializeField]
    Camera fpscamera;

    [SerializeField]

    AudioListener audioplayer;


    void  Start()

    {
        if(isLocalPlayer)
       
        {
            GameObject.Find("KKCAM" ).SetActive( false );
            //关闭掉场景中的相机使用角色控制器中的自己带的相机
         
            GetComponent<CharacterController>().enabled = true;

            GetComponent<UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().enabled =true;

            fpscamera.enabled = true;

            audioplayer.enabled = true;


        }

    }



}

 

 


注意:PLAYER作为预制物体要点Apply


步骤5:然后打包运行,需要启动两个exe,第一个启动后选择LAN host选项做为服务器选项,第二个启动后点击LAN Client选项作为客户端。如下图:

 



运行效果:动态图
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值