Перейти к содержанию

Класс Graphics3DControl

Отрисовывает интерактивные 3D-модели с помощью API Vulkan и позволяет пользователю перемещаться по сцене с помощью мыши и клавиатуры.

Пространство имён: Eremex.AvaloniaUI.Controls3D
Сборка: Eremex.Avalonia.Controls3D.dll
NuGet-пакет: Eremex.Avalonia.Controls3D

Объявление

public class Graphics3DControl : Graphics3DControlBase, ISceneHolder

Конструкторы

имя описание
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; } Возвращает или задаёт значение гаммы, применяемое к изображению при тональной компрессии. Большие значения делают изображение ярче.
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