Steamworks ドキュメンテーション
ISteamTimeline
録画された動画とともに表示されるタイムラインにイベントを追加する機能です。

詳細はSteamタイムライン、およびこのページの一番下のダイアグラム参照してください。

メンバー関数


ISteamTimelineのメンバー関数は、グローバルアクセサー関数のSteamTimeline経由で呼び出されます。

SetTimelineStateDescription

void SetTimelineStateDescription( const char *pchDescription, float flTimeDelta );
名前説明
pchDescriptionconst char *SteamUtils()->GetSteamUILanguage()によって返される言語のローカライズされた文字列
flTimeDeltafloatこの状態変更に適用する時間オフセット(秒単位)。 負の値は、過去に発生した
イベントを示します。

タイムライン内の現在のゲーム状態の説明(B)を設定します。
これらは、ユーザーがクリップを保存する際に、タイムライン上で特定の瞬間を見つけるのに役立ちます。
新しい状態の説明を設定すると、以前の説明が置き換えられます。

例として次のようなものがあります。
  • シングルプレイヤーゲームにおけるワールド内のユーザーの位置
  • マルチプレイヤーゲームにおけるラウンドのカウント
  • スポーツゲームの現在のスコア

ClearTimelineStateDescription

void ClearTimelineStateDescription( float flTimeDelta );
名前説明
flTimeDeltafloatこの状態変更に適用する時間オフセット(秒単位)。 負の値は、過去に発生した
イベントを示します。

タイムラインで以前に設定したゲームの状態をクリアします。

AddTimelineEvent

void AddTimelineEvent( const char *pchIcon, const char *pchTitle, const char *pchDescription, uint32 unPriority, float flStartOffsetSeconds, float flDurationSeconds, ETimelineEventClipPriority ePossibleClip ) ;
名前説明
pchIconconst char *この時点でタイムラインに表示するアイコンの名前。 これは、ゲームのSteamworksパートナーサイトを通じてアップロードされたアイコンの1つ、またはシステムが提供するsteam_で始まるアイコンの1つになります。 Steamタイムラインの概要で利用可能なアイコンのリストを参照してください。
pchTitleconst char *SteamUtils()->GetSteamUILanguage()によって返される言語にローカライズされた、ゲーム提供の文字列。
pchDescriptionconst char * SteamUtils()->GetSteamUILanguage()によって返される言語にローカライズされた、ゲーム提供の文字列。
unPriorityuint32タイムラインでアイコンが密集する場合に、どのアイコンを表示するかをUIが決定する際に使用される優先度を指定します。 優先度の値が大きいイベントは、優先度の値が小さいイベントよりも目立つように表示されます。 この値は0からk_unMaxTimelinePriorityの間でなければなりません。
flStartOffsetSecondsfloatイベント開始に適用する時間オフセット(秒単位)。
負の時間は過去の
イベントを示します。

このパラメーターの用途の1つは、後になって初めてその重要性が明らかになるイベントの処理です。 例えば、プレイヤーが他のプレイヤーに対して時間の経過とともにダメージ効果を発揮する攻撃を開始し、3.5秒後にそのプレイヤーが死亡する場合、ゲームは開始オフセットとして-3.5を渡し、効果を開始した時点からタイムラインにイベントが表示されるようにすることができます。
flDurationSecondsfloatイベントの持続時間(秒単位)。 即時イベントの場合は0を渡します。
ePossibleClip ETimelineEventClipPriority動画クリップとしてユーザーに推奨しうるイベントをゲーム側から説明できるようにします。

これを使用すると、タイムライン上にイベント(A)がマークされます。 イベントは、flDurationSecondsに渡された値に応じて、瞬時にマークされる場合もあれば、完了するまでに一定の時間を要する場合もあります。

例として次のようなものがあります。
  • ボス戦
  • カットシーン
  • 大規模なチームファイト
  • 新しい武器や弾薬を拾う
  • ゴールを決める

ゲームは、k_ETimelineEventClipPriority_Standardまたはk_ETimelineEventClipPriority_FeaturedePossibleClipに渡すことで、クリップに適したイベントを推奨します。 プレイヤーはいつでも自分でクリップを作成できますが、これにより、ゲームがSteamにいくつかのオプションを提案し、プレイヤーにとってクリップ作成プロセスがより簡単になります。

SetTimelineGameMode

void SetTimelineGameMode( ETimelineGameMode eMode );
名前説明
eModeETimelineGameModeゲームが実行中のモード。

タイムラインバーの色を変更します (C)。 各値の使い方は、ETimelineGameModeを参照してください。

Enums

これらは、ISteamTimelineで使用するために定義された列挙型です。

ETimelineGameMode

タイムラインバーのセグメントの色を制御します。
ここにリストされている値の名前は、マルチプレイヤーゲームにマップされます。
ユーザーは(メニューから)ゲームを開始し、まずはキャラクター選択ロビーがあるマルチプレイヤーセッションに参加し、その後でマルチプレイヤーセッションが始まります。 これらの値は任意のタイプのゲームにマップすることもできます。
町やダンジョンを訪れるシングルプレイヤーゲームでは、プレイヤーが町でアイテムを購入しているときをk_ETimelineGameMode_Menusに設定し、
ダンジョンのロード中をk_ETimelineGameMode_Stagingに、ダンジョンでモンスターと戦っているときをk_ETimelineGameMode_Playingに設定することができます。


名前説明
k_ETimelineGameMode_Playing1プレイヤーはゲームを完全にロードしプレイ中です。
k_ETimelineGameMode_Staging2プレイヤーはマルチプレイヤーロビーにいます。
k_ETimelineGameMode_Menus3プレイヤーはゲームのメインメニューまたは一時停止メニューにいます。
k_ETimelineGameMode_LoadingScreen4プレイヤーはロード画面を待っています。

ETimelineEventClipPriority


AddTimelineEventで使用され、注目のイベントが通常のイベントの前に表示されます。

名前説明
k_ETimelineEventClipPriority_None1このイベントはクリップには適していません。
k_ETimelineEventClipPriority_Standard2ユーザーはこのイベントを中心にクリップを作成する場合があります。

ダイアグラム


timeline_diagram.png


  翻译: