2、Canvas Components 所有 UI组件都放置在画布Canvas上。 CanvasGroup CanvasRenderer Reference Resolution Physical Resolution
2.1 CanvasProperties Screen Space - Overlay Set
Screen Space - Camera Set
World Space Set
Property: | | Render Mode | 方式: UI呈现到屏幕上或作为一个对象在 3D空间(见下文)。选项是Screen Space - Overlay, Screen Space - Camera and World Space. | Pixel Perfect (Screen Space modes only) | | Render Camera (Screen Space - Camera mode only) | | Plane Distance (Screen Space - Camera mode only) | | Event Camera (World Space mode only) | | Receives Events | |
Description 一个画布上为所有的 UI元素是足够,但在场景中有多张画布也是可能的。这也是可能使用嵌套的画布,一张画布的位置作为一个孩子的另一个用于优化的目的。一个嵌套的画布使用的呈现模式和其父相同。 传统上,Ui呈现好像他们是直接在屏幕上绘制简单的图形设计。即是说,他们有没有被一个摄像头查看一个 3D空间的概念。unity支持屏幕空间这种渲染,但是也允许在场景作为对象,根据的Render Mode属性值呈现Ui。可用的模式有Screen Space - Overlay, Screen Space - Camera and World Space.
Screen Space- Overlay 在此模式下,画布是缩放以适合屏幕,然后直接呈现到场景或照相机(即使在场景中没有摄像头,也将呈现 UI)的参考。如果更改了屏幕的尺寸或分辨率然后 UI将自动缩放以适合。UI将被绘制覆盖任何其他图形如相机视图。 Overlay UI rendered over scene objects
Screen Space- Camera 在此模式下,画布被呈现,如果它被画在一个平面[url=]plane[/url]对象在一个给定的相机前面一段距离。UI的屏幕大小并不随距离改变。如果屏幕的尺寸或分辨率或照相机视图截锥被更改,那么 UI会自动调整以适合任何 3D的场景中的物体,较近的相机比 UI平面呈现的 UI要近,同时在plane后面的对象将被遮盖。 Camera mode UI with scene objects in front
World space 这种模式下呈现的 UI,好像它是一个平面plane对象在场景中。然而,与屏幕空间-相机模式下的不同是,plane不需要面对镜头,可以是面向你喜欢的。可以使用其Rect Transform设置画布的大小,但其屏幕的大小将取决于拍摄的角度和摄像机的距离。场景其他对象可以pass behind,通过或在画布上。 World space UI intersecting scene objects 2.2 Canvas GroupProperties
Property: | | Alpha | | Interactable | 确定是否此组件将接受输入。当它被设置为 false的相互作用被禁用。 | Block Raycasts | |
2.3 Canvas RendererCanvas Renderer component画布上的渲染器组件将呈现包含在一个画布内的图形用户界面对象。 Properties Canvas Renderer画布上的渲染器没有属性暴露在检查器中的。
Description 菜单中可用的标准 UI对象(GameObject >Create UI)都有画布渲染器附加他们是必需的,用户自定义ui对象手动添加此组件。虽然有没有暴露在检查器,几个属性和函数中的属性可以从scripts - 访问请参阅 CanvasRenderer页面中的脚本引用的全部详细信息。 2.4 Reference ResolutionProperties
Property: | Script | Resolution | Match Width or Height |
2.5 PhysicalResolutionProperties
Property: | | Script | | Unit | | Default DPI | |
|