您的位置:首页 > 移动开发 > Unity3D

unity3d中摄像机只看对应的对象.

2015-12-18 16:30 274 查看
有时要做一个效果就是背景图在动,但是背景图上面的一些UI是不动,然后就可以用多个摄像机来实现了.

1、新建一个ngui Texture作为背景,当然这里也可以是其他对象.



然后在检视面板的右上方有个layer.点击它会显示好多layer供选择,这里新建一个back.并把新建的背景图的layer改为back,

(PS,在这里我遇到了问题导致我弄这个的时候搞了很久,原因就是:UIRoot的layer是defualt,然后我修改back对象的layer,运行过后back对象的layer又变成了defualt.导致后边的指定摄像机看不到背景.这可能是u3d要保持跟父对象一致层的原因吧.)

点击UIRoot下的camera



修改Clear Flags的值为Depth only.(用深度来渲染).

修改Culling Mask中的值,改为back.这个camera的layer无关紧要.

修改Projection的值为Orthographic(正交视图).

修改Depth的值,按需要来修改就好,值越大的看到的越上.



然后新建一个Plane,为什么呢?为什么不新建一个Texture来继续做背景呢,这里的用的插件是ngui,我如果创建新的ngui对象,u3d会自动把该对象放到UIRoot下,然后就无法改动该对象的layer值了,所以新建了一个Plane(平面),然后把需要的背景直接托给Hierarchy面板中的Plane对象,结果如图:



要修改的值有Shader(着色器),改成如图就好,因为如果默认的话在某些角度看不见,camera也捕捉不到。。。

最后修改它的layer值.

新建一个backCamer摄像机,参数如图:



修改如背景图.只是这里的Culling Mask要改成Plane的layer的值,这样就对应起来了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: