当前位置:   article > 正文

Unity项目使用静态图片做背景_unity 给某个模型加背景图片

unity 给某个模型加背景图片

转自:https://segmentfault.com/a/1190000008505014

此方法可以解决UGUI使模型显示在背景UI之前的问题。

问题

Unity中常见的背景设置为固定颜色或者天空盒,如下图所示:

 

天空盒可以设置背景材质,但是背景跟跟随摄像机镜头的变化而运动,不能做到固定下来

思路

使用两个摄像机,一个固定观察指定的图片,另一个观察三维场景,通过分图层来把两个摄像机的内容叠加显示在Game视图中

解决方案

新建摄像机

新建一个摄像机,命名为BackgroundCamera

新建Ui图片

新建一个Canvas,命名为BackgroundCavas,其下再新建一个UI Image,命名为BackgroundImage

新建图层

先任意选中一个对象,新建一个Layer,

命名为Background,

 

并且把刚才新建的相机,Canvas和Image都放到这个Layer中

设置相机属性

先设置背景相机(BackgroundCamera),

再设置主相机,在Culling Mask中去掉Background图层

设置背景图片和背景相机的关系

选中BackgroundCanvas,设置其属性

注意Render Mode选择 Sceen Space - Camera, 然后Render Camera选择BackgroundCamera

设置背景图片

把图片类型设置为平铺,并且把图片的长宽设置为足够大(超出屏幕分辨率范围即可)

方法二:

建一个背景canvas,设置好背景,canvas的RenderMode调成ScreenSpace-Camera,然后把主摄像机赋值到RenderCamera即可。

注意此方法在多场景叠加下需要修改一下,在叠加的场景上得到这个背景canvas,然后再叠加场景中某脚本start方法中加入以下代码:

  1. private Canvas BGcanvas;
  2. // Use this for initialization
  3. void Start () {
  4. //得到主场景的背景canvas
  5. BGcanvas = GameObject.Find("BGCanvas").GetComponent<Canvas>();
  6. BGcanvas.worldCamera = Camera.main;
  7. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/111152?site
推荐阅读
相关标签
  

闽ICP备14008679号