Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

Subsystem API

UInhyeongOBSSubsystemUGameInstanceSubsystem であり、OBS WebSocket 接続を管理し、100 以上の Blueprint 呼び出し可能メソッドを公開します。レベルをまたいで永続し、OBS 制御の主要なファサードとして機能します。

C++ からのアクセス:

UInhyeongOBSSubsystem* OBS = GetGameInstance()->GetSubsystem<UInhyeongOBSSubsystem>();

Blueprint から: Get Game Instance → Get Subsystem (InhyeongOBSSubsystem)

注意: OBS Component(UInhyeongOBSComponent)はこれらのメソッドのほぼすべてをアクタ単位で使用できるようにミラーリングしており、シーン監視機能も追加されています(OBS Component を参照)。ここに公開されていないハンドラーレベルのメソッドには GetClient()->GetXxx() を通じてアクセスします(Handlers API を参照)。

このページ全体を通じて、BlueprintPure なゲッター(GetCached* / Is* / 状態リーダー)は (Pure) と表示されます。それ以外はすべて BlueprintCallable です。Pure でないゲッターのほとんどは非同期で、OBS にリクエストを送信し、結果はデリゲートイベント経由で届きます(Events を参照)。


Connection

関数シグネチャ / パラメーター説明
Connect(FString Host = "localhost", int32 Port = 4455, FString Password = "", bool bAutoReconnect = true)OBS WebSocket サーバーへ接続して認証します。
SetAutoReconnect(bool bAutoReconnect)自動再接続を有効化/無効化します。
Disconnect()接続を閉じ、保留中のリクエストをクリアします。
IsConnected() → bool(Pure) 完全に接続・識別済みの場合に true。
GetConnectionState() → EOBSConnectionState(Pure) 現在の接続状態(Disconnected / Connecting / Authenticating / Connected)。
GetClient() → UInhyeongOBSWebSocketClient*(Pure) 高度な用途やハンドラーへのアクセスのための直接クライアントアクセス。

Scene Collections

関数シグネチャ / パラメーター説明
GetSceneCollectionList()シーンコレクションの一覧を取得します。
SetCurrentSceneCollection(FString SceneCollectionName)アクティブなシーンコレクションを切り替えます。
CreateSceneCollection(FString SceneCollectionName)新しいシーンコレクションを作成します。
GetCachedSceneCollections() → TArray<FString>(Pure) キャッシュされたシーンコレクション名。
GetCurrentSceneCollectionName() → FString(Pure) キャッシュされたアクティブなシーンコレクション。

Profiles

関数シグネチャ / パラメーター説明
GetProfileList()プロファイルの一覧を取得します。
SetCurrentProfile(FString ProfileName)アクティブなプロファイルを切り替えます。
CreateProfile(FString ProfileName)新しいプロファイルを作成します。
RemoveProfile(FString ProfileName)プロファイルを削除します。
GetCachedProfiles() → TArray<FString>(Pure) キャッシュされたプロファイル名。
GetCurrentProfileName() → FString(Pure) キャッシュされたアクティブなプロファイル。

Video Settings

関数シグネチャ / パラメーター説明
GetVideoSettings()現在の映像設定を取得します。
SetVideoSettings(FOBSVideoSettings Settings)映像設定をすべて設定します。
SetBaseResolution(int32 Width, int32 Height)ベース(キャンバス)解像度を設定します。
SetOutputResolution(int32 Width, int32 Height)スケーリングされた出力解像度を設定します。
SetFPS(int32 FpsNumerator, int32 FpsDenominator = 1)出力フレームレートを設定します。
GetCachedVideoSettings() → FOBSVideoSettings(Pure) キャッシュされた映像設定。

Stream Service Settings

関数シグネチャ / パラメーター説明
GetStreamServiceSettings()現在の配信サービス設定を取得します。
SetStreamServiceSettings(FOBSStreamServiceSettings Settings)配信サービス設定を設定します。
SetSimpleRTMPSettings(FString Server, FString StreamKey)カスタム RTMP サーバーとストリームキーを設定します。
GetCachedStreamServiceSettings() → FOBSStreamServiceSettings(Pure) キャッシュされた配信サービス設定。

Scenes

関数シグネチャ / パラメーター説明
GetSceneList()シーンの一覧を取得します。
SetCurrentScene(FString SceneName)アクティブなプログラムシーンを切り替えます。
GetCurrentSceneName() → FString(Pure) キャッシュされたアクティブなシーン名。
GetCachedScenes() → TArray<FOBSScene>(Pure) キャッシュされたシーン一覧。

Scene Item Transforms

