创建了两个摄像头,一个渲染游戏背景,一个渲染游戏内容,clearflags都设为DepthOnly了,结果永远只出现其中一个摄像头的内容,还有一个bug,随便设置两个摄像头的渲染层,也就是Visibility属性,修改其中一个,另一个的Visibility也跟着改,两个的Visibility最终都是一样的
麻烦给出具体的摄像头配置
场景里有两个3D对象A和B。
A的layer = DEFAULT;
B的layer = UI_3D
场景有两个摄像头Camera1,Camera2
先设置 Camera1:clearflags = DEPTH_ONLY; Depth = 0; Visibility 只勾 DEFAULT;
再设置 Camera2:clearflags = DEPTH_ONLY; Depth = 1; Visibility 只勾 UI_3D;
这时再展开Camera1的Visibility观察,发现变成和Camera2的Visibility 一样,只勾UI_3D,之前设置的勾选DEFAULT没有了。
并且显示Camera1的内容就不显示Camera2的内容,Camera2的内容就不显示Camera1的内容。谁的Depth大就显示谁
回复
回复为联结主题
还有一个bug,随便创建一个空场景,点开里面的摄像头的Visibility属性,这时会默认勾选,IGNORE_RAYCASE, UI_3D, DEFAULT这三项,随便修改勾选项,然后点击运行,进入游戏浏览器页面,再从浏览器回到编辑器,再点击摄像头的Visibility属性展开观察,发现勾选的还是默认的这3个IGNORE_RAYCASE, UI_3D, DEFAULT属性,之前的修改又被重置了。这个Visibility完全改不了
还有随便修改一个场景的摄像头的Visibility的勾选项,再打开别的场景,然后再点击回到这个场景,再点开摄像头的Visibility属性,发现又变成那三个默认值,证明摄像头的Visibility值的修改没有被保存,应该和上面的是一样的问题
关于 visibility 的修改确实有问题,会在新版本修复,运行时靠代码来修改
现在这个版本确定是用不了双摄像头了吗,理论上就算两个摄像头visibility一样,场景里的渲染的内容应该出现两次叠加,但是目前只能出现Depth值最大的那个摄像头的渲染
不是用不了,是我们不应该开放 depth 给你们修改,这个跟底层有关,你 depth 用默认的就好
每个摄像头的depth默认值都是1,不修改怎么优先渲染哪个摄像头的。unity搞多摄像头,只要把主摄像头以外的摄像头的clearflags 设为 DEPTH_ONLY,并修改Depth做为渲染顺序,还有设置Occlusion Culling指定摄像头渲染哪个层的物体,设置这3步就可以用多摄像头了。
应该是修改 priority 作为渲染顺序,depth 指的是用来刷新 depth buffer 的默认值