[Unity] LQ转载--Unity3D基础13:给物品添加力

查看:490 |回复:0 | 2021-6-12 17:47:37

您需要 登录 才可以下载或查看,没有账号?注册

x
一、给物体添加力
两个方法:
Rigidbody.AddForce(Vector3,ForceMode):给刚体添加一个力,让刚体按世界坐标系进行运动
Rigidbody.AddRelativeForce(Vector3,ForceMode):给刚体添加一个力,让刚体按自身坐标系进行运动

注意:物体运动过程中自身坐标系可能随时发生改变(例如球滚动),这就意味着按自身坐标系运动方向可能会随时发生变化
Vector3:力的向量,ForceMode:力的模式(枚举类)

四种力的模式(Ft=mv):
1)ForceMode.Force:给物体一个持续的力
2)ForceMode.Acceleration:给物体一个持续的加速度,但是忽略其质量,质量被默认为1
3)ForceMode.Impulse:给物体添加一个瞬间的力
4)ForceMode.VelocityChange:给物体添加一个瞬间的加速度,忽略其质量

360截图-94655281.jpg


二、FixedUpdate()固定更新方法
要知道正常游戏1帧=1次动画渲染,当你显卡不行,那么1秒可能只有20帧,如果追求极致,1秒可以144帧,也就是每帧不固定,这个时候就需要固定刷新时间/方法调用时间。特别是:在Update()方法中执行物理操作,会出现卡顿的情况

这样,所有和物理相关的操作,代码都要写在 FixedUpdate() 方法体内
FixedUpdate() 的固定更新的时间间隔是0.02秒,也就是1秒执行50次。

手动设置方法:Edit→Project Settings→Time面板,里面的Fixed Timestep参数即是时间间隔

20190203173512907.png

正确代码:



效果如下:



————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/86759794


2021-6-12 17:47:37  
 赞 赞 0

使用道具 登录

0个回答,把该问题分享到群,邀请大神一起回答。

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表