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...
CameraFeed
Успадковує: RefCounted < Object
Подача з камери дає вам доступ до однієї фізичної камери, підключеної до вашого пристрою.
Опис
Потік камери надає доступ до однієї фізичної камери, підключеної до вашого пристрою. Якщо ця функція увімкнена, Godot почне знімати кадри з камери, які потім можна використовувати. Див. також CameraServer.
Примітка: Багато камер повертають зображення у форматі YCbCr, які розділені на дві текстури і потребують об’єднання в шейдері. Godot робить це автоматично, якщо ви налаштуєте середовище так, щоб зображення з камери відображалося у фоновому режимі.
Примітка: Цей клас наразі реалізовано лише на Linux, Android, macOS та iOS. На інших платформах CameraFeeds не буде доступним. Щоб отримати CameraFeed на iOS, увімкніть EditorExportPlatformIOS.modules/camera.
Властивості
|
||
|
||
|
Методи
_activate_feed() virtual |
|
void |
_deactivate_feed() virtual |
_get_formats() virtual const |
|
_set_format(index: int, parameters: Dictionary) virtual |
|
get_datatype() const |
|
get_id() const |
|
get_name() const |
|
get_position() const |
|
get_texture_tex_id(feed_image_type: FeedImage) |
|
void |
set_external(width: int, height: int) |
set_format(index: int, parameters: Dictionary) |
|
void |
|
void |
set_position(position: FeedPosition) |
void |
set_rgb_image(rgb_image: Image) |
void |
set_ycbcr_image(ycbcr_image: Image) |
void |
set_ycbcr_images(y_image: Image, cbcr_image: Image) |
Сигнали
format_changed() 🔗
Видається при зміні формату.
frame_changed() 🔗
Випускається, коли доступний новий кадр.
Переліки
enum FeedDataType: 🔗
FeedDataType FEED_NOIMAGE = 0
Для каналу не встановлено зображення.
FeedDataType FEED_RGB = 1
Подача постачає зображення RGB.
FeedDataType FEED_YCBCR = 2
Подача постачає зображення YCbCr, які потрібно перетворити на RGB.
FeedDataType FEED_YCBCR_SEP = 3
Подача подає окремі зображення Y та CbCr, які потрібно об’єднати та перетворити на RGB.
FeedDataType FEED_EXTERNAL = 4
Корм постачає зовнішнє зображення.
enum FeedPosition: 🔗
FeedPosition FEED_UNSPECIFIED = 0
Невизначена позиція.
FeedPosition FEED_FRONT = 1
Камера встановлена на передній частині пристрою.
FeedPosition FEED_BACK = 2
Камера встановлена на задній панелі пристрою.
Описи властивостей
Якщо true, канал активний.
Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1) 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
Перетворення, застосоване до зображення камери.
Array get_formats()
Формати, які підтримує фід. Кожен запис є Словником, що описує параметри формату.
Описи методів
bool _activate_feed() virtual 🔗
Викликається, коли активовано подачу з камери.
void _deactivate_feed() virtual 🔗
Викликається, коли подача камери вимкнена.
Array _get_formats() virtual const 🔗
Переопределите цей метод, щоб визначити формати, які підтримує камера.
bool _set_format(index: int, parameters: Dictionary) virtual 🔗
Переопределите цей метод, щоб встановити формат відеопотоку з камери.
FeedDataType get_datatype() const 🔗
Повертає тип даних зображення каналу.
Повертає унікальний ідентифікатор для цього каналу.
Повертає назву камери.
FeedPosition get_position() const 🔗
Повертає положення камери на пристрої.
int get_texture_tex_id(feed_image_type: FeedImage) 🔗
Повертає ідентифікатор текстури (може використовуватися деякими зовнішніми бібліотеками, яким для запису даних потрібен дескриптор текстури).
void set_external(width: int, height: int) 🔗
Встановлює канал як зовнішній канал, наданий іншою бібліотекою.
bool set_format(index: int, parameters: Dictionary) 🔗
Встановлює параметри формату стрічки для заданого index у масиві formats. Повертає true у разі успіху. За замовчуванням потік, закодований YUYV, перетворюється на FEED_RGB. Формат виводу потоку, закодованого YUYV, можна змінити, встановивши запис output parameters на одне з наступних значень:
"separate"призведе до FEED_YCBCR_SEP;"grayscale"призведе до ненасиченого FEED_RGB;"copy"призведе до FEED_YCBCR.
Встановлює назву камери.
void set_position(position: FeedPosition) 🔗
Встановлює положення цієї камери.
void set_rgb_image(rgb_image: Image) 🔗
Встановлює зображення RGB для цього каналу.
void set_ycbcr_image(ycbcr_image: Image) 🔗
Встановлює зображення YCbCr для цього каналу.
void set_ycbcr_images(y_image: Image, cbcr_image: Image) 🔗
Встановлює зображення Y та CbCr для цього каналу.