Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ImageTextureLayered
Наследует: TextureLayered < Texture < Resource < RefCounted < Object
Наследуется от: Cubemap, CubemapArray, Texture2DArray
Базовый класс для типов текстур, которые содержат данные нескольких ImageTexture. Каждое изображение имеет одинаковый размер и формат.
Описание
Базовый класс для Texture2DArray, Cubemap и CubemapArray. Не может использоваться напрямую, но содержит все функции, необходимые для доступа к производным типам ресурсов. См. также Texture3D.
Методы
create_from_images(images: Array[Image]) |
|
void |
update_layer(image: Image, layer: int) |
Описания метода
Error create_from_images(images: Array[Image]) 🔗
Создает ImageTextureLayered из массива Image. См. Image.create() для ожидаемого формата данных. Первое изображение определяет ширину, высоту, формат изображения и настройку mipmapping. Другие изображения должны иметь ту же ширину, высоту, формат изображения и настройку mipmapping.
Каждое Image представляет один layer.
# Заполните массив изображений разными цветами.
var images = []
const LAYERS = 6
for i in LAYERS:
var image = Image.create_empty(128, 128, false, Image.FORMAT_RGB8)
if i % 3 == 0:
image.fill(Color.RED)
elif i % 3 == 1:
image.fill(Color.GREEN)
else:
image.fill(Color.BLUE)
images.push_back(image)
# Создайте и сохраните массив 2D-текстур. Массив изображений должен содержать не менее 1 изображения.
var texture_2d_array = Texture2DArray.new()
texture_2d_array.create_from_images(images)
ResourceSaver.save(texture_2d_array, "res://texture_2d_array.res", ResourceSaver.FLAG_COMPRESS)
# Создайте и сохраните кубическую карту. Массив изображений должен содержать ровно 6 изображений.
# Изображения кубической карты указаны в следующем порядке: X+, X-, Y+, Y-, Z+, Z-
# (в системе координат Годо Y+ — «вверх», а Z- — «вперед»).
var cubemap = Cubemap.new()
cubemap.create_from_images(images)
ResourceSaver.save(cubemap, "res://cubemap.res", ResourceSaver.FLAG_COMPRESS)
# Создайте и сохраните массив кубических карт. Массив изображений должен иметь число изображений, кратное 6.
# Изображения каждой кубической карты указываются в следующем порядке: X+, X-, Y+, Y-, Z+, Z-
# (в системе координат Годо Y+ — «вверх», а Z- — «вперед»).
var cubemap_array = CubemapArray.new()
cubemap_array.create_from_images(images)
ResourceSaver.save(cubemap_array, "res://cubemap_array.res", ResourceSaver.FLAG_COMPRESS)
void update_layer(image: Image, layer: int) 🔗
Заменяет существующие данные Image в указанном layer этим новым изображением.
Указанное Image должно иметь ту же ширину, высоту, формат изображения и флаг MIP-отображения, что и остальные указанные изображения.
Если формат изображения не поддерживается, он будет распакован и преобразован в аналогичный и поддерживаемый Format.
Обновление происходит немедленно: оно синхронизируется с рисованием.