
如图:物体a(非刚体)碰撞后旋转一定角度,不能用Vector3.Reflect,reflect是按照法线镜像反射出去。
简而言之就是希望物体碰撞后,其前进方向能旋转一定角度,而且这个角度要向碰撞点法线指示的方向靠拢。
使用的情形:主角(不带刚体)与公路两边护栏(弯道)的碰撞转向。
目前的思路:
1:公路两边的护栏分别加上tag,先判断方向,前进或者后退,然后通过tag判断碰撞到的护栏,左边或者右边,对每种情况下主角的transform作出旋转。
2:碰撞时先用临时变量记录主角的角度,然后对临时变量进行计算,比如使之旋转一定的角度,计算旋转后的角度向量与法线向量的夹角,夹角小的作为碰撞后主角真正的前进方向。
但是第二种方式不知道怎样用代码实现,或者还有什么其他的方式?主要是想让所有情况的碰撞:护栏左边右边,主角前进后退的碰撞,都能用同样的逻辑实现,不需要分情况对待。
万能的吧友!怎么破?