网站建设维护公司,封装系统如何做自己的网站,wap网站定位,智慧城市建设评价网站参考文档#xff1a;画布 - Unity 手册
Canvas组件#xff1a;画布组件是进行 UI 布局和渲染的抽象空间。所有 UI 元素都必须是附加了画布组件的游戏对象的子对象。 参数#xff1a; Render Mode 渲染模式#xff1a;Screen Space - Overlay、Screen Spa…参考文档画布 - Unity 手册
Canvas组件画布组件是进行 UI 布局和渲染的抽象空间。所有 UI 元素都必须是附加了画布组件的游戏对象的子对象。 参数 Render Mode 渲染模式Screen Space - Overlay、Screen Space - Camera、World Space。 Pixel Perfect是否应该无锯齿精确渲染 UI Sort Order渲染层级 Target Display输出屏幕目标Display 1 Additional Shader Channels额外的着色器通道
Screen Space - Overlay 画布渲染于所有物体上方即最后渲染。并且不归于摄像机渲染因此即使没有摄像机也能渲染出UI。 画布宽高跟随屏幕宽高画布大小固定(1,1,1)位置屏幕居中覆盖整个屏幕。 画布下的子UI需使用锚点适配来适应不同大小的屏幕因屏幕变化后画布也会变化。
Screen Space - Camera 画布内容归于摄像机进行渲染。与正常渲染物体一样。 由于有2个摄像机因此有2个Render.OpaqueGeometry以及2个Camera.RenderSkybox。若将UI摄像机的Clear Flags从Skybox改为DepthOnly则会减少1个Camera.RenderSkybox。 UI渲染主要位于Render.TransparentGeometry中 Image默认材质着色器UI/Default会将渲染目标交到TempBuffer 355 1920*1080目标着色器是支持SrcAlpha OneMinusSrcAlpha的常见透明因子混合并存在深度测试小于等于()不写入深度。一般情况透明物体是不开启深度测试的而这里开启的目的是为了能被3D物体遮挡
规范做法 主摄像机屏蔽UI层渲染 UI摄像机仅渲染UI层
将3D物体设置到UI层
此时若想把Cube渲染在UI之上那么就是直接放到Canvas物体前面即可。 Canvas距离UI摄像机的距离由下图参数Plane Distance决定默认100 若放在Canvas后面则是被遮挡。 UI摄像机不一定是正交的即使换成透视视角依然是保持正常的UI显示画布会缩放大小并3D物体以透视视角渲染出来。 但透视视角会有更大的开销用于裁剪一般情况下都是正交视角节省开销。注意事项不要试图用主摄像机去渲染在参与UI排序的3D物体若使用主摄像机渲染这个3D物体是绝对位于UI之下的因为主摄像机的深度缓冲区被UI摄像机清空了UI摄像机开始渲染时所有UI像素都会正常通过深度测试所以就肯定会渲染在3D物体之上。正常就应该是交给UI摄像机渲染UI摄像机渲染时正常3D物体会先被渲染深度写入后UI物体再参与渲染时就会正常通过深度测试将被3D物体遮挡的像素过滤掉呈现出3D物体在UI之上的。
World Space 它同样可以指定一个摄像机专门负责渲染画布。但区别于Screen Space - Camera画布的位置、旋转、缩放均不会随着屏幕、摄像机变化而变化它就变成和普通的3D平面物体一样看待。