直接分配速度与AddForce()

奥利维尔·庞斯(Olivier Pons)

您有大量的教程,以及有关应用速度,模拟跳跃的评论,它们都是矛盾的。例如,阅读youtube中的“用四行代码更好地实现统一跳跃”中的评论,有人说您应该避免直接分配速度。

这就是我想要做的,(=仅使用AddForce()),并且他们(Unity团队)添加了另一种强制模式,因此这里是可用的选项:

public enum ForceMode
{
    /// <summary>
    ///   <para>Add a continuous force to the rigidbody, using its mass.</para>
    /// </summary>
    Force = 0,
    /// <summary>
    ///   <para>Add an instant force impulse to the rigidbody, using its mass.</para>
    /// </summary>
    Impulse = 1,
    /// <summary>
    ///   <para>Add an instant velocity change to the rigidbody, ignoring its mass.</para>
    /// </summary>
    VelocityChange = 2,
    /// <summary>
    ///   <para>Add a continuous acceleration to the rigidbody, ignoring its mass.</para>
    /// </summary>
    Acceleration = 5,
}

我要问的不是基于意见的,而是:什么时候什么时候直接分配速度?

如果我没记错的话,那似乎可以VelocityChange直接分配速度。

是的,我有RTFM,但我不理解他们的样本(它使用的样本GUI.Button正式被认为是过时的...)。

朱尔克斯

这完全取决于您想要游戏的感受。如果直接分配速度,则可以非常严格地控制对象的移动方式,而如果使用力,则可以基于对象的质量获得更逼真的运动。

例如:如果您要制作一个节奏非常快的游戏,其中抽动输入很重要,那么您可能应该直接分配速度。

另一种选择:例如,如果您制作一个游戏,将球滚来滚去,并且想用不同质量,不同质量的材料制成的球,那么您可能想用力使运动变得可信。

另外,您正确使用AddForcewithVelocityChange等效于直接分配速度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章