CameraServer
继承: Object
跟踪 Godot 中可访问的不同摄像头的服务器。
描述
CameraServer 记录了 Godot 中可访问的不同相机。此处的相机指外部相机,例如网络摄像头或手机上的摄像头。
主要用于为 AR 模块提供来自相机的视频源。
注意:这个类目前只在 Linux、Android、macOS 和 iOS 上实现。在其他平台上没有可用的 CameraFeed。在 iOS 上获取 CameraFeed 需要 godot-ios-plugins 中的相机插件。
属性
|
方法
void |
add_feed(feed: CameraFeed) |
feeds() |
|
void |
remove_feed(feed: CameraFeed) |
信号
当添加 CameraFeed 时发出(例如插入网络摄像头时)。
camera_feed_removed(id: int) 🔗
当移除 CameraFeed 时发出(例如拔掉网络摄像头时)。
camera_feeds_updated() 🔗
更新相机源时发出。
枚举
enum FeedImage: 🔗
FeedImage FEED_RGBA_IMAGE = 0
RGBA 相机图像。
FeedImage FEED_YCBCR_IMAGE = 0
YCbCr 相机图像。
FeedImage FEED_Y_IMAGE = 0
Y 分量相机图像。
FeedImage FEED_CBCR_IMAGE = 1
CbCr 分量相机图像。
属性说明
bool monitoring_feeds = false 🔗
如果为 true,则服务器会主动监听可用的相机源。
这样做存在性能开销,因此请只在主动访问相机时将其设为 true。
注意:设为 true 后,你可以通过 camera_feeds_updated 信号获取更新后的相机源。
func _ready():
CameraServer.camera_feeds_updated.connect(_on_camera_feeds_updated)
CameraServer.monitoring_feeds = true
func _on_camera_feeds_updated():
var feeds = CameraServer.feeds()
public override void _Ready()
{
CameraServer.CameraFeedsUpdated += OnCameraFeedsUpdated;
CameraServer.MonitoringFeeds = true;
}
void OnCameraFeedsUpdated()
{
var feeds = CameraServer.Feeds();
}
方法说明
void add_feed(feed: CameraFeed) 🔗
将相机源 feed 添加到相机服务器中。
Array[CameraFeed] feeds() 🔗
返回一个 CameraFeed 数组。
CameraFeed get_feed(index: int) 🔗
返回与给定索引 index 的相机对应的 CameraFeed。
返回注册的 CameraFeed 的数量。
void remove_feed(feed: CameraFeed) 🔗
移除指定的相机源 feed。