应该在“开始”,“更新”或“固定向上”功能中对刚体施加力

时间:2018-08-01 13:17:46

标签: c# unity3d game-physics

我是Unity新手。

我有Rigidbody2D,我想向播放器中添加常量velocity。 我想知道在Rigidbody2DStart(或Update)中对FixedUpate施加速度时

有什么区别或优点/缺点或野兽实践

当我在开始时应用速度时,一切工作正常,那么为什么我们每帧都增加速度(Update方法)?

1 个答案:

答案 0 :(得分:3)

  

我想为播放器添加恒定速度。

在这种情况下,Start函数被取消了,因为仅当脚本启用了GameObject并且启用了脚本时才调用一次。如果您需要一遍又一遍地施加压力,那么Start函数就不应该使用。

Update函数用于每帧执行任何操作。例如,每帧手动移动对象。

FixedUpdate函数用于对<a (click)="redirectTo('home.html')" class="myClass1 myClass2"> <a (click)="redirectTo('myProfile.html')" class="myClass3 myClass4"> <a (click)="redirectTo('aboutUs.html')" class="myClass1 myClass2"> <a (click)="redirectTo('gallery.html')" class="myClass3 myClass4"> 进行操作,这包括在每个固定帧上对其施加作用力。这是您需要使用的,因为您正在对Rigidbody对象做某事。

您未提及的另一个功能是LateUpdate函数。当您要使GameObject跟随摄像机时使用此方法,因为它是在调用所有Rigidbody函数之后调用的。


Unity还具有ConstantForce实用程序,可简化向Update添加恒定力的过程。有了它,您就可以在Rigidbody函数中向ConstantForce添加一次力,它将处理其余部分,直到您更改力为止。

Start