【问题标题】:Efficient way to check where the bullet came from player [Unity Multiplayer Mirror]检查子弹来自玩家的有效方法 [Unity Multiplayer Mirror]
【发布时间】:2021-04-15 00:34:30
【问题描述】:

我是新来的镜子,对我如此赤裸裸。我想要做的是当一个玩家被另一个玩家的子弹击中时,它可以检查谁的子弹来自我的选择是:

1.) add player tag to bullet 

或者有更好的方法使用镜像

【问题讨论】:

  • 我不知道这是否正确,但我认为您可以将玩家的网络 ID 与子弹一起发送,这样当玩家被击中时,它可以检查是谁的 ID。
  • 标签非常有限,另外您必须事先定义这些标签!正如之前评论中已经提到的:告诉子弹负责玩家的 NetworkIdentity -> 独特且可扩展

标签: unity3d mirror


【解决方案1】:
  1. Network Identity 附加到项目符号的根以确保它在其他客户端上生成。
  2. 创建一个 NetworkBehaviuor 脚本来管理与项目符号相关的任何逻辑或数据。
  3. 向脚本添加一个带有 [SyncVar] 属性的 int firingPlayerId; 字段。
  4. 每当玩家将此对象用作子弹射击时更新此变量(假设您正在进行某种缓存,您需要更改此变量)。

由于 NetworkIdentity 确保变量仅在修改/弄脏时同步,所以这不会花费您任何费用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-07
    • 2016-06-24
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多