mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
270 lines
11 KiB
ReStructuredText
270 lines
11 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_CameraServer:
|
||
|
||
CameraServer
|
||
============
|
||
|
||
**Наследует:** :ref:`Object<class_Object>`
|
||
|
||
Сервер отслеживает различные камеры, доступные в Godot.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
**CameraServer** отслеживает различные камеры, доступные в Godot. Это внешние камеры, такие как веб-камеры или камеры на вашем телефоне.
|
||
|
||
Он в частности используется для предоставления AR-модулям видеопотока с камеры.
|
||
|
||
\ **Примечание:** Этот класс в настоящее время реализован только в Linux, Android, macOS и iOS. На других платформах :ref:`CameraFeed<class_CameraFeed>` будет недоступен. Чтобы получить :ref:`CameraFeed<class_CameraFeed>` на iOS, требуется плагин камеры из `godot-ios-plugins <https://github.com/godotengine/godot-ios-plugins>`__.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-------------------------+-----------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`monitoring_feeds<class_CameraServer_property_monitoring_feeds>` | ``false`` |
|
||
+-------------------------+-----------------------------------------------------------------------+-----------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_feed<class_CameraServer_method_add_feed>`\ (\ feed\: :ref:`CameraFeed<class_CameraFeed>`\ ) |
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`CameraFeed<class_CameraFeed>`\] | :ref:`feeds<class_CameraServer_method_feeds>`\ (\ ) |
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`CameraFeed<class_CameraFeed>` | :ref:`get_feed<class_CameraServer_method_get_feed>`\ (\ index\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_feed_count<class_CameraServer_method_get_feed_count>`\ (\ ) |
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_feed<class_CameraServer_method_remove_feed>`\ (\ feed\: :ref:`CameraFeed<class_CameraFeed>`\ ) |
|
||
+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигналы
|
||
--------------
|
||
|
||
.. _class_CameraServer_signal_camera_feed_added:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**camera_feed_added**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_CameraServer_signal_camera_feed_added>`
|
||
|
||
Выдается при добавлении :ref:`CameraFeed<class_CameraFeed>` (например, при подключении веб-камеры).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_signal_camera_feed_removed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**camera_feed_removed**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_CameraServer_signal_camera_feed_removed>`
|
||
|
||
Выдается при отключении :ref:`CameraFeed<class_CameraFeed>` (например, при отключении веб-камеры).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_signal_camera_feeds_updated:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**camera_feeds_updated**\ (\ ) :ref:`🔗<class_CameraServer_signal_camera_feeds_updated>`
|
||
|
||
Выдается при обновлении данных с камер.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_CameraServer_FeedImage:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **FeedImage**: :ref:`🔗<enum_CameraServer_FeedImage>`
|
||
|
||
.. _class_CameraServer_constant_FEED_RGBA_IMAGE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_RGBA_IMAGE** = ``0``
|
||
|
||
Изображение с камеры RGBA.
|
||
|
||
.. _class_CameraServer_constant_FEED_YCBCR_IMAGE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_YCBCR_IMAGE** = ``0``
|
||
|
||
Изображение с камеры `YCbCr <https://en.wikipedia.org/wiki/YCbCr>`__.
|
||
|
||
.. _class_CameraServer_constant_FEED_Y_IMAGE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_Y_IMAGE** = ``0``
|
||
|
||
Изображение камеры Y-компоненты.
|
||
|
||
.. _class_CameraServer_constant_FEED_CBCR_IMAGE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_CBCR_IMAGE** = ``1``
|
||
|
||
Изображение с камеры компонента CbCr.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств
|
||
--------------------------------
|
||
|
||
.. _class_CameraServer_property_monitoring_feeds:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **monitoring_feeds** = ``false`` :ref:`🔗<class_CameraServer_property_monitoring_feeds>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_monitoring_feeds**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_monitoring_feeds**\ (\ )
|
||
|
||
Если ``true``, сервер активно отслеживает доступные видео с камер.
|
||
|
||
Это влияет на производительность, поэтому устанавливайте значение ``true`` только при активном доступе к камере.
|
||
|
||
\ **Примечание:** После установки значения ``true`` вы сможете получать обновлённые видео с камер через сигнал :ref:`camera_feeds_updated<class_CameraServer_signal_camera_feeds_updated>`.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
func _ready():
|
||
CameraServer.camera_feeds_updated.connect(_on_camera_feeds_updated)
|
||
CameraServer.monitoring_feeds = true
|
||
|
||
func _on_camera_feeds_updated():
|
||
var feeds = CameraServer.feeds()
|
||
|
||
.. code-tab:: csharp
|
||
|
||
public override void _Ready()
|
||
{
|
||
CameraServer.CameraFeedsUpdated += OnCameraFeedsUpdated;
|
||
CameraServer.MonitoringFeeds = true;
|
||
}
|
||
|
||
void OnCameraFeedsUpdated()
|
||
{
|
||
var feeds = CameraServer.Feeds();
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_CameraServer_method_add_feed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_feed**\ (\ feed\: :ref:`CameraFeed<class_CameraFeed>`\ ) :ref:`🔗<class_CameraServer_method_add_feed>`
|
||
|
||
Добавляет камеру ``feed`` на сервер камер.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_method_feeds:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`CameraFeed<class_CameraFeed>`\] **feeds**\ (\ ) :ref:`🔗<class_CameraServer_method_feeds>`
|
||
|
||
Возвращает массив :ref:`CameraFeed<class_CameraFeed>`-ов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_method_get_feed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`CameraFeed<class_CameraFeed>` **get_feed**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_CameraServer_method_get_feed>`
|
||
|
||
Возвращает :ref:`CameraFeed<class_CameraFeed>`, соответствующий камере с указанным ``index``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_method_get_feed_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_feed_count**\ (\ ) :ref:`🔗<class_CameraServer_method_get_feed_count>`
|
||
|
||
Возвращает количество зарегистрированных :ref:`CameraFeed<class_CameraFeed>`-ов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_CameraServer_method_remove_feed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_feed**\ (\ feed\: :ref:`CameraFeed<class_CameraFeed>`\ ) :ref:`🔗<class_CameraServer_method_remove_feed>`
|
||
|
||
Удаляет указанную камеру ``feed``.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
|
||
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
|
||
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
|
||
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`
|