関数シグネチャ / パラメーター説明
GetSceneItemTransform(FString SceneName, int32 SceneItemId)シーンアイテムのトランスフォームを取得します。
SetSceneItemTransform(FString SceneName, int32 SceneItemId, FOBSSceneItemTransform Transform)シーンアイテムのトランスフォームを完全に設定します。
SetSceneItemPosition(FString SceneName, int32 SceneItemId, float X, float Y)位置のみを設定します。
SetSceneItemRotation(FString SceneName, int32 SceneItemId, float Rotation)回転(度)のみを設定します。
SetSceneItemScale(FString SceneName, int32 SceneItemId, float ScaleX, float ScaleY)スケールのみを設定します。
SetSceneItemCrop(FString SceneName, int32 SceneItemId, int32 Left, int32 Top, int32 Right, int32 Bottom)クロップの各辺を設定します。
SetSceneItemBounds(FString SceneName, int32 SceneItemId, EOBSBoundsType BoundsType, float BoundsWidth, float BoundsHeight, int32 BoundsAlignment = 0)バウンディングボックスの動作を設定します。
GetSceneItemId(FString SceneName, FString SourceName)ソース名を対応する数値のシーンアイテム ID に解決します。

Scene Item CRUD

関数シグネチャ / パラメーター説明
CreateSceneItem(FString SceneName, FString SourceName, bool bEnabled = true)既存のソースをシーンに追加します。
RemoveSceneItem(FString SceneName, int32 SceneItemId)シーンからアイテムを削除します。
DuplicateSceneItem(FString SceneName, int32 SceneItemId, FString DestinationSceneName = "")アイテムを複製します(別のシーンへの複製も可能)。

Scene Item Lock / Z-Order / Blend

関数シグネチャ / パラメーター説明
GetSceneItemLocked(FString SceneName, int32 SceneItemId)ロック状態を取得します。
SetSceneItemLocked(FString SceneName, int32 SceneItemId, bool bLocked)ロック状態を設定します。
GetSceneItemIndex(FString SceneName, int32 SceneItemId)Z オーダーインデックスを取得します(0 = 背面)。
SetSceneItemIndex(FString SceneName, int32 SceneItemId, int32 ItemIndex)Z オーダーインデックスを設定します(0 = 背面)。
GetSceneItemBlendMode(FString SceneName, int32 SceneItemId)ブレンドモードを取得します。
SetSceneItemBlendMode(FString SceneName, int32 SceneItemId, EOBSBlendMode BlendMode)ブレンドモードを設定します。

Recording

関数シグネチャ / パラメーター説明
StartRecord()録画を開始します。
StopRecord()録画を停止します。
ToggleRecord()録画のオン/オフを切り替えます。
PauseRecord()アクティブな録画を一時停止します。
ResumeRecord()一時停止中の録画を再開します。
ToggleRecordPause()一時停止/再開を切り替えます。
GetRecordStatus()録画ステータスを取得します。
GetRecordDirectory()録画の保存先ディレクトリを取得します(OnRecordDirectoryReceived を発火します)。
SetRecordDirectory(FString Directory)録画の保存先ディレクトリを設定します(次回録画から有効)。
GetCachedRecordDirectory() → FString(Pure) キャッシュされた録画の保存先ディレクトリ。
SplitRecordFile()アクティブな録画を新しいファイルに分割します。
CreateRecordChapter(FString ChapterName = "")チャプターマーカーを追加します(Hybrid MP4、OBS 30.2.0 以降のみ)。

Streaming

関数シグネチャ / パラメーター説明
StartStream()配信を開始します。
StopStream()配信を停止します。
ToggleStream()配信のオン/オフを切り替えます。
GetStreamStatus()配信ステータスを取得します。
SendStreamCaption(FString CaptionText)CEA-608 キャプションテキストを送信します(配信中のみ有効)。

Virtual Camera

関数シグネチャ / パラメーター説明
StartVirtualCam()仮想カメラを開始します。
StopVirtualCam()仮想カメラを停止します。
ToggleVirtualCam()仮想カメラを切り替えます。
GetVirtualCamStatus()仮想カメラのステータスを取得します。
IsVirtualCamActive() → bool(Pure) キャッシュされた仮想カメラのアクティブ状態。

Replay Buffer

関数シグネチャ / パラメーター説明
StartReplayBuffer()リプレイバッファを開始します。
StopReplayBuffer()リプレイバッファを停止します。
ToggleReplayBuffer()リプレイバッファを切り替えます。
SaveReplayBuffer()現在のリプレイバッファの内容をディスクに保存します。
GetReplayBufferStatus()リプレイバッファのステータスを取得します。
IsReplayBufferActive() → bool(Pure) キャッシュされたリプレイバッファのアクティブ状態。

Generic Outputs

