Viewport
Абстрактный базовый класс для вьюпортов (viewports). Инкапсулирует рисование и взаимодействие с игровым миром.
Абстрактный базовый класс для вьюпортов (viewports). Инкапсулирует рисование и взаимодействие с игровым миром.
Viewport создает другой вид на экране или подвид внутри другого viewport. Дочерние 2D-узлы будут отображаться на нем, и дочерние 3D-узлы Camera3D также будут визуализироваться на нем.
При желании viewport может иметь свой собственный 2D- или 3D-мир, поэтому он не делится тем, что он рисует, с другими viewport.
Viewports также могут быть выбраны в качестве аудиослушателей, поэтому они генерируют позиционный звук в зависимости от дочерней 2D- или 3D-камеры.
Кроме того, viewports можно назначать разным экранам, если у устройств несколько экранов.
Наконец, viewports также могут вести себя как цели рендеринга, в этом случае они не будут видны, если для рисования не используется связанная текстура.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства50
AnisotropicFilteringLevelСвойство
public Viewport.AnisotropicFiltering AnisotropicFilteringLevel { get; set; }Устанавливает максимальное количество выборок при использовании анизотропной фильтрации текстур (как степень двойки). Большее количество выборок приведет к более резким текстурам под косыми углами, но это более затратно для вычисления. Значение 0 принудительно отключает анизотропную фильтрацию, даже для материалов, где она включена.
Уровень анизотропной фильтрации также влияет на декали и проекторы света, если они настроены на использование анизотропной фильтрации. См. ProjectSettings.rendering/textures/decals/filter и ProjectSettings.rendering/textures/light_projectors/filter.
Примечание: В 3D, чтобы эта настройка имела эффект, установите BaseMaterial3D.TextureFilter на BaseMaterial3D.TextureFilterEnum.LinearWithMipmapsAnisotropic или BaseMaterial3D.TextureFilterEnum.NearestWithMipmapsAnisotropic для материалов.
Примечание: В 2D, чтобы эта настройка имела эффект, установите CanvasItem.TextureFilter на CanvasItem.TextureFilterEnum.LinearWithMipmapsAnisotropic или CanvasItem.TextureFilterEnum.NearestWithMipmapsAnisotropic на узле CanvasItem, отображающем текстуру (или в CanvasTexture). Однако анизотропная фильтрация редко бывает полезна в 2D, поэтому включайте ее для текстур в 2D только в том случае, если это создает значимую визуальную разницу.
AudioListenerEnable2DСвойство
public bool AudioListenerEnable2D { get; set; }Если true, область просмотра будет обрабатывать 2D-аудиопотоки.
AudioListenerEnable3DСвойство
public bool AudioListenerEnable3D { get; set; }Если true, область просмотра будет обрабатывать 3D-аудиопотоки.
CanvasCullMaskСвойство
public uint CanvasCullMask { get; set; }Слои рендеринга, в которых этот Viewport отображает узлы CanvasItem.
Примечание: CanvasItem не наследует слои видимости своих родительских элементов. Подробности см. в описании CanvasItem.VisibilityLayer.
CanvasItemDefaultTextureFilterСвойство
public Viewport.DefaultCanvasItemTextureFilter CanvasItemDefaultTextureFilter { get; set; }Режим фильтрации по умолчанию, используемый узлами CanvasItem в этом окне просмотра.
CanvasItemDefaultTextureRepeatСвойство
public Viewport.DefaultCanvasItemTextureRepeat CanvasItemDefaultTextureRepeat { get; set; }Режим повтора по умолчанию, используемый узлами CanvasItem в этом окне просмотра.
CanvasTransformСвойство
public Transform2D CanvasTransform { get; set; }Преобразование холста вьюпорта, полезное для изменения положения на экране всех дочерних CanvasItem. Это относительно глобального преобразования холста вьюпорта.
DebugDrawСвойство
public Viewport.DebugDrawEnum DebugDraw { get; set; }Режим наложения для тестирования визуализированной геометрии в целях отладки.
Disable3DСвойство
public bool Disable3D { get; set; }Отключить 3D-рендеринг (но сохранить 2D-рендеринг).
FsrSharpnessСвойство
public float FsrSharpness { get; set; }Параметр резкости FSR, отдельный от Scaling3DScale. Сам по себе не включает FSR и не подтверждает доступность upscaler. По исходникам отрицательное значение заменяется на 0; изменение качества при разных значениях этим примером не проверено.
GlobalCanvasTransformСвойство
public Transform2D GlobalCanvasTransform { get; set; }Глобальное преобразование холста вьюпорта. Преобразование холста относительно этого.
GuiDisableInputСвойство
public bool GuiDisableInput { get; set; }Отключает входной путь ввода viewport. Несмотря на имя, PushInput прекращается до _Input и GUI, а не только для элементов интерфейса. Не является выключателем отрисовки или _Process.
GuiDragThresholdСвойство
public int GuiDragThreshold { get; set; }Минимальное расстояние, на которое должен переместиться курсор мыши при нажатии, прежде чем начнется операция перетаскивания.
GuiEmbedSubwindowsСвойство
public bool GuiEmbedSubwindows { get; set; }Если true, подокна (всплывающие окна и диалоги) будут встроены в окно приложения как узлы, подобные элементам управления. Если false, они будут отображаться как отдельные окна, управляемые операционной системой.
GuiSnapControlsToPixelsСвойство
public bool GuiSnapControlsToPixels { get; set; }Если true, элементы управления графическим интерфейсом в области просмотра будут располагаться идеально по пикселям.
HandleInputLocallyСвойство
public bool HandleInputLocally { get; set; }Если true, эта область просмотра будет отмечать входящие события ввода как обработанные ею самой. Если false, это будет сделано первой родительской областью просмотра, которая настроена на локальную обработку ввода.
SubViewportContainer автоматически установит это свойство в false для Viewport, содержащегося внутри него.
См. также Viewport.SetInputAsHandled и Viewport.IsInputHandled.
MeshLodThresholdСвойство
public float MeshLodThreshold { get; set; }Экранный порог выбора автоматического mesh LOD. Ноль отключает выбор упрощённых уровней; увеличение порога допускает более грубую геометрию. Не создаёт LOD-данные отсутствующего ресурса и не отключает Entity. Пример сравнивает 0 и 1.
Msaa2DСвойство
public Viewport.Msaa Msaa2D { get; set; }Режим MSAA для геометрии 2D/canvas этого Viewport. Не заменяет фильтрацию текстур или сглаживание узоров внутри шейдера. В проверенной сборке 1.0.0 Compatibility/OpenGL выдаёт предупреждение и не меняет край 2D-меша, даже если свойство читает Msaa4X. Эффект Msaa4X подтверждён отдельно в Forward+/Vulkan. Msaa3D управляет другой настройкой.
Msaa3DСвойство
public Viewport.Msaa Msaa3D { get; set; }Запрошенное MSAA для 3D. Проверенный Msaa4X добавляет частичное покрытие геометрических краёв в Compatibility/OpenGL и Forward+/Vulkan. Не сглаживает автоматически все детали шейдера или текстуры. Фактическая поддержка и число samples зависят от устройства; getter не измеряет буфер GPU.
OversamplingСвойство
public bool Oversampling { get; set; }Если true и выполняется одно из следующих условий: установлены SubViewport.Size2DOverrideStretch и SubViewport.Size2DOverride, установлен Window.ContentScaleFactor и включено масштабирование, установлен Viewport.OversamplingOverride, включены передискретизация шрифта и DpiTexture.
OversamplingOverrideСвойство
public float OversamplingOverride { get; set; }Если значение больше нуля, это значение используется как коэффициент передискретизации шрифта, в противном случае передискретизация равна масштабу области просмотра.
OwnWorld3DСвойство
public bool OwnWorld3D { get; set; }Использует собственный эффективный 3D-мир вместо назначенного/унаследованного. При назначенном World3D может дублировать этот ресурс; исходное свойство World3D и FindWorld3D тогда различаются. Не клонирует Entity. Отключение возвращает назначенный/унаследованный мир.
PhysicsObjectPickingСвойство
public bool PhysicsObjectPicking { get; set; }Если true, объекты, передающиеся в результате просмотра, становятся объектами процесса отбора мышей.
Примечание: Число CanvasItems Поддается отбору одним входом только 64, и они выбираются в недетерминистском порядке. Количество поддающихся отбору 3D объектов не ограничено.
PhysicsObjectPickingFirstOnlyСвойство
public bool PhysicsObjectPickingFirstOnly { get; set; }Если true, сигнал ввода_изобретения будет отправлен только на один физический объект в процессе отбора мыши. Если вы хотите получить только верхний объект, вы должны также предусмотреть Viewport.PhysicsObjectPickingSort.
Если false, сигнал ввода_event будет отправлен всем объектам физики в процессе отбора мыши.
Это касается CanvasItem Выбираю только.
PhysicsObjectPickingSortСвойство
public bool PhysicsObjectPickingSort { get; set; }Если true, объекты получают сборку мыши, сортируемую главным образом по их CanvasItem.ZIndex и, во-вторых, по их положению на дереве сцены. false, приказ не детерминистский.
Примечание: Эта установка отключена по умолчанию из-за ее потенциальной дорогостоящей вычислительной стоимости.
Примечание: Сортировка происходит после выбора поддающихся отбору объектов. При превышении максимального 64 CanvasItems Поддается отбору при помощи одного входа, не гарантируется, что объект с наивысшим значением CanvasItem.ZIndex принимает мероприятие по отбору.
PositionalShadowAtlas16BitsСвойство
public bool PositionalShadowAtlas16Bits { get; set; }Используйте 16 бит для карты глубины тени omni/spot. Включение этого параметра приводит к снижению точности теней и может привести к появлению акне в тенях, но может привести к повышению производительности на некоторых устройствах.
PositionalShadowAtlasQuad0Свойство
public Viewport.PositionalShadowAtlasQuadrantSubdiv PositionalShadowAtlasQuad0 { get; set; }Величина подразделения первого квадранта на теневом атласе.
PositionalShadowAtlasQuad1Свойство
public Viewport.PositionalShadowAtlasQuadrantSubdiv PositionalShadowAtlasQuad1 { get; set; }Величина подразделения второго квадранта на теневом атласе.
PositionalShadowAtlasQuad2Свойство
public Viewport.PositionalShadowAtlasQuadrantSubdiv PositionalShadowAtlasQuad2 { get; set; }Величина подразделения третьего квадранта на теневом атласе.
PositionalShadowAtlasQuad3Свойство
public Viewport.PositionalShadowAtlasQuadrantSubdiv PositionalShadowAtlasQuad3 { get; set; }Величина подразделения четвертого квадранта на теневом атласе.
PositionalShadowAtlasSizeСвойство
public int PositionalShadowAtlasSize { get; set; }Размер общего shadow atlas для позиционных источников этого viewport: OmniLight3D и SpotLight3D. Для теней также нужен ShadowEnabled у источника. Пример задаёт 1024 и проверяет уменьшение синей подсветки за непрозрачной стеной при включении теней. Это не размер отдельной карты каждого источника и не atlas направленного света.
Scaling3DModeСвойство
public Viewport.Scaling3DModeEnum Scaling3DMode { get; set; }Запрошенный алгоритм масштабирования 3D. Bilinear/Nearest проверены в OpenGL и Vulkan; Fsr/Fsr2 — в Forward+. В текущем Compatibility запрос Fsr2 отклоняется с сохранением прежнего фильтра renderer, но getter C# показывает Fsr2. Не выдавайте это за автоматически применённый алгоритм.
Scaling3DScaleСвойство
public float Scaling3DScale { get; set; }Линейный масштаб внутреннего 3D-разрешения. Для конечных значений Viewport ограничивает диапазон 0.1..2. При выходе 512×384 scale 0.5 даёт внутренние 256×192; выходная текстура и canvas UI сохраняют размер. Scale 2 даёт 1024×768 с последующим уменьшением. Это не обещание изменения FPS.
ScreenSpaceAAСвойство
public Viewport.ScreenSpaceAAEnum ScreenSpaceAA { get; set; }Запрошенное экранное AA: Disabled, Fxaa или Smaa. В текущем Compatibility renderer отклоняет FXAA/SMAA, хотя C#-свойство сохраняет запрос. В Forward+/Vulkan оба режима изменили реальные края примера. Проверяйте renderer и кадр, а не только getter.
SdfOversizeСвойство
public Viewport.SdfOversizeEnum SdfOversize { get; set; }Управляет тем, какая часть исходного размера области просмотра должна быть покрыта 2D-полем расстояния со знаком. Этот SDF может быть выбран в шейдерах CanvasItem и также используется для столкновения GpuParticles2D. Более высокие значения позволяют учитывать части окклюдеров, расположенных за пределами области просмотра, в сгенерированном поле расстояния со знаком, за счет производительности. Если вы заметили, что частицы падают через LightOccluder2D, когда окклюдеры покидают область просмотра, увеличьте этот параметр.
Процент добавляется на каждой оси и с обеих сторон. Например, при значении по умолчанию Viewport.SdfOversizeEnum.Oversize120Percent поле расстояния со знаком будет покрывать 20% размера области просмотра за пределами области просмотра с каждой стороны (сверху, справа, снизу, слева).
SdfScaleСвойство
public Viewport.SdfScaleEnum SdfScale { get; set; }Масштаб разрешения для использования в 2D-поле расстояний со знаком. Более высокие значения приводят к более точному и стабильному полю расстояний со знаком при движении камеры, за счет производительности.
Snap2DTransformsToPixelСвойство
public bool Snap2DTransformsToPixel { get; set; }Если true, узлы CanvasItem будут внутренне привязаны к полным пикселям. Их положение все еще может быть субпиксельным, но десятичные знаки не будут иметь эффекта. Это может привести к более четкому виду за счет менее плавного движения, особенно если включено сглаживание Camera2D.
Snap2DVerticesToPixelСвойство
public bool Snap2DVerticesToPixel { get; set; }Если true, вершины узлов CanvasItem будут привязаны к полным пикселям. Влияет только на конечные положения вершин, а не на преобразования. Это может привести к более четкому виду за счет менее плавного движения, особенно если включено сглаживание Camera2D.
TextureMipmapBiasСвойство
public float TextureMipmapBias { get; set; }Добавочный bias выбора mip-уровня текстур. Renderer также учитывает масштаб 3D при настройке эффективного bias. Это не геометрическое AA и не замена корректным mipmaps; текущий пример использует одноцветные меши без проверки текстурного aliasing.
TransparentBgСвойство
public bool TransparentBg { get; set; }Если true, то фон окна просмотра должен быть прозрачным.
Примечание: Из-за технических ограничений некоторые функции рендеринга отключаются, когда окно просмотра имеет прозрачный фон. В настоящее время это относится к отражениям в экранном пространстве, рассеиванию под поверхностью и глубине резкости (DOF).
UseDebandingСвойство
public bool UseDebanding { get; set; }При использовании рендереров Mobile или Forward+ установите параметр Viewport.UseDebanding, чтобы включить или отключить функцию устранения полос в этом Viewport. Если Viewport.UseHdr2D имеет значение false, 2D-рендеринг не затрагивается устранением полос, если только Environment.BackgroundMode не имеет значения Environment.BGMode.Canvas. Если Viewport.UseHdr2D имеет значение true, устранение полос будет применяться только в том случае, если это корневой Viewport, и повлияет на весь 2D и 3D рендеринг, включая элементы холста.
Параметр Viewport.UseDebanding не оказывает никакого эффекта при использовании метода рендеринга Compatibility. Мобильный рендерер также может использовать сглаживание материалов, которое можно установить с помощью RenderingServer.MaterialSetUseDebanding или настроить с помощью ProjectSettings.rendering/anti_aliasing/quality/use_debanding.
См. также ProjectSettings.rendering/anti_aliasing/quality/use_debanding, RenderingServer.MaterialSetUseDebanding и RenderingServer.ViewportSetUseDebanding.
UseHdr2DСвойство
public bool UseHdr2D { get; set; }Если true, 2D-передача будет осуществляться с использованием высокодинамичных диапазонов (ГДР) RGBA16 Кроме того, 2D-передача будет производиться на линейных значениях и будет преобразовываться с использованием соответствующей функции передачи непосредственно перед нанесением на экран (если Viewport прикрепляется к экрану).
В практическом плане это означает, что конечный результат Viewport не будет зажиматься 0-1 дальность и может использоваться при 3D-продукции без корректировки цветов. Это позволяет 2D-диапазону использовать эффект, требующий высокого динамического диапазона (например, 2D свечения), а также существенно улучшает внешний вид эффектов, требующих очень подробных градиентов.
UseOcclusionCullingСвойство
public bool UseOcclusionCulling { get; set; }Включает отсечение полностью закрытых объектов для данного viewport при доступной реализации. Нужен действующий OccluderInstance3D; одна непрозрачная MeshInstance3D-стена не создаёт его автоматически. Проверяйте список отрисовки и корректность изображения, не только bool.
UseTaaСвойство
public bool UseTaa { get; set; }Запрос временного AA, поддержанного текущим Forward+. В Compatibility значение может читаться как true без эффекта renderer. Статические края проверены после накопления истории; качество движения и ghosting не проверены. При временном upscaler renderer отключает отдельное TAA внутри.
UseXRСвойство
public bool UseXR { get; set; }Если true, область просмотра будет использовать основной интерфейс XR для рендеринга вывода XR. Когда это применимо, это может привести к стереоскопическому изображению и полученному рендеру, выводимому на гарнитуру.
VrsModeСвойство
public Viewport.VrsModeEnum VrsMode { get; set; }Режим Изменчивый курс (VRS), используемый для этого окна просмотра. Обратите внимание, если оборудование не поддерживает VRS, это свойство игнорируется.
VrsTextureСвойство
public Texture2D VrsTexture { get; set; }Texture использовать время Viewport.VrsMode установлен следующим образом: Viewport.VrsTexture.
Текстура * должна* использовать без потерь формат сжатия, с тем чтобы цвета могли точно соответствовать друг другу. Нижеследующие значения плотности VRS картируются в различных цветах с более яркими цветами, представляющими более низкий уровень точности затенения:
- 1×1 = rgb(0, 0, 0) - #000000
- 1×2 = rgb(0, 85, 0) - #005500
- 2×1 = rgb(85, 0, 0) - #550000
- 2×2 = rgb(85, 85, 0) - #555500
- 2×4 = rgb(85, 170, 0) - #55aa00
- 4×2 = rgb(170, 85, 0) - #aa5500
- 4×4 = rgb(170, 170, 0) - #aaaa00
- 4×8 = rgb(170, 255, 0) - #aaff00 - Not supported on most hardware
- 8×4 = rgb(255, 170, 0) - #ffaa00 - Not supported on most hardware
- 8×8 = rgb(255, 255, 0) - #ffff00 - Not supported on most hardwareVrsUpdateModeСвойство
public Viewport.VrsUpdateModeEnum VrsUpdateMode { get; set; }Устанавливает режим обновления для Изменчивый курс (VRS) для области просмотра. VRS требует, чтобы входная текстура была преобразована в формат, используемый методом VRS, поддерживаемым оборудованием. Режим обновления определяет, как часто это происходит. Если графический процессор не поддерживает VRS или VRS не включен, это свойство игнорируется.
World2DСвойство
public World2D World2D { get; set; }Ресурс 2D-мира. У новых viewport по умолчанию разные World2D; для совместного 2D-содержимого назначьте один ресурс явно. Совместный World2D не объединяет выбор камер или 3D-миры.
World3DСвойство
public World3D World3D { get; set; }Явно назначенный 3D-мир viewport. В примере SubViewport получает новый World3D, чтобы его камера и окружение были отделены от родительского мира. Для получения фактически найденного мира используйте FindWorld3D: он также может искать у viewport-предков.
Методы130
FindWorld2DWorld2D
public World2D FindWorld2D();Возвращает эффективный 2D-мир viewport. Новые viewport имеют отдельные World2D по умолчанию; для совместного содержимого нужен явный общий ресурс.
World2DИспользуемый World2D, а не World3D и не ресурс сцены.
FindWorld3DWorld3D
public World3D FindWorld3D();Ищет доступный World3D у этого viewport и его viewport-предков. Это разрешение мира для работы, а не создание независимого мира. Для изоляции отдельной камеры назначьте SubViewport.World3D явно; проверенный пример использует new World3D().
World3DЭффективный World3D либо null, если мир не назначен и нет доступного родительского мира. Используйте для проверки изоляции и совместного мира.
GetAnisotropicFilteringLevelViewport.AnisotropicFiltering
public Viewport.AnisotropicFiltering GetAnisotropicFilteringLevel();Viewport.AnisotropicFilteringGetAudioListener2DAudioListener2D
public AudioListener2D GetAudioListener2D();Возвращает текущий активный прослушиватель 2D-аудио. Возвращает null, если нет активных прослушивателей 2D-аудио, в этом случае активная 2D-камера будет рассматриваться как прослушиватель.
AudioListener2DGetAudioListener3DAudioListener3D
public AudioListener3D GetAudioListener3D();Возвращает текущий активный прослушиватель 3D-аудио. Возвращает null, если нет активных прослушивателей 3D-аудио, в этом случае активная 3D-камера будет рассматриваться как прослушиватель.
AudioListener3DGetCamera2DCamera2D
public Camera2D GetCamera2D();Возвращает текущую активную 2D-камеру. Возвращает null, если активных камер нет.
Примечание: Если этот метод вызывается, когда в редакторе активна система Переопределения камеры, он вернет внутренне управляемую камеру переопределения. Поэтому рекомендуется избегать кэширования возвращаемого значения или перед использованием убедиться, что кэшированное значение по-прежнему является допустимым экземпляром и текущей камерой. См. @GlobalScope.is_instance_valid и Camera2D.IsCurrent.
Camera2DGetCamera3DCamera3D
public Camera3D GetCamera3D();Возвращает текущую 3D-камеру этого viewport. Выбор текущей камеры независим от другого viewport, даже при общем World3D.
Camera3DТекущая Camera3D либо null при её отсутствии.
GetCanvasCullMaskuint
public uint GetCanvasCullMask();uintGetCanvasCullMaskBitbool
public bool GetCanvasCullMaskBit(uint layer);Возвращает отдельный бит в маске слоя рендеринга.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | uint | — |
boolGetCanvasTransformTransform2D
public Transform2D GetCanvasTransform();Transform2DGetDebugDrawViewport.DebugDrawEnum
public Viewport.DebugDrawEnum GetDebugDraw();Viewport.DebugDrawEnumGetDefaultCanvasItemTextureFilterViewport.DefaultCanvasItemTextureFilter
public Viewport.DefaultCanvasItemTextureFilter GetDefaultCanvasItemTextureFilter();Viewport.DefaultCanvasItemTextureFilterGetDefaultCanvasItemTextureRepeatViewport.DefaultCanvasItemTextureRepeat
public Viewport.DefaultCanvasItemTextureRepeat GetDefaultCanvasItemTextureRepeat();Viewport.DefaultCanvasItemTextureRepeatGetDragThresholdint
public int GetDragThreshold();intGetEmbeddedSubwindowsReckfell.Collections.Array<Window>
public Reckfell.Collections.Array<Window> GetEmbeddedSubwindows();Возвращает список видимых встроенных Window внутри области просмотра.
Примечание: Window внутри других областей просмотра не будут перечислены.
Reckfell.Collections.Array<Window>GetFinalTransformTransform2D
public Transform2D GetFinalTransform();Возвращает преобразование из системы координат области просмотра в систему координат средства внедрения.
Transform2DGetFsrSharpnessfloat
public float GetFsrSharpness();floatGetGlobalCanvasTransformTransform2D
public Transform2D GetGlobalCanvasTransform();Transform2DGetMeshLodThresholdfloat
public float GetMeshLodThreshold();floatGetMousePositionVector2
public Vector2 GetMousePosition();Возвращает положение мыши в этом Viewport, используя систему координат этого Viewport.
Vector2GetMsaa2DViewport.Msaa
public Viewport.Msaa GetMsaa2D();Читает выбранную настройку Msaa2D. Это не запрос фактической поддержки MSAA и не измерение сглаживания пикселей.
Viewport.MsaaСохранённое значение Viewport.Msaa. Может быть Msaa4X в Compatibility/OpenGL без изменения отрисованных 2D-краёв.
GetMsaa3DViewport.Msaa
public Viewport.Msaa GetMsaa3D();Читает запрошенный уровень MSAA объекта Viewport. Проверка фактического GPU-результата и возможностей устройства выполняется отдельно.
Viewport.MsaaЗапрошенный Msaa, не измеренное число samples текущего GPU-буфера. В примере Msaa4X подтверждён реальными частично покрытыми пикселями.
GetOversamplingfloat
public float GetOversampling();Возвращает коэффициент передискретизации области просмотра.
floatGetOversamplingOverridefloat
public float GetOversamplingOverride();floatGetPhysicsObjectPickingbool
public bool GetPhysicsObjectPicking();boolGetPhysicsObjectPickingFirstOnlybool
public bool GetPhysicsObjectPickingFirstOnly();boolGetPhysicsObjectPickingSortbool
public bool GetPhysicsObjectPickingSort();boolGetPositionalShadowAtlas16Bitsbool
public bool GetPositionalShadowAtlas16Bits();boolGetPositionalShadowAtlasQuadrantSubdivViewport.PositionalShadowAtlasQuadrantSubdiv
public Viewport.PositionalShadowAtlasQuadrantSubdiv GetPositionalShadowAtlasQuadrantSubdiv(int quadrant);Возвращает позиционное подразделение квадранта теневого атласа указанного квадранта.
| Имя | Тип | По умолчанию |
|---|---|---|
quadrant | int | — |
Viewport.PositionalShadowAtlasQuadrantSubdivGetPositionalShadowAtlasSizeint
public int GetPositionalShadowAtlasSize();Читает сохранённую настройку размера atlas объекта Viewport. Не проверяет, что конкретный источник отбрасывает тень или что GPU выделил точно такой буфер.
intЗапрошенный размер atlas в пикселях. Эффект проверяйте реальным кадром, источником с ShadowEnabled и корректной геометрией; нативный пример сравнивает один свет без теней и с тенями.
GetRenderInfoint
public int GetRenderInfo(Viewport.RenderInfoType type, Viewport.RenderInfo info);Читает статистику отрисовки выбранного viewport и прохода. Счётчики обновляются кадрами; сравнивайте стабильные конфигурации после обновления. Не являются замером FPS, количеством Entity в дереве или стоимостью всей игры.
| Имя | Тип | По умолчанию |
|---|---|---|
type | Viewport.RenderInfoType | — |
info | Viewport.RenderInfo | — |
typeПроход: например Visible для обычной 3D-отрисовки, Canvas для 2D или Shadow для теней. Не смешивайте их в одном сравнении LOD.
infoObjectsInFrame, PrimitivesInFrame или DrawCallsInFrame. У треугольных мешей примера примитивы соответствуют треугольникам; в общем случае учитывайте тип primitive.
intПоследнее доступное значение счётчика. В тестовом уровне occlusion уменьшает Visible Objects с 2 до 1 при одинаковых пикселях сцены ниже HUD.
GetScaling3DModeViewport.Scaling3DModeEnum
public Viewport.Scaling3DModeEnum GetScaling3DMode();Читает запрошенный режим объекта Viewport. Не является запросом фактически выбранного внутреннего алгоритма renderer после отказа или fallback.
Viewport.Scaling3DModeEnumСохранённый Scaling3DModeEnum. В Compatibility Fsr2 может вернуться, хотя кадр остался bilinear или nearest в зависимости от прежней настройки.
GetScaling3DScalefloat
public float GetScaling3DScale();floatGetScreenSpaceAAViewport.ScreenSpaceAAEnum
public Viewport.ScreenSpaceAAEnum GetScreenSpaceAA();Читает запрошенную настройку экранного AA. C#-значение не подтверждает, что renderer принял запрос.
Viewport.ScreenSpaceAAEnumScreenSpaceAAEnum объекта Viewport. В проверенном Compatibility Fxaa читается обратно, но кадр остаётся без FXAA.
GetScreenTransformTransform2D
public Transform2D GetScreenTransform();Возвращает трансформацию из Viewportкоординаты к экранным координатам окна, в котором находится окно управления окном.
Transform2DGetSdfOversizeViewport.SdfOversizeEnum
public Viewport.SdfOversizeEnum GetSdfOversize();Viewport.SdfOversizeEnumGetSdfScaleViewport.SdfScaleEnum
public Viewport.SdfScaleEnum GetSdfScale();Viewport.SdfScaleEnumGetStretchTransformTransform2D
public Transform2D GetStretchTransform();Возвращает автоматически вычисленное 2D-преобразование растяжения, принимая во внимание настройки растяжения Viewport. Конечное значение умножается на Window.ContentScaleFactor, но только для корневого окна просмотра. Если этот метод вызывается для SubViewport (например, в дереве сцены с SubViewportContainer и SubViewport), коэффициент масштабирования корневого окна не будет применен. Используя Transform2D.get_scale для возвращаемого значения, это можно использовать для компенсации масштабирования при масштабировании узла Camera2D или для уменьшения масштаба TextureRect до пиксельного совершенства независимо от автоматически вычисленного коэффициента масштабирования.
Примечание: Из-за того, как работает масштабирование пикселей, масштаб возвращаемого преобразования по осям X и Y может немного отличаться, даже если Window.ContentScaleAspect установлен в режим, который сохраняет соотношение сторон пикселей. Если Window.ContentScaleAspect равен Window.ContentScaleAspectEnum.Ignore, масштабы X и Y могут отличаться значительно.
Transform2DGetTextureViewportTexture
public ViewportTexture GetTexture();Получает выходную текстуру viewport, а не прямую текстуру внутреннего 3D-буфера. Для свежего readback дождитесь завершённого кадра; не считайте полученный размер доказательством внутреннего resolution scale.
ViewportTextureViewportTexture с выходным размером. В проверке 3D scale 0.5/1/2 сохраняет результат 512×384; внутренние размеры отдельно подтверждены диагностическим пространственным шейдером.
GetTextureMipmapBiasfloat
public float GetTextureMipmapBias();floatGetViewportRidRid
public Rid GetViewportRid();Возвращает RID области просмотра из RenderingServer.
RidGetVisibleRectRect2
public Rect2 GetVisibleRect();Возвращает видимый прямоугольник в глобальных экранных координатах.
Rect2GetVrsModeViewport.VrsModeEnum
public Viewport.VrsModeEnum GetVrsMode();Viewport.VrsModeEnumGetVrsTextureTexture2D
public Texture2D GetVrsTexture();Texture2DGetVrsUpdateModeViewport.VrsUpdateModeEnum
public Viewport.VrsUpdateModeEnum GetVrsUpdateMode();Viewport.VrsUpdateModeEnumGetWorld2DWorld2D
public World2D GetWorld2D();Возвращает запрошенное значение World2D. Ресурс 2D-мира. У новых viewport по умолчанию разные World2D; для совместного 2D-содержимого назначьте один ресурс явно. Совместный World2D не объединяет выбор камер или 3D-миры.
World2DЗначение свойства World2D; учитывайте описанное различие между настройкой и фактическим результатом.
GetWorld3DWorld3D
public World3D GetWorld3D();Возвращает запрошенное значение World3D. Явно назначенный ресурс 3D-мира. Может быть null при наследовании эффективного мира от родителя; для разрешения используйте FindWorld3D. OwnWorld3D может иметь приоритет над этим источником. Не является ресурсом иерархии сцены.
World3DЗначение свойства World3D; учитывайте описанное различие между настройкой и фактическим результатом.
GuiCancelDragvoid
public void GuiCancelDrag();Отменяет операцию перетаскивания, которая была ранее запущена с помощью Control._GetDragData или принудительно запущена с помощью Control.ForceDrag.
GuiGetDragDataVariant
public Variant GuiGetDragData();Возвращает данные перетаскивания из графического интерфейса пользователя, которые ранее возвращались Control._GetDragData.
VariantGuiGetDragDescriptionstring
public string GuiGetDragDescription();Возвращает удобочитаемое описание данных перетаскивания, используемое в вспомогательных приложениях.
stringGuiGetFocusOwnerControl
public Control GuiGetFocusOwner();Возвращает текущий сфокусированный Control в этом окне просмотра. Если нет сфокусированного Control, возвращает null.
ControlGuiGetHoveredControlControl
public Control GuiGetHoveredControl();Возвращает Control, над которым в данный момент находится мышь в этом окне просмотра. Если ни один Control не имеет курсора, возвращает null.
Обычно это листовой узел Control или самый глубокий уровень поддерева, который заявляет наведение. Это очень полезно при использовании вместе с Entity.IsAncestorOf, чтобы определить, находится ли мышь в дереве элементов управления.
ControlGuiIsDragSuccessfulbool
public bool GuiIsDragSuccessful();Возвращает true, если операция перетаскивания прошла успешно.
boolGuiIsDraggingbool
public bool GuiIsDragging();Возвращает true, если операция перетаскивания в данный момент выполняется и где действие сброса может произойти в этом окне просмотра.
Альтернатива Entity.NotificationDragBegin и Entity.NotificationDragEnd, когда вы предпочитаете опрос значения.
boolGuiReleaseFocusvoid
public void GuiReleaseFocus();Удаляет фокус с текущего сфокусированного Control в этом окне просмотра. Если фокуса нет ни у одного Control, ничего не делает.
GuiSetDragDescriptionvoid
public void GuiSetDragDescription(string description);Устанавливает удобочитаемое описание данных перетаскивания в значение description, используемое в вспомогательных приложениях.
| Имя | Тип | По умолчанию |
|---|---|---|
description | string | — |
HasTransparentBackgroundbool
public bool HasTransparentBackground();boolIs3DDisabledbool
public bool Is3DDisabled();boolIsAudioListener2Dbool
public bool IsAudioListener2D();boolIsAudioListener3Dbool
public bool IsAudioListener3D();boolIsEmbeddingSubwindowsbool
public bool IsEmbeddingSubwindows();boolIsHandlingInputLocallybool
public bool IsHandlingInputLocally();boolIsInputDisabledbool
public bool IsInputDisabled();Возвращает запрошенное значение GuiDisableInput. Отключает входной путь ввода viewport. Несмотря на имя, PushInput прекращается до _Input и GUI, а не только для элементов интерфейса. Не является выключателем отрисовки или _Process.
boolЗначение свойства GuiDisableInput; учитывайте описанное различие между настройкой и фактическим результатом.
IsInputHandledbool
public bool IsInputHandled();Проверяет, поглощено ли текущее событие в используемой цепочке ввода. При HandleInputLocally=false состояние может разрешаться через родительский viewport; это не журнал всех прошлых событий.
boolTrue для поглощённого текущего события; false, если оно ещё не поглощено.
IsSnap2DTransformsToPixelEnabledbool
public bool IsSnap2DTransformsToPixelEnabled();boolIsSnap2DVerticesToPixelEnabledbool
public bool IsSnap2DVerticesToPixelEnabled();boolIsSnapControlsToPixelsEnabledbool
public bool IsSnapControlsToPixelsEnabled();boolIsUsingDebandingbool
public bool IsUsingDebanding();boolIsUsingHdr2Dbool
public bool IsUsingHdr2D();boolIsUsingOcclusionCullingbool
public bool IsUsingOcclusionCulling();boolIsUsingOversamplingbool
public bool IsUsingOversampling();boolIsUsingOwnWorld3Dbool
public bool IsUsingOwnWorld3D();Возвращает запрошенное значение OwnWorld3D. Использует собственный эффективный 3D-мир вместо назначенного/унаследованного. При назначенном World3D может дублировать этот ресурс; исходное свойство World3D и FindWorld3D тогда различаются. Не клонирует Entity. Отключение возвращает назначенный/унаследованный мир.
boolЗначение свойства OwnWorld3D; учитывайте описанное различие между настройкой и фактическим результатом.
IsUsingTaabool
public bool IsUsingTaa();boolIsUsingXRbool
public bool IsUsingXR();boolNotifyMouseEnteredvoid
public void NotifyMouseEntered();Сообщите Viewport, что мышь вошла в его область. Используйте эту функцию перед отправкой InputEventMouseButton или InputEventMouseMotion в Viewport с помощью Viewport.PushInput. См. также Viewport.NotifyMouseExited.
Примечание: В большинстве случаев нет необходимости вызывать эту функцию, поскольку узлы SubViewport, которые являются дочерними элементами SubViewportContainer, уведомляются автоматически. Это необходимо только при взаимодействии с viewport нестандартными способами, например, как текстуры в TextureRect или с Area3D, который пересылает события ввода.
NotifyMouseExitedvoid
public void NotifyMouseExited();Сообщить Viewport, что мышь покинула его область. Используйте эту функцию, когда узел, отображающий viewport, замечает, что мышь покинула область отображаемого viewport. См. также Viewport.NotifyMouseEntered.
Примечание: В большинстве случаев нет необходимости вызывать эту функцию, поскольку узлы SubViewport, которые являются дочерними элементами SubViewportContainer, уведомляются автоматически. Это необходимо только при взаимодействии с viewports нестандартными способами, например, как текстуры в TextureRect или с Area3D, который пересылает события ввода.
PushInputvoid
public void PushInput(InputEvent @event, bool inLocalCoords = false);Передаёт событие в цепочку ввода viewport: _Input, GUI и необработанные этапы до поглощения. Viewport должен быть в дереве; GuiDisableInput блокирует этот вход. Для текстуры на меше преобразование UV/экранных координат выполняет вызывающий код.
| Имя | Тип | По умолчанию |
|---|---|---|
event | InputEvent | — |
inLocalCoords | bool | false |
eventНенулевое InputEvent для передачи; для указателя заранее учитывайте реальный прямоугольник, полосы, обрезку и масштаб отображаемой текстуры.
inLocalCoordsTrue, если позиции уже в локальных координатах целевого viewport. False применяет экранно-локальное преобразование движка, не произвольное UV-преобразование меша.
PushTextInputvoid
public void PushTextInput(string text);Метод помощи, который называет set_text() в отношении нынешнего целевого Control, при условии, что он определен (например, если фокус Control это Button или LineEdit).
| Имя | Тип | По умолчанию |
|---|---|---|
text | string | — |
PushUnhandledInputvoid · Устарело
public void PushUnhandledInput(InputEvent @event, bool inLocalCoords = false);Запускает заданное event в этом Viewport. Это можно использовать для передачи InputEvent между viewport или для локального применения входных данных, отправленных по сети или сохраненных в файле.
Если in_local_coords равно false, позиция события находится в координатах встраиваемого устройства и будет преобразована в координаты viewport. Если in_local_coords равно true, позиция события находится в координатах viewport.
Вызов этого метода распространит вызовы дочерних узлов для следующих методов в указанном порядке:
Entity._ShortcutInputEntity._UnhandledKeyInputEntity._UnhandledInputЕсли более ранний метод помечает ввод как обработанный с помощьюViewport.SetInputAsHandled, любой более поздний метод в этом списке не будет вызван. Если ни один из методов не обрабатывает событие иViewport.PhysicsObjectPickingравенtrue, событие используется для выбора физического объекта. Примечание: Этот метод не распространяет события ввода на встроенныеWindowилиSubViewport.
| Имя | Тип | По умолчанию |
|---|---|---|
event | InputEvent | — |
inLocalCoords | bool | false |
SetAnisotropicFilteringLevelvoid
public void SetAnisotropicFilteringLevel(Viewport.AnisotropicFiltering anisotropicFilteringLevel);| Имя | Тип | По умолчанию |
|---|---|---|
anisotropicFilteringLevel | Viewport.AnisotropicFiltering | — |
SetAsAudioListener2Dvoid
public void SetAsAudioListener2D(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetAsAudioListener3Dvoid
public void SetAsAudioListener3D(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetCanvasCullMaskvoid
public void SetCanvasCullMask(uint mask);| Имя | Тип | По умолчанию |
|---|---|---|
mask | uint | — |
SetCanvasCullMaskBitvoid
public void SetCanvasCullMaskBit(uint layer, bool enable);Установить/снять отдельные биты на маске слоя рендеринга. Это упрощает редактирование слоев этого Viewport.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | uint | — |
enable | bool | — |
SetCanvasTransformvoid
public void SetCanvasTransform(Transform2D xform);| Имя | Тип | По умолчанию |
|---|---|---|
xform | Transform2D | — |
SetDebugDrawvoid
public void SetDebugDraw(Viewport.DebugDrawEnum debugDraw);| Имя | Тип | По умолчанию |
|---|---|---|
debugDraw | Viewport.DebugDrawEnum | — |
SetDefaultCanvasItemTextureFiltervoid
public void SetDefaultCanvasItemTextureFilter(Viewport.DefaultCanvasItemTextureFilter mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Viewport.DefaultCanvasItemTextureFilter | — |
SetDefaultCanvasItemTextureRepeatvoid
public void SetDefaultCanvasItemTextureRepeat(Viewport.DefaultCanvasItemTextureRepeat mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Viewport.DefaultCanvasItemTextureRepeat | — |
SetDisable3Dvoid
public void SetDisable3D(bool disable);| Имя | Тип | По умолчанию |
|---|---|---|
disable | bool | — |
SetDisableInputvoid
public void SetDisableInput(bool disable);Задаёт GuiDisableInput. Отключает входной путь ввода viewport. Несмотря на имя, PushInput прекращается до _Input и GUI, а не только для элементов интерфейса. Не является выключателем отрисовки или _Process.
| Имя | Тип | По умолчанию |
|---|---|---|
disable | bool | — |
disableОтключает входной путь ввода viewport. Несмотря на имя, PushInput прекращается до _Input и GUI, а не только для элементов интерфейса. Не является выключателем отрисовки или _Process.
SetDragThresholdvoid
public void SetDragThreshold(int threshold);| Имя | Тип | По умолчанию |
|---|---|---|
threshold | int | — |
SetEmbeddingSubwindowsvoid
public void SetEmbeddingSubwindows(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetFsrSharpnessvoid
public void SetFsrSharpness(float fsrSharpness);| Имя | Тип | По умолчанию |
|---|---|---|
fsrSharpness | float | — |
SetGlobalCanvasTransformvoid
public void SetGlobalCanvasTransform(Transform2D xform);| Имя | Тип | По умолчанию |
|---|---|---|
xform | Transform2D | — |
SetHandleInputLocallyvoid
public void SetHandleInputLocally(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetInputAsHandledvoid
public void SetInputAsHandled();Помечает текущее событие обработанным, чтобы последующие необработанные этапы этой цепочки не вызывались. Не отменяет уже выполненные обработчики. Учитывайте HandleInputLocally и родительский viewport.
SetMeshLodThresholdvoid
public void SetMeshLodThreshold(float pixels);| Имя | Тип | По умолчанию |
|---|---|---|
pixels | float | — |
SetMsaa2Dvoid
public void SetMsaa2D(Viewport.Msaa msaa);Задаёт Msaa2D этого Viewport. Принятое значение настройки не доказывает поддержку эффекта рендерером: Compatibility/OpenGL проверенной сборки сообщает об отсутствии поддержки. Для подтверждённого Msaa4X использован Forward+/Vulkan.
| Имя | Тип | По умолчанию |
|---|---|---|
msaa | Viewport.Msaa | — |
msaaЗначение Viewport.Msaa для 2D. Disabled отключает MSAA; Msaa2X/Msaa4X/Msaa8X запрашивают соответствующий режим у рендерера. Поддержку и стоимость проверяйте для выбранного backend и устройства.
SetMsaa3Dvoid
public void SetMsaa3D(Viewport.Msaa msaa);| Имя | Тип | По умолчанию |
|---|---|---|
msaa | Viewport.Msaa | — |
SetOversamplingOverridevoid
public void SetOversamplingOverride(float oversampling);| Имя | Тип | По умолчанию |
|---|---|---|
oversampling | float | — |
SetPhysicsObjectPickingvoid
public void SetPhysicsObjectPicking(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPhysicsObjectPickingFirstOnlyvoid
public void SetPhysicsObjectPickingFirstOnly(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPhysicsObjectPickingSortvoid
public void SetPhysicsObjectPickingSort(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPositionalShadowAtlas16Bitsvoid
public void SetPositionalShadowAtlas16Bits(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPositionalShadowAtlasQuadrantSubdivvoid
public void SetPositionalShadowAtlasQuadrantSubdiv(int quadrant, Viewport.PositionalShadowAtlasQuadrantSubdiv subdiv);Устанавливает количество подразделов для использования в указанном квадранте. Большее количество подразделов позволяет иметь больше теней в сцене одновременно, но снижает качество теней. Хорошей практикой является наличие квадрантов с различным количеством подразделов и как можно меньшим количеством подразделов.
| Имя | Тип | По умолчанию |
|---|---|---|
quadrant | int | — |
subdiv | Viewport.PositionalShadowAtlasQuadrantSubdiv | — |
SetPositionalShadowAtlasSizevoid
public void SetPositionalShadowAtlasSize(int size);Задаёт размер общего atlas позиционных теней. Ноль отключает его; увеличение может повысить доступную детализацию, но расходует ресурсы и не исправляет LightCullMask, CastShadow или неверное положение источника.
| Имя | Тип | По умолчанию |
|---|---|---|
size | int | — |
sizeНеотрицательный размер в пикселях. Для предсказуемой настройки используйте степень 2, например 1024; backend может нормализовать размер. Не считайте значение точным измерением выделенного GPU-буфера.
SetScaling3DModevoid
public void SetScaling3DMode(Viewport.Scaling3DModeEnum scaling3DMode);Запрашивает алгоритм. В текущем renderer-setter неподдержанный FSR-запрос может быть отклонён без смены прежнего режима; C#-объект всё равно хранит новое запрошенное значение. Проверяйте доступность до изменения интерфейса игры.
| Имя | Тип | По умолчанию |
|---|---|---|
scaling3DMode | Viewport.Scaling3DModeEnum | — |
scaling3DModeЗначение Scaling3DModeEnum. Для scale больше 1 используйте Bilinear; по исходникам FSR/MetalFX/Nearest при downsampling заменяются внутренним bilinear.
SetScaling3DScalevoid
public void SetScaling3DScale(float scale);Задаёт масштаб внутреннего 3D-рендера, не размер окна и не масштаб canvas. Последующее обновление renderer меняет буферы; не считывайте кадр до завершения обновления.
| Имя | Тип | По умолчанию |
|---|---|---|
scale | float | — |
scaleКонечное число. Значения ниже 0.1 и выше 2 ограничиваются; 0.5 уменьшает каждую ось вдвое и число внутренних пикселей примерно вчетверо, но не гарантирует четырёхкратный FPS.
SetScreenSpaceAAvoid
public void SetScreenSpaceAA(Viewport.ScreenSpaceAAEnum screenSpaceAA);Выбирает экранное AA для этого viewport. Текущий Compatibility принимает Disabled, но отклоняет FXAA/SMAA. В Forward+/Vulkan проверено реальное изменение геометрических краёв обоими методами.
| Имя | Тип | По умолчанию |
|---|---|---|
screenSpaceAA | Viewport.ScreenSpaceAAEnum | — |
screenSpaceAADisabled, Fxaa или Smaa. Это не количество samples MSAA и не режим масштабирования разрешения.
SetSdfOversizevoid
public void SetSdfOversize(Viewport.SdfOversizeEnum oversize);| Имя | Тип | По умолчанию |
|---|---|---|
oversize | Viewport.SdfOversizeEnum | — |
SetSdfScalevoid
public void SetSdfScale(Viewport.SdfScaleEnum scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | Viewport.SdfScaleEnum | — |
SetSnap2DTransformsToPixelvoid
public void SetSnap2DTransformsToPixel(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetSnap2DVerticesToPixelvoid
public void SetSnap2DVerticesToPixel(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetSnapControlsToPixelsvoid
public void SetSnapControlsToPixels(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetTextureMipmapBiasvoid
public void SetTextureMipmapBias(float textureMipmapBias);| Имя | Тип | По умолчанию |
|---|---|---|
textureMipmapBias | float | — |
SetTransparentBackgroundvoid
public void SetTransparentBackground(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetUseDebandingvoid
public void SetUseDebanding(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetUseHdr2Dvoid
public void SetUseHdr2D(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetUseOcclusionCullingvoid
public void SetUseOcclusionCulling(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetUseOversamplingvoid
public void SetUseOversampling(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetUseOwnWorld3Dvoid
public void SetUseOwnWorld3D(bool enable);Задаёт OwnWorld3D. Использует собственный эффективный 3D-мир вместо назначенного/унаследованного. При назначенном World3D может дублировать этот ресурс; исходное свойство World3D и FindWorld3D тогда различаются. Не клонирует Entity. Отключение возвращает назначенный/унаследованный мир.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableИспользует собственный эффективный 3D-мир вместо назначенного/унаследованного. При назначенном World3D может дублировать этот ресурс; исходное свойство World3D и FindWorld3D тогда различаются. Не клонирует Entity. Отключение возвращает назначенный/унаследованный мир.
SetUseTaavoid
public void SetUseTaa(bool enable);Запрашивает TAA. Текущий renderer применяет его только в Forward+; C#-getter может хранить true даже после отказа в другом режиме. Для FSR2 используйте собственную временную реконструкцию upscaler, не отдельное TAA поверх неё.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enabletrue — запросить TAA, false — отключить. Пример устанавливает это свойство только в Forward+ и не обещает отсутствия ghosting.
SetUseXRvoid
public void SetUseXR(bool use);| Имя | Тип | По умолчанию |
|---|---|---|
use | bool | — |
SetVrsModevoid
public void SetVrsMode(Viewport.VrsModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Viewport.VrsModeEnum | — |
SetVrsTexturevoid
public void SetVrsTexture(Texture2D texture);| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
SetVrsUpdateModevoid
public void SetVrsUpdateMode(Viewport.VrsUpdateModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Viewport.VrsUpdateModeEnum | — |
SetWorld2Dvoid
public void SetWorld2D(World2D world2D);Задаёт World2D. Ресурс 2D-мира. У новых viewport по умолчанию разные World2D; для совместного 2D-содержимого назначьте один ресурс явно. Совместный World2D не объединяет выбор камер или 3D-миры.
| Имя | Тип | По умолчанию |
|---|---|---|
world2D | World2D | — |
world2DРесурс 2D-мира. У новых viewport по умолчанию разные World2D; для совместного 2D-содержимого назначьте один ресурс явно. Совместный World2D не объединяет выбор камер или 3D-миры.
SetWorld3Dvoid
public void SetWorld3D(World3D world3D);Задаёт World3D. Явно назначенный ресурс 3D-мира. Может быть null при наследовании эффективного мира от родителя; для разрешения используйте FindWorld3D. OwnWorld3D может иметь приоритет над этим источником. Не является ресурсом иерархии сцены.
| Имя | Тип | По умолчанию |
|---|---|---|
world3D | World3D | — |
world3DЯвно назначенный ресурс 3D-мира. Может быть null при наследовании эффективного мира от родителя; для разрешения используйте FindWorld3D. OwnWorld3D может иметь приоритет над этим источником. Не является ресурсом иерархии сцены.
UpdateMouseCursorStatevoid
public void UpdateMouseCursorState();Принудительно мгновенно обновлять дисплей на основе текущего положения курсора мыши. Это включает обновление формы курсора мыши и отправку необходимых сигналов Control.MouseEntered, CollisionObject2D.MouseEntered, CollisionObject3D.MouseEntered и Window.MouseEntered и их соответствующих аналогов mouse_exited.
WarpMousevoid
public void WarpMouse(Vector2 position);Перемещает указатель мыши в указанную позицию в этом Viewport, используя систему координат этого Viewport.
Примечание: Viewport.WarpMouse поддерживается только в Windows, macOS и Linux. Он не действует на Android, iOS и Web.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
Сигналы и события2
GuiFocusChangedСобытие
public event Viewport.GuiFocusChangedEventHandler GuiFocusChanged;Принимается, когда: Control Узел захватывает клавиатуру. Примечание: A Control Узел, теряющий фокус, не вызывает этот сигнал.
| Имя | Тип | По умолчанию |
|---|---|---|
node | Control | — |
SizeChangedСобытие
public event Action SizeChanged;Выдается при изменении размера области просмотра, будь то изменение размера окна или каким-либо другим способом.
Viewport.AnisotropicFiltering
| Значение | Описание |
|---|---|
Anisotropy16X = 4 | Используйте 16-кратную анизотропную фильтрацию. |
Anisotropy2X = 1 | Используйте 2-кратную анизотропную фильтрацию. |
Anisotropy4X = 2 | Использовать 4× анизотропную фильтрацию. Это значение по умолчанию. |
Anisotropy8X = 3 | Используйте 8-кратную анизотропную фильтрацию. |
Disabled = 0 | Анизотропная фильтрация отключена. |
Max = 5 | Представляет размер перечисления |
Viewport.DebugDrawEnum
| Значение | Описание |
|---|---|
AreaLightAtlas = 28 | Рисует атлас, используемый узлами |
ClusterAreaLights = 27 | Рисует кластер, используемый узлами |
ClusterDecals = 22 | Рисует кластер, используемый узлами |
ClusterOmniLights = 20 | Рисует кластер, используемый узлами |
ClusterReflectionProbes = 23 | Рисует кластер, используемый узлами |
ClusterSpotLights = 21 | Рисует кластер, используемый узлами |
DecalAtlas = 15 | Рисует атлас декалей, используемый |
DirectionalShadowAtlas = 10 | Рисует атлас теней, в котором хранятся тени от |
DisableLod = 19 | Рисует все объекты с наивысшим полигоном независимо от их расстояния от камеры. Низкий уровень детализации (LOD) не применяется. |
Disabled = 0 | Объекты отображаются нормально. |
GIBuffer = 18 | Рисует буфер, используемый для глобального освещения из |
InternalBuffer = 26 | Рисует внутренний буфер разрешения сцены в линейном цветовом пространстве перед применением тональной компрессии или постобработки. Примечание: Поддерживается только при использовании методов рендеринга Forward+ или Mobile. |
Lighting = 2 | Объекты отображаются без текстур и только с информацией об освещении. Примечание: При использовании этого режима отладки рисования, пользовательские шейдеры игнорируются, поскольку все материалы в сцене временно используют отладочный материал. Это означает, что результат функций пользовательских шейдеров (например, смещение вершин) больше не будет виден при использовании этого режима отладки рисования. |
MotionVectors = 25 | Рисует векторные линии на области просмотра, чтобы обозначить движение пикселей между кадрами. Примечание: Поддерживается только при использовании метода рендеринга Forward+. |
NormalBuffer = 5 | Объекты отображаются без информации об освещении, а их текстуры заменяются обычным отображением. Примечание: Поддерживается только при использовании метода рендеринга Forward+. |
Occluders = 24 | Рисует буфер, используемый для отбраковки окклюзии (Заклубирование). Примечание: Поддерживается только при использовании методов рендеринга Forward+ или Mobile. |
Overdraw = 3 | Объекты отображаются полупрозрачными с аддитивным смешиванием, так что вы можете видеть, где они рисуются друг над другом. Более высокая перерисовка означает, что вы тратите производительность на рисование пикселей, которые скрыты за другими. Примечание: При использовании этого режима отладки отрисовки, пользовательские шейдеры игнорируются, поскольку все материалы в сцене временно используют отладочный материал. Это означает, что результат функций пользовательских шейдеров (например, смещение вершин) больше не будет виден при использовании этого режима отладки отрисовки. |
PssmSplits = 14 | Окрашивает каждое разделение PSSM для |
SceneLuminance = 11 | Рисует буфер яркости сцены (если доступен) в верхнем левом квадранте |
Sdfgi = 16 | Рисует каскады, используемые для визуализации глобального освещения поля расстояний со знаком (SDFGI).
Ничего не делает, если |
SdfgiProbes = 17 | Отображает зонды, используемые для глобального освещения с учетом знаковых расстояний (SDFGI).
В редакторе щелчок левой кнопкой мыши по зонду отобразит дополнительные яркие точки, показывающие информацию о его перекрытии. Белая точка означает, что свет в точке вообще не перекрыт, а красная точка означает, что свет полностью перекрыт. Возможны промежуточные значения.
Ничего не делает, если параметр |
ShadowAtlas = 9 | Рисует атлас теней, в котором хранятся тени от |
Ssao = 12 | Рисует текстуру экранного пространства Внешнее перекрытие вместо сцены, чтобы вы могли четко видеть, как она влияет на объекты. Чтобы этот режим отображения работал, необходимо установить |
Ssil = 13 | Рисует текстуру непрямого освещения экранного пространства вместо сцены, чтобы вы могли четко видеть, как она влияет на объекты. Чтобы этот режим отображения работал, необходимо установить |
Unshaded = 1 | Объекты отображаются без световой информации. |
VoxelGIAlbedo = 6 | Объекты отображаются только со значением альбедо из |
VoxelGIEmission = 8 | Объекты отображаются только с цветом излучения (emission) от |
VoxelGILighting = 7 | Объекты отображаются только со значением освещения из |
Wireframe = 4 | Объекты отображаются как каркасные модели.
Примечание: |
Viewport.DefaultCanvasItemTextureFilter
| Значение | Описание |
|---|---|
Linear = 1 | Фильтр текстуры смешивает ближайшие 4 пикселя. Это делает текстуру гладкой вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются). |
LinearWithMipmaps = 2 | Фильтр текстуры смешивает ближайшие 4 пикселя и ближайшие 2 mip-карты (или использует ближайшую mip-карту, если |
Max = 5 | Представляет размер перечисления |
Nearest = 0 | Фильтр текстуры считывает только ближайший пиксель. Это делает текстуру пикселизированной вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются). |
NearestWithMipmaps = 3 | Фильтр текстуры считывает данные с ближайшего пикселя и смешивает данные между двумя ближайшими mip-картами (или использует ближайшую mip-карту, если |
ParentNode = 4 |
|
Viewport.DefaultCanvasItemTextureRepeat
| Значение | Описание |
|---|---|
Disabled = 0 | Отключает повторение текстур. Вместо этого при считывании UV за пределами диапазона 0-1 значение будет прижато к краю текстуры, что приведет к растянутому виду границ текстуры. |
Enabled = 1 | Позволяет текстуре повторяться, когда координаты UV выходят за пределы диапазона 0-1. При использовании одного из режимов линейной фильтрации это может привести к появлению артефактов на краях текстуры, когда сэмплер фильтрует края текстуры. |
Max = 4 | Представляет размер перечисления |
Mirror = 2 | При повторении переворачивайте текстуру так, чтобы края совпадали, а не резко менялись. |
ParentNode = 3 |
|
Viewport.Msaa
| Значение | Описание |
|---|---|
Disabled = 0 | Режим сглаживания Multisample отключен. Это значение по умолчанию, а также самая быстрая настройка. |
Max = 4 | Представляет размер перечисления |
Msaa2X = 1 | Используйте 2× Множественная выборка Антиализационная. Это имеет умеренные затраты производительности. Это помогает заметно уменьшить алиасинг, но 4× MSAA все равно выглядит значительно лучше. |
Msaa4X = 2 | Использовать 4× Множественная выборка Антиализационная. Это значительно снижает производительность и, как правило, является хорошим компромиссом между производительностью и качеством. |
Msaa8X = 3 | Используйте 8× Множественная выборка Антиализационная. Это очень дорого обходится производительности. Разница между 4× и 8× MSAA не всегда может быть видна в реальных игровых условиях. Вероятно, не поддерживается на слабом и старом оборудовании. |
Viewport.PositionalShadowAtlasQuadrantSubdiv
| Значение | Описание |
|---|---|
Disabled = 0 | Этот квадрант не будет использоваться. |
Max = 7 | Представляет размер перечисления |
Subdiv1 = 1 | Этот квадрант будет использоваться только одной картой теней. |
Subdiv1024 = 6 | Этот квадрант будет разделен на 1024 части и использован до 1024 карт теней. Если |
Subdiv16 = 3 | Этот квадрант будет разделен на 16 частей и будет использоваться для 16 карт теней. |
Subdiv256 = 5 | Этот квадрант будет разделен на 256 частей и использован до 256 карт теней. Если |
Subdiv4 = 2 | Этот квадрант будет разделен на 4 части и использован для 4 карт теней. |
Subdiv64 = 4 | Этот квадрант будет разделен на 64 части и будет использоваться для 64 карт теней. |
Viewport.RenderInfo
| Значение | Описание |
|---|---|
DrawCallsInFrame = 2 | Количество вызовов отрисовки в кадре. |
Max = 3 | Представляет размер перечисления |
ObjectsInFrame = 0 | Количество объектов в кадре. |
PrimitivesInFrame = 1 | Количество вершин в кадре. |
Viewport.RenderInfoType
| Значение | Описание |
|---|---|
Canvas = 2 | Рендеринг элемента Canvas (холст). Сюда входит весь 2D-рендеринг. |
Max = 3 | Представляет размер перечисления |
Shadow = 1 | Проход рендеринга теней. Объекты будут рендериться несколько раз в зависимости от количества источников света с тенями и количества направленных теневых разделений. |
Visible = 0 | Видимый проход рендеринга (без теней). |
Viewport.Scaling3DModeEnum
| Значение | Описание |
|---|---|
Bilinear = 0 | Использовать билинейное масштабирование для 3D-буфера области просмотра. Величину масштабирования можно задать с помощью |
Fsr = 1 | Используйте масштабирование AMD FilitityFX Суперразрешение 1.0 для 3D-буфера области просмотра. Величину масштабирования можно задать с помощью |
Fsr2 = 2 | Используйте масштабирование AMD FilitityFX Суперразрешение 2.2 для 3D-буфера области просмотра. Величину масштабирования можно задать с помощью |
Max = 6 | Представляет размер перечисления |
MetalfxSpatial = 3 | Используйте Пространственное обновление MetalFX для 3D-буфера области просмотра.
Величину масштабирования можно задать с помощью |
MetalfxTemporal = 4 | Используйте MetalFX временнóе обновление для 3D-буфера области просмотра.
Величину масштабирования можно задать с помощью |
Nearest = 5 | Использует фильтрацию по ближайшему соседу для 3D-буфера окна просмотра. Это выглядит более чётко, чем |
Viewport.ScreenSpaceAAEnum
| Значение | Описание |
|---|---|
Disabled = 0 | Не выполняйте сглаживание при полноэкранной постобработке. |
Fxaa = 1 | Использует быстрое приблизительное сглаживание. FXAA — популярный метод сглаживания в экранном пространстве, который быстр, но делает изображение размытым, особенно при низком разрешении. Он может работать относительно хорошо при больших разрешениях, таких как 1440p и 4K. |
Max = 3 | Представляет размер перечисления |
Smaa = 2 | Использовать субпиксельное морфологическое сглаживание (SMAA). SMAA может давать более чёткие результаты, чем FXAA, но требует несколько больших затрат производительности. |
Viewport.SdfOversizeEnum
| Значение | Описание |
|---|---|
Max = 4 | Представляет размер перечисления |
Oversize100Percent = 0 | Поле расстояния со знаком охватывает только собственный прямоугольник области просмотра. |
Oversize120Percent = 1 | Поле расстояния со знаком расширяется, охватывая 20% размера области просмотра вокруг границ. |
Oversize150Percent = 2 | Поле расстояния со знаком расширяется, охватывая 50% размера области просмотра вокруг границ. |
Oversize200Percent = 3 | Поле расстояния со знаком расширяется, охватывая 100% (в два раза) размера области просмотра вокруг границ. |
Viewport.SdfScaleEnum
| Значение | Описание |
|---|---|
Max = 3 | Представляет размер перечисления |
Scale100Percent = 0 | Поле знакового расстояния отображается в полном разрешении. |
Scale25Percent = 2 | Поле знакового расстояния отображается с разрешением, равным четверти разрешения этой области просмотра. |
Scale50Percent = 1 | Поле знакового расстояния отображается с разрешением, равным половине разрешения этой области просмотра. |
Viewport.VrsModeEnum
| Значение | Описание |
|---|---|
Disabled = 0 | Функция затенения с переменной скоростью (VRS) отключена. |
Max = 3 | Представляет размер перечисления |
Texture = 1 | Изменчивый курс использует текстуру. Обратите внимание, для стереоскопического используйте атлас текстур с текстурой для каждого вида. |
XR = 2 | Текстура Изменчивый курс предоставляется первичным |
Viewport.VrsUpdateModeEnum
| Значение | Описание |
|---|---|
Always = 2 | Входная текстура для затенения с переменной скоростью будет обрабатываться в каждом кадре. |
Disabled = 0 | Входная текстура для затенения с переменной скоростью не будет обработана. |
Max = 3 | Представляет размер перечисления |
Once = 1 | Входная текстура для затенения с переменной скоростью будет обработана один раз. |