相机跟随 Instantiated Photon 多人游戏

Camera follow Instantiated Photon multiplayer player

我的相机附有这个脚本:

public class CameraFollow : MonoBehaviour {

    public Transform target;

    public float smoothSpeed = 0.125f;
    public Vector3 offset;

    private void Start()
    {
        target = ?        
    }

    private void LateUpdate()
    {
        transform.position = target.position + offset;
    }
}

由于我的播放器是实例化的,所以我无法将预制件拖到 public 目标。 我可以在 Start 函数中输入什么来将目标设置为我的实例化播放器。它有标签 "Avatar".

我正在使用 PhotonNetwork,所以我会在一个房间里有几个播放器。

一种方法是将 Start() 修改为:

private void Start()
{
    GameObject[] players = GameObject.FindAllGameObjectsWithTag("Avatar");
    foreach (GameObject player in players)
    {
        if (PhotonView.Get(player).isMine)
        {
            this.target = player.transform;
            break;
        }
    }
}

假设您的播放器 class 继承自 Photon.MonoBehaviour(如果尚未继承)。

PhotonView.Get(player).isMine 检查网络对象是否为您的客户端所有,因此可以区分您的播放器和其他人的播放器。找到对您自己的播放器的引用后,您可以将其指定为相机的目标。