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

 欢迎加入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扫描二维码加群

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值