Unity3d 同步位置座標

using UnityEngine;
using UnityEngine.Networking;
using VRLite.Controller;

public class PlayerCamController : NetworkBehaviour
{
    [SerializeField]
    private Camera localCamera;
    [SerializeField]
    CameraController camController;
    [SyncVar]
    Vector3 clientPos=Vector3.zero;
    string clientPosition;
    private void Start()
    {
       
    }

    public override void OnStartLocalPlayer()
    {
        if (localCamera)
        {
            localCamera.enabled = true;
        }
    }


    private void Update()
    {
        TransmitPos();
    }

    /// <summary>
    /// 如果是本地玩家,上傳數據
    /// </summary>
    private void TransmitPos()
    {
        CmdTransmitPosition(transform.position);
    }
    private void FixedUpdate()
    {
        if (!isLocalPlayer)
        {
            UpdatePos();
        }
    }
    private void UpdatePos()
    {
        transform.position = Vector3.Lerp(transform.position, clientPos, Time.deltaTime * 5);
    }


    [Command]
    private void CmdTransmitPosition(Vector3 postiion)
    {
        clientPos = postiion;
    }
    
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章