gpt4 book ai didi

c# - Unity3d unet - 来自客户端的 TargetRPC 调用

转载 作者:行者123 更新时间:2023-11-30 21:43:48 32 4
gpt4 key购买 nike

众所周知,Unet 的文档缺乏。

我很想得到这个答案,并希望它可以帮助其他人以后搜索。

这是我正在尝试做的事情:

  1. 在玩家客户端上使用光线转换检测命中。
  2. 使用[命令]指示对专用服务器的命中
  3. 使用 [TargetRPC] 通知受到攻击的一个客户端

问题是 TargetRPC 需要 NetworkConnection 值,但唯一记录的方法是使用该对象中的 ConnectToClient - 我没有但需要获取。

如何以可转换为正确 NetworkConnection 值的方式识别在服务器客户端上点击的玩家。

在本地玩家权限对象上:

CmdIHitSomeone(unknown);

[Command]
void CmdIHitSomeone(NetworkConnect unknown) {
TargetLetYourVictimFeelIt(unknown);
}

[TargetRPC]
void TargetLetYourVictimFeelIt(NetworkConnection unknown){
//do something bad here
}

最佳答案

[Command]
void CmdIHitSomeone(int amountToHit, NetworkIdentity target)
{
TargetLetYourVictimFeelIt(target.connectionToClient , amountToHit);
}
[TargetRPC]
void TargetLetYourVictimFeelIt(NetworkConnection target, int amount)
{
//do something bad here
}
// call your command by getting NetworkIdentitiy component of your target/enemy
GameObject target;
CmdIHitSomeone(10, target.GetComponent<NetworkIdentity>());

关于c# - Unity3d unet - 来自客户端的 TargetRPC 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41405791/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com