【发布时间】:2018-02-03 00:07:23
【问题描述】:
我有一个发射子弹的玩家,但只有当射击的玩家是主机时,子弹才会生成给所有客户端。
使用 Unity 5.6
到目前为止我所拥有的......
- 我已经在 NetworkManager 中注册了 Prefab。
- Prefab 有一个 NetworkIdentity,其中 ServerOnly 在 false 和 LocalPlayerAuthority 在 false >.
- Prefab 有一个 NetworkTransform,其 NetworkSendRate = 0 和一个 TransformSyncMode 以 Sync RigidBody2D。李>
- 玩家使用 [Command] 方法并使用 NetworkServer.Spawn (bulletInstance) 发射子弹
- 在调用 NetworkServer.Spawn 之前,我将 velocity 分配给 bulletInstance 的 RigidBody2D。
- 子弹脚本类是一个NetworkBehaviour
- 玩家拥有 NetworkIdentity 且 LocalPlayerAuthority 为 true
- 播放器脚本类是一个NetworkBehaviour
【问题讨论】:
-
你在bulletPrefab 中添加了networkidentiy 吗?第二种方法,您可以使用带有 [RpcClient] RpcSpawnABullet(vector) 的方法进入 [Command]CmdFire。
-
你是怎么调用cmdFire的
标签: c# unity3d unity5 unity3d-unet