fixedUpdate 能解决一些刚体运动碰撞的
fixedUpdate 能解决一些刚体运动碰撞的
碰撞检测
1 添加碰撞器,运动的一方最好有刚体(必须有一方有) 经常性不运动时刚体会休眠
2. 2D与3D 碰撞器不一样
3。最好直接在预制体上操作
4 添加刚体 2D给玩家,记得把重力调为0
把所有map预制体都加上碰撞器(草不用) 小技巧 全选后一起加
穿模问题 碰到map时方向乱套(受到旋转力) 将player刚体中的constraints 勾选Z轴
沿墙走时抖动(帧时间不同问题) 在玩家代码中 添加FixedUpdate(固定物理帧) 把所有有关移动的方法移到里面
并将Tima.deltaTime 改为Tima.fixedDeltaTime注意D大写
print(hello)
1.发生碰撞 双方必须都要有碰撞器 至少一方拥有刚体 最好是运动的一方
帧
都要有碰撞器,一方要有刚体,最好是运动的
发生碰撞的条件:
两个发生碰撞的物体都有碰撞器;
其中一方有刚体组件,并且最好是运动的
一旦一个刚体以低于某一最小线性或旋转速度运动,物理引擎就会假定它已经停止。当这种情况发生时,对象将不会再次移动,直到它收到碰撞或力,所以它将被设置为睡眠模式。
Update受当前渲染的物体影响,帧与帧的时间间隔不固定
FixedUpdate帧与帧的时间间隔固定,因此些物理属性的更新操作应该放在FxiedUpdate中操作,比如Force,Collider,Rigidbody等。外设的操作也是,比如说键盘或者鼠标的输入输出Input,因为这样GameObject的物理表现的更平滑,更接近现实。
碰撞条件 :两个发生碰撞的物体身上都要有碰撞器,其中一方身上要有刚体(这一方最好是运动的一方 因为物体长时间不运动 刚体组件会产生休眠 休眠之后就不会发生碰撞)
碰撞
box
刚体
ridibody
对于刚体碰撞抖动的问题,因为Time.deltaTime 所应用的每一帧的运行和电脑性能有关,导致时间不同所受的力也不同 要用FixedUpdate固定 物理帧的更新函数解决问题。和Time.fixedTime
FixedUpdate
fixedDeltaTime
碰撞器的条件:要有刚体,一方是运动的(有时会休眠)
抖要放入fixupdat里
有关刚体的代码尽量都放到FixedUpdate()中,可以解决大部分问题
碰撞检测:双方都有碰撞器(box collider 2D)
运动的一方设为刚体(rigidbody 2D)
两个发生碰撞的物体一定都要有碰撞器其中一个要有刚体
碰撞检测。
2d 3d碰撞体,区分开。
防止一个运动体旋转, 刚体的constrations z轴给它锁上。
抖动。
fixedUpdate 固定物理帧,匀称。会有物理上受力的影响。就不会抖动了。刚体放到这里来。。
Rigibody2d fixed
碰撞
两个物体身上有碰撞器
其中一方是刚体 一般在运动的一方上
因为刚体会休眠 就不会发生碰撞jian'c
FixedUpdate():固定物理帧;每帧都是执行固定的;
固定物理帧
private void FixedUpdate(){添加刚体物体的所有指令}
发生碰撞的两方要有碰撞器,其中任意的一方要有刚体,而这 有刚体的一方最好是运动的一方。