mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
275 lines
9.5 KiB
ReStructuredText
275 lines
9.5 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. DO NOT EDIT THIS FILE!!!
|
|
.. Generated automatically from Godot engine sources.
|
|
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
|
|
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraServer.xml.
|
|
|
|
.. _class_CameraServer:
|
|
|
|
CameraServer
|
|
============
|
|
|
|
**Inherits:** :ref:`Object<class_Object>`
|
|
|
|
Server keeping track of different cameras accessible in Godot.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Description
|
|
-----------
|
|
|
|
The **CameraServer** keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
|
|
|
|
It is notably used to provide AR modules with a video feed from the camera.
|
|
|
|
\ **Note:** This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no :ref:`CameraFeed<class_CameraFeed>`\ s will be available. To get a :ref:`CameraFeed<class_CameraFeed>` on iOS, the camera plugin from `godot-ios-plugins <https://github.com/godotengine/godot-ios-plugins>`__ is required.
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Properties
|
|
----------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------+-----------------------------------------------------------------------+-----------+
|
|
| :ref:`bool<class_bool>` | :ref:`monitoring_feeds<class_CameraServer_property_monitoring_feeds>` | ``false`` |
|
|
+-------------------------+-----------------------------------------------------------------------+-----------+
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. 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
|
|
|
|
Signals
|
|
-------
|
|
|
|
.. _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>`
|
|
|
|
Emitted when a :ref:`CameraFeed<class_CameraFeed>` is added (e.g. a webcam is plugged in).
|
|
|
|
.. 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>`
|
|
|
|
Emitted when a :ref:`CameraFeed<class_CameraFeed>` is removed (e.g. a webcam is unplugged).
|
|
|
|
.. 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>`
|
|
|
|
Emitted when camera feeds are updated.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _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``
|
|
|
|
The RGBA camera image.
|
|
|
|
.. _class_CameraServer_constant_FEED_YCBCR_IMAGE:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_YCBCR_IMAGE** = ``0``
|
|
|
|
The `YCbCr <https://en.wikipedia.org/wiki/YCbCr>`__ camera image.
|
|
|
|
.. _class_CameraServer_constant_FEED_Y_IMAGE:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_Y_IMAGE** = ``0``
|
|
|
|
The Y component camera image.
|
|
|
|
.. _class_CameraServer_constant_FEED_CBCR_IMAGE:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`FeedImage<enum_CameraServer_FeedImage>` **FEED_CBCR_IMAGE** = ``1``
|
|
|
|
The CbCr component camera image.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _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**\ (\ )
|
|
|
|
If ``true``, the server is actively monitoring available camera feeds.
|
|
|
|
This has a performance cost, so only set it to ``true`` when you're actively accessing the camera.
|
|
|
|
\ **Note:** After setting it to ``true``, you can receive updated camera feeds through the :ref:`camera_feeds_updated<class_CameraServer_signal_camera_feeds_updated>` signal.
|
|
|
|
|
|
.. 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
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_CameraServer_method_add_feed:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **add_feed**\ (\ feed\: :ref:`CameraFeed<class_CameraFeed>`\ ) :ref:`🔗<class_CameraServer_method_add_feed>`
|
|
|
|
Adds the camera ``feed`` to the camera server.
|
|
|
|
.. 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>`
|
|
|
|
Returns an array of :ref:`CameraFeed<class_CameraFeed>`\ s.
|
|
|
|
.. 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>`
|
|
|
|
Returns the :ref:`CameraFeed<class_CameraFeed>` corresponding to the camera with the given ``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>`
|
|
|
|
Returns the number of :ref:`CameraFeed<class_CameraFeed>`\ s registered.
|
|
|
|
.. 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>`
|
|
|
|
Removes the specified camera ``feed``.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
|
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
|
|
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
|
|
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
|
|
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|
|
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|
|
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|
|
.. |void| replace:: :abbr:`void (No return value.)`
|