碰撞组件之间碰撞。出现反弹现象要怎么实现

一个英雄往前冲的时候,碰到障碍物的时候,碰撞之后要出现反向位移。这个要怎么实现

人物和障碍物都加上刚体,加大刚体的弹力,减少阻尼,就有这个效果了,就像弹力球一样。人物移动不能用位移,要用物理的力移动。

哦哦哦,这样。这个跟我的业务逻辑有点不符合。我是需要改变人物的y轴。用碰撞来实现

,可以看一下这个图

你用位移+碰撞检测来实现起来比较麻烦,如果不是垂直相碰呢,你还得计算反弹的角度,还有反弹的力度。用物理碰撞的话他都自动给你计算好了,运行起来也逼真一些。

你说的这个我也考虑过。但是在后面的业务逻辑也会出现问题。一个父节点,然后有两个子节点带有静态刚体的,我旋转这个父节点。子节点不会动。使用同步api也会遇到问题耶

对,加了刚体后就不会跟随父节点运动的。那只能另外想办法了。

直接用碰撞呗,弄个往后退的动画就好

现在就是全部都用碰撞来做,但是目前疑惑点,是不知道怎么去做碰撞完之后的,英雄的反向位移移动

碰到了,播放动画.至于动画是怎么样,就需要自己调了

现在的动画就是人物倒下去,但是整体的人物是需要出现那种物理的回弹移动的。

弄个减速度,往后退几步,然后倒下,over

简单一点的就是你往哪个方向移动而碰撞的,就往那个方向的-180度方向做一些位移就行了

那这个我得去拿到碰撞时候的点。然后确认方向,在给人物设置动画的位移过去?

向量乘个-1,就是相反的方向,你移动的时候不是有方向吗,

Aug-04-2021 16-57-19

就你这个效果我感觉已经可以了,不用再做反弹了。

这个不是我做的哈,这是我要模仿做的哈。我就不知道不知道这个怎么做到这样的效果的