【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。
然后将上述关键代码放在每帧执行即可实时调整血条的方向使其永远面向屏幕正方。

最终效果展现:
请添加图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值