2019-08-02Unity5实现在一个主窗口有多摄像机窗口显
如标题:实现多摄像机显示于一个游戏运行窗口功能.
1.假设我要在游戏运行窗口要有一个是显示俯视图,第二个窗口显示某个物体的第一人称视角。
那么就需要创建一个新摄像机名叫PersonViewCamera来显示第一人称视角,MainCamera自带的摄像机显示俯视图,将PersonViewCamera和MainCamera的Camera组件中的Target Display都设置为Game窗口的Display模式,一般默认是Display1,然后设置Depth,Depth的意思是深度,摄像机窗口深度,你可以想象成摄像机显示的窗口是在一个三维空间,谁在前面谁就会遮挡住后面的窗口,例如:我把俯视图放在第-1层,俯视图是MainCamera,将它的Depth=-1;(注意:这个-1只是表示深度是在-1层,没有另外一个摄像机的话,这个值你随意设置),然后我把显示第一人称的窗口放在第0层,就是设置PersonViewCamera的Depth=0(默认就是0)。
那么想象一下,你从空中往下看,下面第0层有一个摄像机窗口显示的是第一人称,第-1层显示的是俯视图,就会出现这种效果,第0层会挡住了第-1层!!
那么怎么才能设置好不挡住呢?我们可以设置每一层的显示窗口范围啊!!
你想2个都完全显示出来你就自己想办法,应该怎么样缩放2个窗口的范围,才可以恰好显示出2个窗口视图。
调整窗口的大小方法:在Camera组件的Viewport Rect属性调整(x,y)显示位置和显示窗口宽度W和高度H,范围是0~1之间 [PS:左下角为(0,0)].
总结:
1.设置Camera物体的Camera组件的Target Display(全都相同)原因:同一个游戏运行窗口!!!
Camera1 Camera2
2.设置Camera物体的Camera组件的Depth(深度),官方解释:Depth相当于渲染优先级,Depth1>Depth2
Camera1低级,Camera2高级
从深度方面理解:由低层往高层渲染
3.设置Camera物体的Camera组件的Viewport Rect(位置(x,y),范围(宽度,高度))(简单)