Unity UGUI 让3D模型显示在UI前面进行英雄角色选择的两种方法和RenderMode的三种模式

 第一种方法

第一步  

在Project 下 新建一个RenderTexture  



第二步

新建一个游戏对象 我这里命名为 Img-player挂上一个RawImage 用来显示人物  拖入刚刚创建的 RenderTexture  


第三步

新建一个相机 

拖入刚刚创建的 RenderTexture  将模式改为下面的样子 Camera为正交 Orthographic  将模型拖入此相机的视野中 如果模型不清楚可以缩放

调下面的Size Far参数到合适程度  已把人物模型全包括 上下左右旋转也不出相机范围为佳


点击新建的相机 我们可以在场景预览图中看到显示的效果 



最后一步

调整宽高  此参数最好为 RenderTexture  size的一半


大功告成



是不是觉得很麻烦 下面要说到的第二种就简单多了 

 Canvas  render mode 选择为 Screen Space-Camera 

然后UICamera  为正交 Orthographic  然后人物模型新增一个Model Layer  将此层添加到UICamera中

这样可以被UICamera获取到  接着把模型至于Canvas前即可

两种方法原理不一样 自己按需选择最佳方法


为了便于大家理解 下面说说Canvas 的三种Render Mode 渲染模式 这里引用Unity5.X从入门到精通里的话

Screen Space-Camera:

画布以特定的距离放置在指定的相机前,UI元素被指定的相机渲染,相机设置会影响UI呈现

这句话有几个关键字 相机 指定的距离(自己调节) 指定的相机 (选择这个模式 需要我们拖入一个相机来进行渲染 )

也就是我们可以调整相机的参数  来达到显示各种渲染层的效果 也就是说 UI和3D等可以并存 并可以有效的调参数 这种模式下 我们需要设置相关的参数来达到一个好的显示


Screen Space-Overlay:

使画布拉伸以适应全屏大小,并且使GUI控件在场景中渲染于其他物体的前。如果调整屏幕大小或改变分辨率,画布将会自动地改变大小以适应屏幕显示。

这里面有几个关键字 屏幕 GUI控件 自适应  

 也就是说  UI会自动始终显示在屏幕最前方 并且调整参数是无效的  因为相机的深度是 此模式是以屏幕UI显示为重点

World Space  :

这模式就很简单的 和普通的物体没什么区别的 可以置于场景中 在3D物体前也可以在后






  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值