NGLE講座
■Demo=
サンプルレベル
http://www.trlevelmanager.eu/download/speech_demo_trle.zip
構文
Demo=DemoFlags(DEMF_...), Parameter, InfoText, DemoLegendText, WaitingTime, DemoIndex array
記述場所
[Title]または[Level]セクションで使用します。
インスタンスの最大値
特にありません。
使用例
[Level] ;レベル起動時に、DEMOという文字を出し、Demo1.pakを再生する。 Demo=DEMF_PERFORM_AT_START,IGNORE,IGNORE,DEMO,IGNORE,1
機能概要
DiagnosticTypeコマンドのEDGX_RECORDING_DEMOを使用して記録したデモデータを再生します。
デモは、YouTubeなどでみかけるプレイ動画のようなものを自分で作成し、それを自分のレベルやタイトルで再生する機能です。
NG_Center【Reference】タブのEDGX_RECORDING_DEMOフラグも参照してください。
記述時の注意点・備考
タイトルレベルにデモを表示するには、[Title]セクションにDemoコマンドを配置します。
レベルにデモを表示するには[Level]セクションにDemoコマンドを配置します。
この場合、デモはカットシーンモードで動作します。レベルの途中でデモを再生するには、FLIPEFFECTトリガ379番を使用します。
DefaultWindowsFontコマンドなどと違って、それぞれのデモは、単独で機能します。
つまり、[Title]セクションにDemoコマンドを設定しても、レベルには影響ありませんし、[Level]セクションにDemoコマンドを設定しても、タイトルレベルには影響ありません。
デモを録画した後、LARAオブジェクトの位置を変更したり、他のオブジェクトをマップ(prjファイル)に追加したりすると、録画したデモが正常に機能しない場合があります。
そのためデモを録画する際は、レベル制作の最後に行うようにしてください。
Demo.pakを作成するには
Diagnostic=ENABLED DiagnosticType=DGX_ERRORS,EDGX_RECORDING_DEMO
と[Options]セクションに入力します。
この例ではDGX_コンスタンツはDGX_ERRORSを使ってみました。
デモを録画したいレベルを起動すると以下のような文字が画面左上に表示されます。
- 「Recorder:STOP」
- デモ録画が中止(終了)されていることを表しています。
デモ録画が開始されると「Recorder:REC」となります。 - 「Demo1」
- デモ録画が最初(1番目)であることを表しています。
Demo.pakはdataフォルダに作成されます。
作成されるDemo.pakはDemo1.pakという名前になります。
2番目以降は「Demo2」となり作成されるDemo.pakはDemo2.pakという名前になります。
1番目を作成した後、再度ゲームを起動すると自動的にDemo2(2番目)になります。 - F11
- デモ録画を開始します。
F12でデモ録画を終了します。
録画できる時間は最長25分までです。 - q/w
- Demo.pakの番号を変更します。
qは前に、wは後ろにDemo.pakの番号を変更します。
例えば:
Demo2録画待ちでqを押すと、Demo1録画待ちになり、
Demo2録画待ちでwを押すと、Demo3録画待ちになる。
反応が悪いので、何度かq/wを押してください。
そこからデモ録画を開始できます。
最大で999までデモ録画を作成できます。 - e
- Demo.pakを削除します。
- F4
- デモ録画するレベルのOrganizeコマンドを有効/無効にするのだと思います。
この他にも録画を後から追加録画したり、削除したDemo.pakを復元したり色々できます。
NG_Center【Reference】タブのEDGX_RECORDING_DEMOフラグも参照してください。
Demo.pakを作成した後は
Diagnostic=ENABLED DiagnosticType=DGX_ERRORS,EDGX_RECORDING_DEMO
を削除または;(セミコロン)でコメント文にします。
各フィールドの説明
- DemoFlags(DEMF_...)
- このフィールドには、1つまたは複数のDEMF_フラグを追加して、Demoコマンドをカスタマイズします。
NG_Center【Reference】タブのDEMF_フラグも参照してください。 - Parameter
- このフィールドには、予備のフィールドです。
将来、DEMF_フラグの中にはこのフィールドに入力するための余分なパラメータが必要になる可能性があります。
このフィールドの使用方法を知るには、NG_Center【Reference】タブのDEMF_フラグも参照してください。 - InfoText
このフィールドには、タイトルレベルに表示したいテキストを入力します。
デモモードが存在し、それが有効になるのをプレイヤーに知らせるため、タイトルレベルにテキストを表示したい場合は、[ExtraNG]セクションにテキストを追加し、同じテキストをこのフィールドにコピーします。
テキストの色と位置については、[Title]セクションのTextFormatコマンドの設定が使用され、テキストは画面の中央に配置されます。このフィールドには、オプションでパーセント%の文字を含めることができます。これはカウントダウンのように、WaitingTimeと置き換えられます。
例えば、WaitingTimeを30秒にし、このフィールドに次のように設定します。
A demo will start in %d seconds
タイトルレベルでは、以下のように表示されます。
A demo will start in 30 seconds
A demo will start in 29 seconds
A demo will start in 28 seconds
A demo will start in 27 seconds
etc.DEMF_PLAY_ON_KEYフラグを設定した場合は、プレイヤーに知らせるためのテキストを常に設定することを強くお勧めします。そうでなければ、プレイヤーがどのキーを押せばよいかわかりません。
したがって、次のようなテキストを入力することができます。Hit "1" or "2" or "3" keys to see a demo of different locations of this adventure.
上記のケースでは、デモデータを3つのレベル(1番目、2番目、および3番目)で作成した場合です。
詳細については、DEMF_PLAY_ON_KEYコンスタンツの説明を参照してください。- DemoLegendText
- このフィールドには、デモの再生中に表示されるテキストを入力します。
このテキストをInfoTextフィールドのテキストと混同しないでください。
InfoTextはタイトルレベルで表示され、デモの開始方法をプレイヤーに知らせるため、デモは「Demo will begin in %d seconds」または「Hit 1 or 2 to show a Demo」などのテキストでなければなりません。DemoLegendTextは、デモが進行中のレベル(タイトルとは異なる)でのみ描画されるため、「Demo (hit escape for Menu)」のようなテキストにすることができます。
また、このテキストはTextFormat設定を使用して表示されますが、この場合はデモが使用されるレベルのTextFormatコマンドになります。 - WaitingTime
- このフィールドには、デモを開始するためのカウントダウンを入力します。
数値は秒単位で入力します。
プレイヤーがキーを操作するとカウントダウンは元に戻ります。
つまり、デモを開始するまで、プレイヤーがWaitingTimeの間、キーを操作しないことが必要です。
IGNOREと入力すると、カウントダウンを行いません。この場合、DemoFlagsフィールドにDEMF_PLAY_ON_KEYフラグを追加する必要があります。そうしないとデモは開始されません。
備考:カウントダウンとDEMF_PLAY_ON_KEYフラグを混在させることもできます。その場合、デモはキーを押し(デモを選択)、カウントダウンが完了した後に開始します。 - DemoIndex array
- このフィールドには、EDGX_RECORDING_DEMOフラグの記録機能で作成したDemoID.pakファイルのIDを1つ以上入力します。
備考:
Demo#.pakファイルはdataフォルダに保存する必要があります。 連続したデモファイルの名前の構文は次のとおりです。
Demo1.pak
Demo2.pak
Demo3.pak このフィールドでIGNOREを使用しないでください。