関数シグネチャ / パラメーター説明
GetOutputList()すべての出力の一覧を取得します。
GetOutputStatus(FString OutputName)特定の出力のステータスを取得します。
GetOutputSettings(FString OutputName)特定の出力の設定を取得します。
SetOutputSettings(FString OutputName, FString JsonSettings)JSON から出力の設定を行います。
StartOutput(FString OutputName)特定の出力を開始します。
StopOutput(FString OutputName)特定の出力を停止します。
ToggleOutput(FString OutputName)特定の出力を切り替えます。
GetCachedOutputs() → TArray<FOBSOutput>(Pure) キャッシュされた出力一覧。

Audio

関数シグネチャ / パラメーター説明
GetInputList(FString InputKind = "")入力の一覧を取得します。入力の種類でフィルタリング可能です。
SetInputMute(FString InputName, bool bMuted)入力のミュート状態を設定します。
ToggleInputMute(FString InputName)入力のミュートを切り替えます。
SetInputVolume(FString InputName, float VolumeDb)入力の音量を dB で設定します。
SetVolumeMetersEnabled(bool bEnable)高頻度の InputVolumeMeters イベントを有効化します(デフォルトでは無効)。
SetInputActiveStateEventsEnabled(bool bEnable)InputActiveStateChanged イベントを有効化します(デフォルトでは無効)。

Advanced Audio

関数シグネチャ / パラメーター説明
GetInputAudioBalance(FString InputName)ステレオバランスを取得します(0=L、0.5=C、1=R)。
SetInputAudioBalance(FString InputName, float Balance)ステレオバランスを設定します。
GetInputAudioSyncOffset(FString InputName)同期オフセット(ms 単位)を取得します。
SetInputAudioSyncOffset(FString InputName, int32 OffsetMs)同期オフセットを設定します(-950 〜 20000 ms)。
GetInputAudioMonitorType(FString InputName)音声モニタリング種別を取得します。
SetInputAudioMonitorType(FString InputName, EOBSMonitorType MonitorType)音声モニタリング種別を設定します。
GetInputAudioTracks(FString InputName)各音声トラックの有効状態を取得します。
SetInputAudioTracks(FString InputName, FOBSAudioTracks Tracks)すべての音声トラックの有効状態を設定します。
SetInputAudioTrack(FString InputName, int32 TrackNumber, bool bEnabled)単一の音声トラック(1 〜 6)の有効状態を設定します。
GetSpecialInputs()デフォルトのデスクトップ/マイク音声デバイスを取得します。
GetCachedSpecialInputs() → FOBSSpecialInputs(Pure) キャッシュされた特殊な入力。

Mic / Voice-Activity Detection

関数シグネチャ / パラメーター説明
EnableMicActivityDetection(FString InputName, float ThresholdDb = -40, float AttackSeconds = 0.05, float ReleaseSeconds = 0.5)デバウンスされた発話中/アイドル検出を開始します(音量メーターを自動で有効化します)。
DisableMicActivityDetection(FString InputName)入力の検出を停止します(メーターのサブスクリプションは維持されます)。
IsMicActive(FString InputName) → bool(Pure) 現在のデバウンスされた発話状態(未登録の場合は false)。

Inputs (CRUD)

関数シグネチャ / パラメーター説明
CreateInput(FString SceneName, FString InputName, FString InputKind, FString InputSettingsJson = "", bool bSceneItemEnabled = true)新しい入力を作成してシーンに追加します。
RemoveInput(FString InputName)入力を削除します(使用中でないことが必要です)。
SetInputName(FString InputName, FString NewInputName)入力の名前を変更します。
GetInputKindList(bool bUnversioned = false)利用可能な入力の種類を取得します。
GetCachedInputKinds() → TArray<FString>(Pure) キャッシュされた入力の種類の一覧。

Input Settings

関数シグネチャ / パラメーター説明
FetchInputSettings(FString InputName)入力の現在の設定を取得します(ハンドラーイベントを発火します)。
SetInputSettings(FString InputName, FString SettingsJson, bool bOverlay = true)JSON から入力の設定を行います。
SetTextSourceText(FString InputName, FString NewText)便利関数: テキストソースのテキストを設定します。
SetBrowserSourceUrl(FString InputName, FString NewUrl)便利関数: ブラウザソースの URL を設定します。
SetImageSourceFile(FString InputName, FString NewFilePath)便利関数: 画像ソースのファイルパスを設定します。
SetMediaSourceFile(FString InputName, FString NewFilePath, bool bLooping = false)便利関数: メディアソースのファイルパスを設定します。
SetColorSourceColor(FString InputName, int64 Color)便利関数: カラーソースのカラーを設定します(ABGR を int64 で指定)。

Media

Subsystem はメディア再生の操作を直接公開していません。メディア入力の再生制御(play/pause/stop/restart、シーク、ステータス)にはメディア入力ハンドラーを使用してください:

