Interface IInputCamera
Namespace: GameCanvas
Assembly: GameCanvas.dll
Syntax
public interface IInputCamera
Properties
CameraDeviceCount
認識可能なカメラ(外部入力映像)の数
Declaration
int CameraDeviceCount { get; }
Property Value
Type | Description |
---|---|
Int32 |
CameraDevices
全ての認識可能なカメラ(外部入力映像)の一覧
Declaration
ReadOnlySpan<GcCameraDevice> CameraDevices { get; }
Property Value
Type | Description |
---|---|
ReadOnlySpan<GcCameraDevice> |
HasUserAuthorizedPermissionCamera
カメラデバイスへのアクセス権限を取得済みかどうか
Declaration
bool HasUserAuthorizedPermissionCamera { get; }
Property Value
Type | Description |
---|---|
Boolean |
Methods
DidUpdateCameraImageThisFrame(GcCameraDevice)
前回のフレーム処理以降に 指定されたカメラ(外部入力映像)テクスチャーに更新があったかどうか
Declaration
bool DidUpdateCameraImageThisFrame(in GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | テクスチャーに更新があったかどうか |
FocusCameraImage(GcCameraDevice, Nullable<float2>)
カメラ(外部入力映像)の任意の点に焦点をあわせるように要求します
Declaration
void FocusCameraImage(in GcCameraDevice camera, in float2? uv)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Nullable<float2> | uv | 焦点をあわせる位置(左下を原点とする 0.0~1.0 のUV座標系) |
Remarks
- このAPIは、対応するカメラデバイスに対して、実機上での実行したときのみ動作します
uv
引数は、キャンバス座標系ではなく、左下を原点とする 0.0~1.0 のUV座標系を指定します- 焦点あわせを解除するには、
uv
引数に null を渡します
GetOrCreateCameraTexture(GcCameraDevice, GcResolution)
指定されたカメラ(外部入力映像)のテクスチャーを生成もしくは取得します
Declaration
WebCamTexture GetOrCreateCameraTexture(in GcCameraDevice camera, in GcResolution request)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
GcResolution | request | テクスチャーが未生成だった場合に、希望する解像度とリフレッシュレート |
Returns
Type | Description |
---|---|
WebCamTexture | テクスチャー |
Remarks
- 既にテクスチャーが生成済みの場合は、
request
引数の値は無視されます - 生成後に解像度を変更する場合は TryChangeCameraImageResolution(GcCameraDevice, GcResolution) 関数を呼び出してください
IsFlippedCameraImage(GcCameraDevice)
指定されたカメラ(外部入力映像)は上下が反転しているかどうか
Declaration
bool IsFlippedCameraImage(in GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | 上下が反転しているかどうか |
IsPlayingCameraImage(GcCameraDevice)
指定されたカメラ(外部入力映像)の更新が行われているかどうか
Declaration
bool IsPlayingCameraImage(in GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | 更新が行われているかどうか |
PauseCameraImage(GcCameraDevice)
指定されたカメラ(外部入力映像)の更新処理を一時停止します
Declaration
bool PauseCameraImage(in GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | 停止したかどうか(元から停止していた場合を含まない) |
PlayCameraImage(GcCameraDevice, GcResolution, out int2)
指定されたカメラ(外部入力映像)の更新処理を開始します
Declaration
bool PlayCameraImage(in GcCameraDevice camera, in GcResolution request, out int2 resolution)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
GcResolution | request | テクスチャーが未生成だった場合に、希望する解像度とリフレッシュレート |
int2 | resolution | カメラ(外部入力映像)の解像度 |
Returns
Type | Description |
---|---|
Boolean | 開始したかどうか(元から更新していた場合を含まない) |
Remarks
- カメラごとにこのAPIを呼び出すことで、それらを同時に更新することが可能です
- ただし、同じ名称のカメラは、同時に更新することができません
- 既にテクスチャーが生成済みの場合は、
request
引数の値は無視されます - 生成後に解像度を変更する場合は TryChangeCameraImageResolution(GcCameraDevice, GcResolution) 関数を呼び出してください
RequestUserAuthorizedPermissionCameraAsync(Action<Boolean>)
カメラデバイスへのアクセス権限を要求します
Declaration
void RequestUserAuthorizedPermissionCameraAsync(in Action<bool> callback)
Parameters
Type | Name | Description |
---|---|---|
Action<Boolean> | callback | 結果を通知するコールバック |
StopCameraImage(GcCameraDevice)
指定されたカメラ(外部入力映像)の更新処理を完全に停止します
Declaration
void StopCameraImage(in GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
TryChangeCameraImageResolution(GcCameraDevice, GcResolution)
指定されたカメラ(外部入力映像)の解像度変更を試みます
Declaration
int2 TryChangeCameraImageResolution(in GcCameraDevice camera, in GcResolution request)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
GcResolution | request | 希望する解像度とリフレッシュレート |
Returns
Type | Description |
---|---|
int2 | 実際に設定された解像度 |
TryGetCameraImage(out GcCameraDevice)
カメラ(外部入力映像)の取得を試みます
Declaration
bool TryGetCameraImage(out GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | 取得できたかどうか |
TryGetCameraImage(String, out GcCameraDevice)
デバイス名を指定して、カメラ(外部入力映像)の取得を試みます
Declaration
bool TryGetCameraImage(in string deviceName, out GcCameraDevice camera)
Parameters
Type | Name | Description |
---|---|---|
String | deviceName | デバイス名 |
GcCameraDevice | camera | カメラ(外部入力映像) |
Returns
Type | Description |
---|---|
Boolean | 取得できたかどうか |
TryGetCameraImageAll(out ReadOnlySpan<GcCameraDevice>)
全ての認識可能なカメラ(外部入力映像)の取得を試みます
Declaration
bool TryGetCameraImageAll(out ReadOnlySpan<GcCameraDevice> devices)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlySpan<GcCameraDevice> | devices | カメラ(外部入力映像)の一覧 |
Returns
Type | Description |
---|---|
Boolean | 1つ以上 取得できたかどうか |
TryGetCameraImageRotation(GcCameraDevice, out Single)
指定されたカメラ(外部入力映像)の回転角度取得を試みます
Declaration
bool TryGetCameraImageRotation(in GcCameraDevice camera, out float degree)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
Single | degree | 回転角度 |
Returns
Type | Description |
---|---|
Boolean | 取得できたかどうか |
TryGetCameraImageSize(GcCameraDevice, out int2)
指定されたカメラ(外部入力映像)の解像度取得を試みます
Declaration
bool TryGetCameraImageSize(in GcCameraDevice camera, out int2 resolution)
Parameters
Type | Name | Description |
---|---|---|
GcCameraDevice | camera | カメラ(外部入力映像) |
int2 | resolution | カメラ(外部入力映像)の解像度 |
Returns
Type | Description |
---|---|
Boolean | 取得できたかどうか |
Remarks
- テクスチャーが未生成の場合は、取得に失敗します
- テクスチャーを生成するには、PlayCameraImage(GcCameraDevice, GcResolution, out int2) もしくは GetOrCreateCameraTexture(GcCameraDevice, GcResolution) 関数を呼び出してください
UpdateCameraDevice()
カメラ(外部入力映像)の一覧を更新します
Declaration
int UpdateCameraDevice()
Returns
Type | Description |
---|---|
Int32 | 更新後の 認識可能なカメラ(外部入力映像)の数 |