Unity的画布和相机

xiaoxiao2021-03-01  41

相机参数

Viewport Rect

如果X+W(Y+H)大于1,则W=1-X(H=1-Y)。

 

 

实战:将三维模型渲染在UI之前

       在开发MMO游戏时,经常会有人物(装备)预览界面,往往需要实现在UI上显示人物模型或装备等其它对象的需求。在Unity中可以通过下面的方法实现这个这种需求:

将UI所在的画布的渲染模式选择为Screen Space-Camera,并设置一个专门负责渲染UI和显示模型的渲染相机(Render Camera)。在Screen Space-Camera模式下,渲染相机会被置于画布的前方,渲染相机与画布之间的对象。负责渲染UI和显示模型的相机(在这里称之为UI相机,UI Camera)的参数设置为 Clear FlagsDepth onlyCulling MaskUI(这里UI和显示模型的Layer都设成UI)Depth0(大于下面的相机的Depth值即可) Clear Flags设置为Depth only则相机根据对象的深度值进行遮挡剔除(位于前面的物体会遮住后面的物体),因此将显示模型放在UI前面即可将其渲染在UI的前方。Culling Mask和UI、显示模型的Layer保持一致即可,这样UI相机会只渲染UI和模型。Depth设置为所有相机中的最大值,保证UI相机的渲染结果处于屏幕的最上层(Unity按相机的Depth值从小到大的顺序进行渲染)。渲染场景中其余对象的相机的参数设置为 Clear FlagsSkyboxCulling MaskEverythingDepth-1 这里的参数只作参考,具体值可根据实际开发的需求进行设置。

 

实战:GameObject相对手机屏幕的宽度大小

        在camera的projection参数为orthographic的情况下,屏幕的x坐标的最大值为xMax = size * width / height,其中,size为camera的size,width x height是手机的分辨率。从结果上看,宽高比越大的手机上,GameObject相对手机屏幕宽度的大小越小。

 

参考资料

Unity UGUI 原理篇 (一):Canvas 渲染模式

【Unity3d游戏开发】浅谈UGUI中的Canvas以及三种画布渲染模式

如何强制我的多个相机按照特定顺序进行渲染?

深入讲解:在Unity中使用多个相机 - 及其重要性

关于Unity Camera的一点小小总结

unity5 Orthographic模式相机视截体尺寸计算

Unity2D 背景图铺满与Camera.Size的计算公式

AssetBundle下rendertexture问题

转载请注明原文地址: https://www.6miu.com/read-4150059.html

最新回复(0)