这个在端游上比较场景在角色展示的时候,当摄像头在角色身边上下左右旋转时角色头部跟随镜头旋转。如天涯明月刀等
这个在手游上比较少见,不过实现也没什麼区别
首先一般情况下,找到模型的头部节点直接用lookAt指向camera就可以了,不过一般需求不会这么简单
比如说,超过头部扭动极限头部需要插值回到原始点;当镜头从外部回到极限内,需要插值回来这时候lookat就没法使用。
更有情况头部本身坐标系不在世界坐标轴上, 可能旋转了90多或者输出的prefab就是歪的等等这些情况都没办法使用lookAt。
两者就像网上所说各有好坏
欧拉角的值就是在unity上inspector的值,非常直观
但是朂大的问题就是会死锁。并且这个没什么方法解决
如果使用的话方式是这样,直接赋值
但是这里会出现一个很严重的问题就是由于0度僦是360度。假如你从10度减到负数会自己换算成360度时,就是本来从10插值到-10.结果变成从10插值到350。
这时候能想象到,本来向左转的过程中突然头部反向旋转360度。。
所以就出现了上面的-180这个数
因为我发现,0度这个临界值在我的正前方而按照需求,我的正后方我是不需要旋转的所以我只要把临界值放到后面就好了。
所以在传过来的值中每个横向的拖动差值我都加了180度。
所以在最后旋转的时候就要减回來
*中间可以还有一些负数什么的问题,尽量都让他成正数去解决
因为是公司项目具体就不方便展示了。