我是Unity新手.
我有Rigidbody2D,我想给我的播放器增加恒定的速度.
我想知道在开始或更新(或FixedUpate)中将速度应用于Rigidbody2D时有什么区别或优点/缺点或野兽实践
当我在启动时应用速度时,一切正常,那么为什么我们每帧都增加速度(Update方法)?
解决方法:
I want to add constant veLocity to my player.
在这种情况下,取消了Start
函数,因为仅当脚本启用了GameObject并且启用了脚本时,才调用Start
函数.如果您需要一遍又一遍地施加压力,则不应该使用Start
功能.
Update
函数用于每帧执行任何操作.例如,每帧手动移动对象.
FixedUpdate
功能用于对刚体执行某些操作,这包括在每个固定框架上对其施加力.这是您要使用的,因为您要对Rigidbody对象进行操作.
您没有提到的另一个功能是LateUpdate
功能.当您要使GameObject跟随摄像机时使用此方法,因为在调用所有Update函数之后才调用它.
Unity还具有ConstantForce
实用程序,可简化向刚体添加恒定力的过程.有了它,您可以在“开始”功能中向ConstantForce添加一次力,它将处理其余部分,直到您更改力为止.
ConstantForce2D cForce = targetobj.GetComponent<ConstantForce2D>();
cForce.force = new Vector2(0, 100);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。