Graphics3DControl 类¶
使用 Vulkan API 渲染交互式 3D 模型,并允许用户使用鼠标和键盘导航场景。
命名空间: Eremex.AvaloniaUI.Controls3D
程序集: Eremex.Avalonia.Controls3D.dll
NuGet 包: Eremex.Avalonia.Controls3D
声明¶
构造函数¶
| 名称 | 说明 |
|---|---|
| Graphics3DControl() | 初始化 Graphics3DControl 类的新实例。 |
属性¶
| 名称 | 说明 |
|---|---|
| AllowDefaultLight { get; set; } | 获取或设置当场景没有自己的光源时,是否使用附加到相机的默认光源。 |
| AvailableMultisamplingModes { get; } | 获取运行控件的图形设备所支持的多重采样模式。 |
| AxesCenter { get; set; } | 获取或设置坐标轴和网格经过的点。 |
| AxisLength { get; set; } | 获取或设置坐标轴的长度。未设置值时,坐标轴与场景大小相匹配。 |
| AxisThickness { get; set; } | 获取或设置坐标轴的宽度(以像素为单位)。 |
| Camera { get; set; } | 获取或设置定义场景视图的相机。未分配相机时,控件使用自己的透视相机渲染场景。 |
| CompositionMode { get; set; } | 获取或设置如何将渲染图像与 Avalonia 合成器组合。 |
| CoordinateSystem { get; set; } | 获取或设置定义场景几何体的坐标系的手性。该值决定相机 Z 轴的方向,从而决定旋转、平移和缩放的方向。 |
| CullMode { get; set; } | 获取或设置在光栅化之前丢弃哪些三角形面。 |
| Exposure { get; set; } | 获取或设置在色调映射期间应用于图像的曝光乘数。值越大,图像越亮。 |
| Gamma { get; set; } | 获取或设置在色调映射期间应用于图像的 gamma 值。值越大,图像越亮。 |
| Gizmo { get; set; } | 获取或设置在控件顶部渲染的方向指示器。 |
| GridSpacing { get; set; } | 获取或设置网格线之间的距离。未设置值时,网格被分成十等份。 |
| GridThickness { get; set; } | 获取或设置网格线的宽度(以像素为单位)。 |
| HighlightColor { get; set; } | 获取或设置在突出显示的元素周围绘制的框的颜色。 |
| HighlightedElement { get; set; } | 获取或设置鼠标指针下方的模型或网格。它以突出显示轮廓绘制。 |
| HighlightMode { get; set; } | 获取或设置鼠标指针悬停时突出显示元素所在的场景级别。 |
| KeyboardMoveStep { get; set; } | 获取或设置使用键盘平移场景的步长。该步长相对于控件的宽度,默认为该宽度的十分之一。 |
| Lights { get; } | 获取照亮场景模型的光源。 |
| LightsSource { get; set; } | 获取或设置用于填充控件光源的集合。 |
| LightTemplate { get; set; } | 获取或设置用于为 LightsSource 中的每一项创建光源的模板。 |
| Logger { get; set; } | 获取或设置接收 Vulkan 渲染器所生成消息的记录器。 |
| LogLevel { get; set; } | 获取或设置写入记录器的消息的最低严重性。 |
| LookCameraAtSceneCommand { get; } | 获取将相机移到场景预定义视图的命令。其参数为 CameraPosition 值。 |
| MultisamplingMode { get; set; } | 获取或设置用于多重采样抗锯齿的每像素采样数。如果图形设备不支持该值,则使用最接近的受支持模式。 |
| NavigationBindings { get; set; } | 获取或设置用于导航场景的键盘快捷方式。为 null 时,控件使用其默认快捷方式。 |
| RotateStep { get; set; } | 获取或设置鼠标驱动旋转的灵敏度。值越大,场景旋转越慢。 |
| SelectedElement { get; set; } | 获取或设置所选的模型或网格。它以选择轮廓绘制。 |
| SelectionColor { get; set; } | 获取或设置在所选元素周围绘制的框的颜色。 |
| SelectionMode { get; set; } | 获取或设置用户单击元素时选择元素所在的场景级别。 |
| ShowAxes { get; set; } | 获取或设置是否在场景中绘制坐标轴。 |
| ShowGrid { get; set; } | 获取或设置是否在场景的坐标平面上绘制网格。 |
| ShowHints { get; set; } | 获取或设置是否显示包含突出显示元素提示的工具提示。 |
| ShowInfoPanel { get; set; } | 获取或设置是否在控件角落显示报告渲染统计信息的面板。 |
| Skybox { get; set; } | 获取或设置照亮场景、并在可见时构成场景背景的环境贴图。 |
| ZoomRate { get; set; } | 获取或设置鼠标滚轮每滚动一格时相机移动的场景大小比例。 |
方法¶
| 名称 | 说明 |
|---|---|
| Export() | 创建当前渲染图像的位图。 |
| HitTest(…) | 在场景中搜索位于给定点下方的模型和网格。 |
| LookCameraAtScene(…) | 将相机移到场景的预定义视图,并放置在使场景适合控件的距离处。(2 个重载) |
备注¶
用户使用鼠标左键旋转场景,使用鼠标右键平移场景,使用鼠标滚轮缩放场景。键盘快捷方式由 NavigationBindings 属性定义。
另请参阅¶
* 本页面使用机器翻译技术翻译。
Used in articles
- Graphics 3D Control
- Graphics 3D Control › Camera
- Graphics 3D Control › Export
- Graphics 3D Control › Get Started with Graphics3DControl
- Graphics 3D Control › Graphics3DControl Overview
- Graphics 3D Control › Light
- Graphics 3D Control › Skybox
- Graphics 3D Control › System Requirements
- Graphics 3D Control › User Interactions with 3D Models
- Themes
- Themes › Register an Eremex Paint Theme
- What's Included › System Requirements