在光子 Unity(PUN)中切换播放器控制

Posted

技术标签:

【中文标题】在光子 Unity(PUN)中切换播放器控制【英文标题】:Player control getting switched in photon Unity(PUN) 【发布时间】:2021-09-25 06:55:55 【问题描述】:

只要只有一个玩家,玩家移动就可以正常工作,但一旦有其他玩家加入,它就会切换 PlayerMovement.cs

using UnityEngine;
using Photon.Pun;
public class playerMovement : MonoBehaviourPunCallbacks

    public Rigidbody rb;
    private Vector3 move;
    public float moveSpeed = 5f;
   
    public LayerMask layer;
    
    // Start is called before the first frame update
    void Start()
    
        rb = GetComponent<Rigidbody>();
      
        //Camera.main.enabled = false;
    

    // Update is called once per frame
    void Update()
    
        if (!photonView.IsMine)
            return;
        move = new Vector3(Input.GetAxisRaw("Horizontal"),0,Input.GetAxisRaw("Vertical"));
        //move = move.normalized;
        transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(move), 0.15F);
        move = move * moveSpeed;
        //transform.Translate(move*Time.deltaTime,Space.World);
    
    private void FixedUpdate()
    
        if (!photonView.IsMine)
            return;
        rb.position+= move*Time.fixedDeltaTime;
        //rb.MovePosition(move*Time.deltaTime);
    

这是一个显示问题的视频 https://youtu.be/nqeRZyFHRpc 是的,我正在使用 PhotonNetwork.Instantiate 如果有人认为这有问题

【问题讨论】:

也许我是盲人,但问题是什么? :'D 我建议你给你的球员不同的颜色..这样你可以看到更好的效果......看起来两个球员从同一个地方开始,很难分辨哪个是哪个 问题是播放器在客户端之间切换,即我在我的 PC 上控制的播放器属于在另一台 PC 上播放的另一个用户,反之亦然 正如我所说的那样,我并没有真正看到它.. 确保给它们一些不同的颜色以更好地识别它们.. 从你的代码中,sich 行为没有任何意义;)跨度> 【参考方案1】:

好的,添加一个 SetActive 来停用不属于播放器的相机 成功了。

【讨论】:

以上是关于在光子 Unity(PUN)中切换播放器控制的主要内容,如果未能解决你的问题,请参考以下文章

在Unity中使用Photon(网络多人联机)

为啥我的光子双关语代码返回“null”?

Unity/Pun2:2个玩家互相控制

UnityWwise具体某一音频的暂停恢复和终止播放

unity中怎么用代码控制动画播放

unity怎么播放多个音乐