4

我已经统一工作了一段时间,并且通过遵循教程已经获得了基本的多人游戏设置。但是,我想添加更多的东西,其中之一是跟随每个玩家的相机。我已经查过了,甚至发现了该教程的创建者的评论。所以我按照他的解释,并有这个代码:

function spawnPlayer(){
    var player:GameObject=Network.Instantiate(playerPrefab,spawnObject.position,Quaternion.identity,0);
    Destroy(Camera.main);
    if(player.networkView.isMine){
       var playercam:Transform=player.transform.find("Camera");
       playercam.tag="MainCamera";
    }
}

我忘了提,玩家对象有一个摄像机,它被选为“playerPrefab”游戏对象。

这种工作,但不是真的。当我启动服务器时,相机会很好地跟随你。但是,当我打开另一个文件并加入该主机时,我开始觉得很奇怪。奇怪,我的意思是当我在服务器游戏中移动时,相机会跟随客户端游戏中的服务器玩家,而当我在客户端游戏中移动时,相机会跟随服务器游戏中的客户端。对我来说这毫无意义。

我很感激任何人对此问题的意见,或者如何解决这个问题。谢谢

4

1 回答 1

2

您的代码不完整:由于您在预制件本身中有一个摄像头,因此您必须继续if(player.networkView.isMine)添加一个else子句来销毁摄像头,以防您只是生成远程播放器的图像。

于 2013-06-19T02:56:34.690 回答