**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
9天前关闭。
此帖子已于8天前编辑并提交审核,未能重新打开帖子:
原始关闭原因未解决
Improve this question
我正在尝试在我的UNITY虚拟现实多人游戏应用程序中加入一个乒乓迷你游戏,
客户看到球落后,使比赛无法进行
我试过在球被击中的时候换主人,但是结果不是很好,所以我想用一种平滑的方式为每个人同步球。
哪种是同步球的最好方法?我想问题是球对球拍重力的React太大了。
我使用球上的Photon Transform View Classic
和Photon View
组件来同步球。
当球这样做时,球拍的脚本
1.使控制器振动
1.将球导向另一个球拍(aimTarget)
1.设置光子变换的速度和SyncronizedValues查看经典组件下面是我的第三个代码:
if (collision.collider.compareTag ("PingPongBall"))
{
VibrationManager.singleton. TriggerVibration (iteration: 20, frequency: 2, strenght: 30, Controller ThatIsGrabbing());
Vector3 dir= aimTarget.position
transform.position;
collision.collider.GetComponent<Rigidbody>().velocity =dir.normalized_force + new Vector3(x: 0, y: 4, z: 0);
collision.collider.GetComponent<Photon TransformViewClassic>().SetSynchronizedValues (collision.collider.GetComponent<Rigidbody>().velocity, _force);
}
}```
1条答案
按热度按时间bprjcwpo1#
所以我用过PUN2一段时间了,首先如果你知道Photon的新作品和更新,你可能会考虑其他产品。在PUN2中,我做了一个VR射击游戏,用Photon同步子弹对网络来说是一个很大的负担,因为它速度很快,网络无法捕捉它。所以我所做的是当有人开枪时,我告诉其他玩家这个家伙开枪了,这是他开枪的地方。
我认为乒乓球也是如此。甚至不要尝试。你可以做的是当球员击球时得到球的运动
vector
。然后用光子把vector
给另一个球员,现在另一个球员可以自己模拟球和它的运动。网络不需要完全跟踪它,因为我们已经知道球是如何运动的,因为我们定义了它的物理。