您当前的位置: 首页 >  unity

幻世界

暂无认证

  • 0浏览

    0关注

    237博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Unity开发小技巧】Unity模型和粒子显示在UI前面的处理

幻世界 发布时间:2021-08-28 14:08:11 ,浏览量:0

 欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群

最近群内有小伙伴在咨询模型粒子和ui的混显问题,看提问的问题说明群友也是查过一些资料的,但是还是不能满足他的需求,博主就此问题在这分享一下。

方式一:

模型显示在ui前面,其实有很多做法,主要还是看自己项目的实际需求比如最简单仅仅只是在ui面前展示模型的话,只需要新建个单独只渲染当前模型的相机通过RenderTexture传递到RawImage再调整rawimage 的渲染层级就可以显示出来,这种方式呢只是显示模型而已并不能跟模型实际交互,但是可以设置中间事件的传递(不推荐)具体流程细节如下: 1.把模型放进场景后设置专属的layer层级 2.创建新camera调整到模型指定的渲染位置 3.设置新相机的CullingMask:只渲染你的模型层,原有的渲染层取消这个模型层 4.创建RenderTexture并赋值给渲染模型的相机的TargetTexture属性 5.创建rawImage并把刚才创建的RenderTexture赋值给rawImage的Texture 6.这样模型就显示在ui前面了

 方式二:

第二种方式呢就是很直接的把canvas设置为WorldSpace,调整Canvas和模型的世界位置就行,操作很简单但是适用场景很少,一般用来做vr项目(不推荐)

 方式三

这种方式才是我今天真正推荐和分享的, 1.Canvas的renderModer设置为ScreenSpaceCamers,把相机赋值给RenderCamera

2.创建两张image,场景放入模型和粒子为canvas的子节点并设置新的渲染层为UI 3.给Image添加Canvas组件并设置order in Layer层分别为0,2 4.把粒子的orderinLayer层设置为1

5.然后调整模型和ui的postion的z值

6.就可以把模型和粒子显示在ui层之上

 7.中间会有个小问题设置为相机模式的Canvas,在下面创建按钮进行交互的时候无效这时候我们需要在交互按钮上添加GraphicRaycaster组件,这样ui事件就可以被检测到了

欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群

关注
打赏
1660704426
查看更多评论
立即登录/注册

微信扫码登录

0.0370s