宇宙飞船的玩家

时间:2015-08-17 03:12:28

标签: unity3d game-engine game-physics space rigid-bodies

我想在Unity3d引擎上实现太空游戏。虚空中有一些巨大的宇宙飞船。因此,我希望玩家在失重状态下在太空中飞行,但当他们进入任何宇宙飞船时,他们将受到宇宙飞船局部重力场的影响(如果它处于On状态)。
我将使用适用于addForce()玩家的rigidbodies函数朝向宇宙飞船地板进行此操作。但是通过这种方法,玩家只会放大到一个楼层,但不能自动停留在他们的脚上。
我怎样才能把他们放在最好的方式?
或者也许,任何人都知道解决这个自定义重力场问题的完全不同的方法吗?

它:这将是一个多人游戏,许多船只在太空中有不同的方向,其中有很多玩家。每艘船都有自己的重力场。

2 个答案:

答案 0 :(得分:0)

假设它将是在线多人游戏 你可以改变客户的重力(本地玩家)
并为网络上的其他玩家禁用useGravity 因此,无论方向如何,你都会受到重力的影响 但其他人都受到“Side”上的重力影响 (假设它们的移动由客户而不是服务器或主机处理) 这可能会导致浮动对象出现问题。
如果您使用简单的addforce,那么现在可能足以用于创建或任何对象。

答案 1 :(得分:0)

因此,我考虑自己应用引力。请注意,重力是一种加速度,而不是一种力量。应用时的含义我使用“ForceMode.Acceleration”。这种加速可能只是与当前宇宙飞船的向上方向完全相反。我在说太空船的“-transform.up”。我也可以使用相同的向上矢量,旋转播放器,以便重力实际感觉正确,又名。球员脚指向重力。