0
点赞
收藏
分享

微信扫一扫

【unity3D】 分享学习路上的一些坑(二)——人物血条在行走时发生旋转;

问题描述

人物跑动的时候血条老是跟着转:
血条老是跟着转

分析

血条是2D的UI,人物奔跑旋转的时候会出现血条跟着旋转的情况,而2D旋转到一定角度会让其看起来是扁平的。
总之,解决方案就是需要让血条始终面向摄像机。

这里主要用的是Transform.LookAt,将UI所在canvas旋转到要对准的点的方向。
需要对准的点其实是屏幕,而屏幕是由相机捕捉的,即对准的应该是相机旋转角度正对方向的反方向。

关键代码实现如下:

        Camera camera = Camera.main;
        buildcanvas.transform.LookAt(buildcanvas.transform.position + (camera.transform.rotation * Vector3.back), camera.transform.rotation * Vector3.up);

buildcanvas是血条所在的canvas。
然后将上述关键代码放在每帧执行即可实时调整血条的方向使其永远面向屏幕正方。

最终效果展现:
请添加图片描述
有用的话可以点个赞自取,或者有其他方法的也欢迎评论里交流告知~

举报

相关推荐

0 条评论