Skip to content

Desuq Cafe

ドキュメントメニュー

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

OBS Trigger Volume

AInhyeongOBSTriggerVolume は、ゲームプレイから OBS を自動化するノーコードの手段です。レベルに配置し、形状を設定して、いつ発火するか・どのアクションを実行するか・どの条件を満たす必要があるかを Details パネルからすべて設定できます。Blueprint は不要です。

Trigger Volume の配置

OBS Trigger Volume アクタをレベルにドラッグするか、AInhyeongOBSTriggerVolume をスポーンします。エディタのビューポートに自身を描画するので、位置の調整が容易です。形状とサイズを設定し、Details パネルでアクション・条件を入力してください。

形状

プロパティ備考
TriggerShapeEOBSTriggerShapeBox または Sphere
BoxExtentFVector各方向の半サイズ(ボックスは各軸で 2 倍の範囲に広がります)。形状が Box のときに表示されます。
SphereRadiusfloat形状が Sphere のときに表示されます。

トリガーイベントモード

TriggerEventEOBSTriggerEvent)は、ボリュームがいつ発火するかを制御します。

モード動作
OnEnterアクタがボリュームに侵入したときに発火します(OnEnterActions を実行)。
OnExitアクタがボリュームから退出したときに発火します(OnExitActions を実行)。
Both侵入・退出の両方で発火し、それぞれ別々のアクション配列を使用します。

OnEnterActions 配列は OnEnterBoth のときに表示され、OnExitActionsOnExitBoth のときに表示されます。

アクション

各アクションは FOBSTriggerAction です。ActionType を設定すると関連フィールドが表示されます。アクションの一覧(EOBSTriggerActionType):

アクション使用するパラメーター説明
SwitchSceneSceneName指定した OBS シーンに切り替えます。
StartRecordingなし録画を開始します。
StopRecordingなし録画を停止します。
ToggleRecordingなし録画状態を切り替えます。
PauseRecordingなし録画を一時停止します。
ResumeRecordingなし録画を再開します。
StartStreamingなし配信を開始します。
StopStreamingなし配信を停止します。
ToggleStreamingなし配信状態を切り替えます。
StartVirtualCamなし仮想カメラを開始します。
StopVirtualCamなし仮想カメラを停止します。
ToggleVirtualCamなし仮想カメラを切り替えます。
StartReplayBufferなしリプレイバッファを開始します。
StopReplayBufferなしリプレイバッファを停止します。
SaveReplayBufferなしリプレイバッファをファイルに保存します。
SetInputMuteInputName, bMuted音声入力をミュートまたはミュート解除します。
SetInputVolumeInputName, VolumeDb入力の音量を dB で設定します(0 = ユニティ、負の値 = 小さく、-100〜26 にクランプ)。
ToggleInputMuteInputName入力のミュート状態を切り替えます。
SetSceneItemEnabledSceneName, SourceName, bEnabledシーン内のソース(シーンアイテム)を名前で表示または非表示にします。
SetSourceFilterEnabledSourceName, FilterName, bEnabledソース上の指定したフィルターを有効化または無効化します。
TriggerHotkeyByNameHotkeyName登録名で OBS ホットキーを発火します(例:OBSBasic.StartRecording)。
TriggerMediaInputActionInputName, MediaActionメディアソースを操作します。

MediaActionEOBSMediaInputAction です:NonePlayPauseStopRestartNextPrevious

各アクションには DelaySeconds(アクションごとの遅延、0 以上にクランプ)もあります。

エディタ上では、アクションのターゲットフィールドは接続中に OBS のライブドロップダウンになります:シーン、入力、ソースのピッカーに加え、ソースごとの Filter ピッカーと Hotkey ピッカー(開いたときにオンデマンドで取得)が利用できます。選択した名前はアクションに保存されるため、切断後も保持されます。

条件

すべての条件は論理 AND として評価されます。つまり、アクションを実行するには有効なすべての条件を満たす必要があります。OBS 接続は常に必須であり、内部でチェックされます。条件は FOBSTriggerConditions に格納されます。

録画・配信の要件(三値)

プロパティ
RecordingRequirementEOBSOutputStateRequirementAny / Required(録画中である必要がある) / Disallowed(録画中であってはならない)
StreamingRequirementEOBSOutputStateRequirementAny / Required / Disallowed

出力ごとの三値設定により、「オンでなければならない」と「オフでなければならない」を同時に設定することは構造的に不可能です。

シーン条件

プロパティ備考
RequiredCurrentSceneFString現在の OBS シーンがこの名前と一致する場合のみトリガーします(空 = 任意のシーン)。
ExcludedCurrentSceneFString現在の OBS シーンがこの名前と一致しない場合のみトリガーします(空 = 無効)。

エディタでは OBS のライブシーンドロップダウンから選択します。

音声しきい値条件

AudioConditionsTArray<FOBSAudioThresholdCondition> です。任意の数を追加でき、すべて通過する必要があります。

フィールド備考
InputNameFStringテスト対象の OBS 入力(例:Mic/Aux)。空 = 条件を無視。
ModeEOBSAudioConditionModeTalking または Idle
ThresholdDbfloat自動登録された検出器のピーク dB しきい値(デフォルト -40、-100〜0 にクランプ)。

