ViewportTexture

Наследует: Texture2D < Texture < Resource < RefCounted < Object

Предоставляет содержимое Viewport в виде динамической текстуры.

Описание

ViewportTexture предоставляет содержимое Viewport в виде динамической Texture2D. Это можно использовать для объединения рендеринга узлов Control, Node2D и Node3D. Например, вы можете использовать эту текстуру для отображения 3D-сцены внутри TextureRect или 2D-наложения в Sprite3D.

Чтобы получить ViewportTexture в коде, используйте Viewport.get_texture() целевого окна просмотра.

Примечание: ViewportTexture всегда локален для своей сцены (см. Resource.resource_local_to_scene). Если корневой элемент сцены не готов, он может вернуть некорректные данные (см. Node.ready).

Примечание: Создание сцен, содержащих ViewportTexture высокого разрешения, может вызвать заметные подтормаживания.

Примечание: При использовании Viewport с параметром Viewport.use_hdr_2d, установленным в true, возвращаемая текстура будет представлять собой HDR-изображение, использующее линейное кодирование. При непосредственном отображении на экране оно может выглядеть темнее обычного. Для преобразования в нелинейное кодирование sRGB можно выполнить следующие действия:

img.convert(Image.FORMAT_RGBA8)
img.linear_to_srgb()

Примечание: Некоторые узлы, такие как Decal, Light3D и PointLight2D, не поддерживают прямое использование ViewportTexture. Чтобы использовать данные текстуры из ViewportTexture в этих узлах, необходимо создать ImageTexture, вызвав Texture2D.get_image() для ViewportTexture и передав результат в ImageTexture.create_from_image(). Это преобразование является медленной операцией, поэтому его не следует выполнять каждый кадр.

Обучающие материалы

Свойства

NodePath

viewport_path

NodePath("")


Описания свойств

NodePath viewport_path = NodePath("") 🔗

  • void set_viewport_path_in_scene(value: NodePath)

  • NodePath get_viewport_path_in_scene()

Путь к узлу Viewport для отображения. Это относительно локального корня сцены (см. Resource.get_local_scene()), не к узлам, которые используют эту текстуру.

Примечание: В редакторе этот путь автоматически обновляется, когда целевой viewport или один из его предков переименовывается или перемещается. Во время выполнения этот путь может не обновляться автоматически, если корень сцены не может быть найден.