Unity客户端和服务器

时间:2014-02-15 03:56:34

标签: network-programming unity3d

在Unity4中。 我正在制作网络客户端和服务器..两种不同的统一类型。 客户端是实际的游戏,服务器是一个单独的普通服务器。

我不太了解RPC是什么。我知道它本质上是一个通过网络调用的函数,但我该如何使用它呢?

我必须实例化对象new prefab ..每当我看一个教程它告诉我这样做:transform.position

什么是transform.position,不是我的位置?

如何连接服务器然后更新我的位置?我如何获得其他人的职位?

我的想法是在更新NetworkManager时我会调用一个RPC来将玩家移动到新位置,如果它与旧版本不同?

Network.Instantiate (PlayerController, transform.position, transform.rotation, 0);

transform.position?

PlayerController是放入预制件并重命名的FirstPersonController ..

我需要在服务器部分做什么?服务器基本上只是所有客户端之间的连接,我甚至需要服务器上的RPC功能吗?

当有人连接时,我该如何获取它,以便服务器告诉每个人有人连接,以及如何发送刚刚连接所有新玩家位置的人?

void Update () {
    Transform newPos = Network.player.transform;
    if (oldPos != newPos)
    networkView.RPC ("UpdatePosition", Network.player, 
}

public void OnPlayerConnected(NetworkPlayer player){
    Network.Instantiate (PlayerController, transform.position, transform.rotation, 0);
}

public void OnPlayerDisconnected(NetworkPlayer player){
    Network.RemoveRPCs (player);
    Network.DestroyPlayerObjects (player);
}

到目前为止,这是客户端..我需要UpdatePosition来更新单个玩家在所有屏幕上的位置..

0 个答案:

没有答案