これらは Mic / Voice Activity Detection で説明されているデバウンスされたマイクアクティビティ検出と同じ仕組みを使用します。各入力は BeginPlay 時に検出用として自動登録されます。

ソース表示状態条件

SourceVisibleConditionsTArray<FOBSSourceVisibleCondition> です。すべて通過する必要があります。

フィールド備考
SceneNameFStringソースが含まれるシーン。空 = 条件を無視。
SourceNameFString表示状態をテストするソース(シーンアイテム)。空 = 条件を無視。
ModeEOBSVisibilityConditionModeVisible または Hidden

ライブの bSceneItemEnabled キャッシュを読み取ります。キャッシュに見つからないソース(スペルミス、シーンの指定誤り、またはリストが未取得の場合)は条件を失敗させます。

Details パネルでは、音声・表示状態の条件に名前ピッカー(OBS 接続中に入力済み)とライブのステータスドットが表示されるため、ボリュームを作成しながら発話中・表示状態のリアルタイム更新を確認できます。

トリガーフィルターとオプション

プロパティ備考
ActorClassFilterTSubclassOf<AActor>このクラス(または子クラス)のアクタのみトリガーできます。デフォルトの AActor はすべてを許可します。プレイヤーのみにするには APawn に設定してください。
SpecificActorFilterTSoftObjectPtr<AActor>この特定のアクタのみトリガーできます。設定されている場合、ActorClassFilter は無視されます。
CooldownSecondsfloatトリガー間のクールダウン(ボリュームのエッジでの連続発火を防ぎます)。
bTriggerOncebool一度だけ発火して無効化します。
bTriggerEnabledboolトリガーが現在有効かどうか。

ランタイムのヘルパー関数:SetTriggerEnabled(bool)ResetTrigger()(ワンショットトリガーを再有効化)、ExecuteEnterActions()ExecuteExitActions()ExecuteActions(Actions)AreConditionsMet()HasValidOBSConnection()GetActiveOBSComponent()。イベント OnTriggerEnter / OnTriggerExit は、アクションが実行される直前に発火します。

外観・視覚化

ボリュームはエディタのビューポート(およびオプションでプレイ中)に自身を描画するため、配置や確認が容易です。プロパティ(カテゴリ OBS Trigger | Appearance):

プロパティ備考
bShowDebugInEditorboolエディタのビューポートにボリュームを描画します。
bShowAtRuntimeboolプレイ中(PIE・パッケージ開発ビルド)でも描画します。Shipping ビルドではコンパイルされません。
bDrawSolidboolワイヤーフレームに加えて半透明の塗りつぶしを描画します(ボックスのみ。カラーのアルファが塗りつぶしを制御します)。
LineThicknessfloatワイヤーフレームの太さ(0 = 最細)。最大 10 にハードキャップされています。
DebugColorFColor描画色(およびスタイル付きメッシュの色)。
bShowActionLabelboolボリュームの上にアクションの概要を 1 行で表示します(例:Enter: BRB)。同じ表示フラグに従います。
bHideBillboardboolエディタの選択スプライトを非表示にします(エディタ専用)。
VolumeStyleEOBSTriggerVolumeStyleゲーム内でも表示されるマテリアルレンダリングの外観(オプション):NoneGlow(Fresnel Glow)、HologramPulse(同梱のスイッチマテリアルによるプリセット)、または Custom
StyleMaterialUMaterialInterface*スタイル付きメッシュ用の独自マテリアル(VolumeStyle = Custom のときのみ使用)。ボリュームカラーから Color パラメーターを受け取ります。

接続フォールバック

トリガーは次の順序で OBS 接続を解決します。

  1. TargetOBSComponent:明示的に割り当てられた OBS Component(設定されている場合)。
  2. レベル検索:レベル内で見つかったキャッシュ済みの OBS Component(CachedOBSComponent)。
  3. サブシステム:グローバルな OBS Subsystem。

TargetOBSComponent が設定されていても解決できない場合、トリガーは警告なしに Subsystem にフォールバックします。

使用例

ハイライトリプレイ

  • トリガー:OnEnter
  • 条件:RecordingRequirement = Required
  • アクション:SaveReplayBuffer

シーンの切り替え

  • トリガー:OnEnter
  • アクション:SwitchScene → “Boss Arena”

音声ゾーン

  • トリガー:Both
  • 侵入時のアクション:SetInputMute “Background Music”(bMuted = true
  • 退出時のアクション:SetInputMute “Background Music”(bMuted = false

注意事項

条件はすべて AND です。 有効なすべての条件を満たす必要があり、さらに OBS 接続が常に必要です。

遅延アクションはキャンセルできません。 DelaySeconds > 0 のアクションは、トリガーしたアクタがすでにボリュームから退出していても発火します。

音声アクションには正確な OBS 入力名が必要です。 入力名が一致しない場合、エラーなしに失敗します。スペルミスを避けるため、エディタのライブドロップダウンを使用してください。

関連項目