SubViewport
Интерфейс к игровому миру, который не создает окно и не выводит изображение на экран напрямую.
Интерфейс к игровому миру, который не создает окно и не выводит изображение на экран напрямую.
SubViewport Изолирует прямоугольную область сцены для независимого отображения. Это можно использовать, например, для отображения пользовательского интерфейса в трехмерном пространстве.
Примечание: SubViewport — это Viewport, который не является Window, т. е. он сам по себе ничего не рисует. Чтобы что-либо отобразить, SubViewport должен иметь ненулевой размер и быть либо помещен в SubViewportContainer, либо назначен ViewportTexture.
Примечание: InputEvent по умолчанию не передаются в автономный SubViewport. Чтобы обеспечить распространение InputEvent, SubViewport можно поместить внутрь SubViewportContainer.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
SubViewportКонструктор
public SubViewport();Свойства6
RenderTargetClearModeСвойство
public SubViewport.ClearMode RenderTargetClearMode { get; set; }Режим очистки, когда в качестве цели рендеринга используется подокно просмотра. Примечание: Это свойство предназначено для использования в 2D.
RenderTargetUpdateModeСвойство
public SubViewport.UpdateMode RenderTargetUpdateMode { get; set; }Управляет перерисовкой render target: Disabled сохраняет последний кадр, Always рисует постоянно, Once запрашивает один кадр. Это не пауза скриптов или физики. В текущей сборке после выполнения Once getter сохраняет значение Once, хотя RenderingServer уже остановил повторную отрисовку. Повторное присваивание Once снова запрашивает кадр; не ждите смены getter на Disabled как признака завершения.
SizeСвойство
public Vector2I Size { get; set; }Размер выходного viewport в пикселях. Scaling3DScale меняет внутреннее разрешение 3D отдельно: при Size=(512,384) и scale 0.5 GetTexture по-прежнему имеет 512×384. Для изменения самого результата изменяйте Size, учитывая UI и размеры цели.
Size2DOverrideСвойство
public Vector2I Size2DOverride { get; set; }Логическая область 2D в пикселях. Для её растягивания в выходной target включите Size2DOverrideStretch. Меняет отображение координат canvas, не размер выходной текстуры Size.
Size2DOverrideStretchСвойство
public bool Size2DOverrideStretch { get; set; }Разрешает растягивание логической области Size2DOverride в выходной Size. Например, canvas 64 × 48 может занимать target 128 × 96 без изменения размера выходной текстуры.
ViewCountСвойство
public int ViewCount { get; set; }Количество слоёв представления, в которые мы выполняем рендеринг. Установите это значение в 2, чтобы включить стереорендеринг.
Методы12
GetClearModeSubViewport.ClearMode
public SubViewport.ClearMode GetClearMode();SubViewport.ClearModeGetSizeVector2I
public Vector2I GetSize();Vector2IGetSize2DOverrideVector2I
public Vector2I GetSize2DOverride();Возвращает запрошенное значение Size2DOverride. Логическая область 2D в пикселях. Для её растягивания в выходной target включите Size2DOverrideStretch. Меняет отображение координат canvas, не размер выходной текстуры Size.
Vector2IЗначение свойства Size2DOverride; учитывайте описанное различие между настройкой и фактическим результатом.
GetUpdateModeSubViewport.UpdateMode
public SubViewport.UpdateMode GetUpdateMode();Возвращает запрошенное значение RenderTargetUpdateMode. Режим обновления текстуры. Disabled сохраняет кадр; Always отрисовывает и без видимого использования; Once запрашивает один кадр. Getter сцены сохраняет запрос Once после выполнения, поэтому не служит индикатором завершения. Повторное назначение Once запрашивает следующий кадр. Не приостанавливает обработку Entity.
SubViewport.UpdateModeЗначение свойства RenderTargetUpdateMode; учитывайте описанное различие между настройкой и фактическим результатом.
GetViewCountint
public int GetViewCount();intIsSize2DOverrideStretchEnabledbool
public bool IsSize2DOverrideStretchEnabled();Возвращает запрошенное значение Size2DOverrideStretch. Разрешает растягивание логической области Size2DOverride в выходной Size. Например, canvas 64 × 48 может занимать target 128 × 96 без изменения размера выходной текстуры.
boolЗначение свойства Size2DOverrideStretch; учитывайте описанное различие между настройкой и фактическим результатом.
SetClearModevoid
public void SetClearMode(SubViewport.ClearMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | SubViewport.ClearMode | — |
SetSizevoid
public void SetSize(Vector2I size);| Имя | Тип | По умолчанию |
|---|---|---|
size | Vector2I | — |
SetSize2DOverridevoid
public void SetSize2DOverride(Vector2I size);Задаёт Size2DOverride. Логическая область 2D в пикселях. Для её растягивания в выходной target включите Size2DOverrideStretch. Меняет отображение координат canvas, не размер выходной текстуры Size.
| Имя | Тип | По умолчанию |
|---|---|---|
size | Vector2I | — |
sizeЛогическая область 2D в пикселях. Для её растягивания в выходной target включите Size2DOverrideStretch. Меняет отображение координат canvas, не размер выходной текстуры Size.
SetSize2DOverrideStretchvoid
public void SetSize2DOverrideStretch(bool enable);Задаёт Size2DOverrideStretch. Разрешает растягивание логической области Size2DOverride в выходной Size. Например, canvas 64 × 48 может занимать target 128 × 96 без изменения размера выходной текстуры.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРазрешает растягивание логической области Size2DOverride в выходной Size. Например, canvas 64 × 48 может занимать target 128 × 96 без изменения размера выходной текстуры.
SetUpdateModevoid
public void SetUpdateMode(SubViewport.UpdateMode mode);Задаёт RenderTargetUpdateMode. Режим обновления текстуры. Disabled сохраняет кадр; Always отрисовывает и без видимого использования; Once запрашивает один кадр. Getter сцены сохраняет запрос Once после выполнения, поэтому не служит индикатором завершения. Повторное назначение Once запрашивает следующий кадр. Не приостанавливает обработку Entity.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | SubViewport.UpdateMode | — |
modeРежим обновления текстуры. Disabled сохраняет кадр; Always отрисовывает и без видимого использования; Once запрашивает один кадр. Getter сцены сохраняет запрос Once после выполнения, поэтому не служит индикатором завершения. Повторное назначение Once запрашивает следующий кадр. Не приостанавливает обработку Entity.
SetViewCountvoid
public void SetViewCount(int viewCount);| Имя | Тип | По умолчанию |
|---|---|---|
viewCount | int | — |
SubViewport.ClearMode
| Значение | Описание |
|---|---|
Always = 0 | Всегда очищайте цель рендеринга перед рисованием. |
Never = 1 | Никогда не очищайте цель рендеринга. |
Once = 2 | Очистите цель рендеринга на следующем кадре, затем переключитесь на |
SubViewport.UpdateMode
| Значение | Описание |
|---|---|
Always = 4 | Всегда обновляйте цель рендеринга. |
Disabled = 0 | Не обновляйте цель рендеринга. |
Once = 1 | Обновите цель рендеринга один раз, затем переключитесь на |
WhenParentVisible = 3 | Обновляйте цель рендеринга только тогда, когда его родительский объект виден. |
WhenVisible = 2 | Обновлять цель рендеринга только тогда, когда он виден. Это значение по умолчанию. |