OBS->GetMediaInputs()->...

UInhyeongOBSMediaInputs については Handlers API を参照してください。


Studio Mode

関数シグネチャ / パラメーター説明
GetStudioModeEnabled()Studio Mode の有効状態を取得します。
SetStudioModeEnabled(bool bEnabled)Studio Mode を有効化/無効化します。
IsStudioModeEnabled() → bool(Pure) キャッシュされた Studio Mode の状態。
GetCurrentPreviewScene()プレビューシーンを取得します。
SetCurrentPreviewScene(FString SceneName)プレビューシーンを設定します。
TriggerStudioModeTransition()プレビューシーンをプログラムに送出します。
GetPreviewSceneName() → FString(Pure) キャッシュされたプレビューシーン名。

Transitions

関数シグネチャ / パラメーター説明
GetSceneTransitionList()トランジションの一覧を取得します。
GetCurrentSceneTransition()アクティブなトランジションを取得します。
SetCurrentSceneTransition(FString TransitionName)アクティブなトランジションを設定します。
SetCurrentSceneTransitionDuration(int32 DurationMs)トランジション時間を設定します。
GetCurrentTransitionName() → FString(Pure) キャッシュされたアクティブなトランジション名。
GetCurrentTransitionDuration() → int32(Pure) キャッシュされたトランジション時間(ms)。
IsTransitionActive() → bool(Pure) キャッシュされた「トランジション進行中」の状態。

Filters

Subsystem はフィルターの CRUD を直接公開していません。ソースフィルターの管理(作成/削除/リネーム/並べ替え、有効化、設定)にはフィルターハンドラーを使用してください:

OBS->GetFilters()->...

フィルターのイベントは Subsystem 上で再ブロードキャストされます(Events を参照)。UInhyeongOBSFilters については Handlers API を参照してください。


Screenshots

Subsystem はスクリーンショットのキャプチャメソッドを直接公開していません。スクリーンショットハンドラーを通じてアクセスしてください:

OBS->GetScreenshots()->...

スクリーンショット結果のデリゲートは Subsystem 上で再ブロードキャストされますOnScreenshotCaptured / OnScreenshotSaved)が、キャプチャメソッド自体はハンドラーに存在します。UInhyeongOBSScreenshots については Handlers API を参照してください。


Game Events(エンジン → OBS)

関数シグネチャ / パラメーター説明
EmitGameEvent(FString EventName, FString PayloadJson, FString Realm = "inhyeongobs") → bool名前空間付きの CustomEvent を OBS に送信します。未接続またはペイロードが有効な JSON でない場合は false を返します。
EmitGameEventMap(FString EventName, TMap<FString,FString> Payload, FString Realm = "inhyeongobs")マップ便利関数: 各キー/バリューがペイロード内の JSON 文字列フィールドになります。

Handler Accessors

これらの BlueprintPure ゲッターはクライアントが所有するドメインハンドラーを返します。Subsystem に直接公開されていないハンドラーレベルのメソッドにアクセスするために使用します(Handlers API を参照)。

関数戻り値ドメイン
GetOutputsUInhyeongOBSOutputs*Stream、Record、VirtualCam、ReplayBuffer。
GetScenesUInhyeongOBSScenes*シーンの切り替え、シーンアイテム。
GetAudioUInhyeongOBSAudio*入力一覧、音量、ミュート、音量メーター。
GetInputSettingsUInhyeongOBSInputSettings*テキスト/ブラウザ/画像/メディアソースの設定。
GetMediaInputsUInhyeongOBSMediaInputs*メディアソースの再生制御。
GetStudioModeUInhyeongOBSStudioMode*プレビューシーン、スタジオトランジション、T バー。
GetTransitionsUInhyeongOBSTransitions*シーントランジション、トランジション時間、設定。
GetFiltersUInhyeongOBSFilters*ソースフィルターの管理。
GetScreenshotsUInhyeongOBSScreenshots*スクリーンショットの base64 またはファイルへのキャプチャ。
GetConfigUInhyeongOBSConfig*シーンコレクション、プロファイル、映像設定、永続データ。

UInhyeongOBSGeneral ハンドラー(パフォーマンス統計、ホットキー、ベンダーリクエスト)は Subsystem 上に GetGeneral() アクセサーがないため、GetClient()->GetGeneral() を通じてアクセスしてください。


Events

Subsystem のすべてのイベントデリゲート(OnConnectedOnCurrentSceneChangedOnRecordStateChangedOnMicActivityChanged など)は Events に記載されています。すべての Blueprint イベントにはラムダバインディング用の Native サフィックス付きネイティブ C++ 対応版があります(Native Delegates を参照)。