访问手机版

扫描体验手机版

游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-24:00

    客服QQ

    706393200

    电子邮件

    kninebox@163.com
  • KNINEBOX刀盒APP

    即将上线,敬请期待

  • 扫描二维码

    进入手机版

推荐阅读 更多
最近评论
热门专题

[教程相关] 还有个问题,我在场景中新建了一个表示人物的空对象

[复制链接]
123456790 发表于 2024-5-7 14:10:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
然后给这个空对象添加了animator,刚体,碰撞器等组件,一切正常,我然后想用那个ui对象slider充当人物血条,想把slider作为人物的子对象,但是,人物实在场景里。而slider要在canvas下,这两个层统一不到一起啊,感觉这不合理吧?总不能一切都放在画布下吧。感觉再建个新画布给人物专用也一样不合理啊。
回复

使用道具 举报

精彩评论10

poney 发表于 2024-5-7 14:11:06 | 显示全部楼层
建两个场景,然后把这两个场景创联在一起
回复

使用道具 举报

麻辣鸡翅 发表于 2024-5-7 14:11:36 | 显示全部楼层
可以在人物里创建一个子物体里面创建一个画布,将画布设置成world什么的,讲画布看向摄像机,但是视角偏的话,血条会斜一点
回复

使用道具 举报

唰唰冷呵映 发表于 2024-5-7 14:12:30 | 显示全部楼层
方法1画布作为world
方法2将人物血条世界位置转为屏幕位置
回复

使用道具 举报

慧眼识英雄1 发表于 2024-5-7 14:12:51 | 显示全部楼层
画布没更新吗
回复

使用道具 举报

永远爱你冰塘 发表于 2024-5-7 14:13:46 | 显示全部楼层
人物位置转屏幕位置。血条放画布中一直跟随屏幕位置
回复

使用道具 举报

我爱霍启刚掖 发表于 2024-5-7 14:14:02 | 显示全部楼层
可以试试获取角色的世界坐标位置转屏幕坐标
Vector3 屏幕坐标 = Camera.main.WorldToScreenPoint(角色的世界坐标);
这样获取的屏幕坐标x和y值是在屏幕上的位置,z值是距离屏幕的距离(深度)。如果z值为正则位置在屏幕前方,z值为负位置在屏幕后方,为负则不应该显示UI。
然后再通过RectTransformUtilities类静态方法(https://docs.unity3d.com/ScriptReference/RectTransformUtility.html)转为在UI Canvas下的本地坐标,将血条ui组件的坐标与之同步。
回复

使用道具 举报

 楼主| 123456790 发表于 2024-5-7 14:14:34 | 显示全部楼层
感觉以上回答都不太对吧,2d人物算精灵,血条应该算人物的子物体,这么想没毛病吧
回复

使用道具 举报

我爱霍启刚掖 发表于 2024-5-7 14:15:11 | 显示全部楼层
再建个画布是可以行的,没啥问题
回复

使用道具 举报

计划你大爷计j 发表于 2024-5-7 14:15:50 | 显示全部楼层
直接用spriterenderer弄血条就是了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站发布的mod均为免费mod以及本站原创mod,所有作品仅供交流和艺术拍照使用,请勿使用本站捏脸数据拍摄和制作国家法律法规禁止的内容发布到网络。本站捏脸数据及mod不作为商业用途,仅以赞助钻石的形式作为大家对作者手工劳动的认可。

声明:本站部分内容来自网络站点所提供的公开引用资源,作品版权归原作者所有 禁止商用 违者必究。

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc. KNINEBOX