Ja/Choreography Tool: Difference between revisions

From Valve Developer Community
< Ja
Jump to navigation Jump to search
No edit summary
 
m (fix)
Line 2: Line 2:
originally translated by [[User:RumikoHoshino|RumikoHoshino]], 2005/9/30<br />
originally translated by [[User:RumikoHoshino|RumikoHoshino]], 2005/9/30<br />
original English version: [[Choreography Tool]]<br />
original English version: [[Choreography Tool]]<br />
Choreography(振り付�?�)ツール
Choreography(振り付け)ツール


==�?��?��?�?�==
==はじめに==
<center>[[image:Faceposer_choreography_tool.jpg]]</center>
<center>[[image:Faceposer_choreography_tool.jpg]]</center>


FacePoserのメインツールはchoreography(振り付け)ツールです。このツールで表情や他の演出を配置して、エンジンでどう再生されるかをプレビューすることができます。シーンは複数のアクターを使うことができるので、ゲームキャラクタ間のとても複雑なインタラクションや、会話も実行することが可能です。
このシーンに関するユーザインタフェースにアクセスするには、まず作業を行うモデルと表情クラスファイルを読み込みます。
以前にシーンファイルを開いていないのなら、choreographyデータファイル(*.[[VCD]])が読み込まれていないという注意を見るでしょう。新しい.[[VCD]]ファイルを作成するには、メニューからChoreography | Newを選択します。既にあるファイルを読み込むには、メニューからChoreography | Load…を選択します。新しいchoreographyファイルを作成するには、最低1つのアクターを追加する必要があります。Create Actorダイアログでアクター名を入力してOKをクリックします。ここでキャンセルしても、メニューからChoreography | New Actorを選択することで新しいアクターを追加することができます。
シーンを読み込むか、新しくアクターを作ると、アクターの名前が窓の左に、そしてタイムラインが上に表示されているのを見るでしょう。シーンのそれぞれのアクターにはチャンネルが1つ以上存在し、それぞれのチャンネルにはシーン再生時にトリガーされるイベントが含まれています。チャンネルは主に編集を便利にするためにあるのですが、エンジンでの再生時に2つのイベントが同時にスタートすると、ビューで上側に表示されるチャンネルのイベントが先に適用されます。


FacePoser�?�メインツール�?�choreography(振り付�?�)ツール�?��?�。�?��?�ツール�?�表情や他�?�演出を�?置�?��?��?エンジン�?��?��?��?生�?�れる�?�をプレビュー�?�る�?��?��?��?��??�?��?�。シーン�?�複数�?�アクターを使�?��?��?��?��?��??る�?��?��?ゲームキャラクタ間�?��?��?�も複雑�?�インタラクションや�?会話も実行�?�る�?��?��?��?�能�?��?�。
アクターにチャンネルを追加するには、アクターの名前を右クリックして"New Channel…"を選択します。チャンネルの名前を入力し、どのアクターに追加するかを選択して、OKをクリックします。これで指定したアクターの名前の下にチャンネルが表示されます。それぞれのアクター名の左には拡張表示を切り替えるボタンがあります。これはアクターのチャンネルの表示・非表示を切り替えます。アクターのチャンネルが隠れている場合、隠れているチャンネルとイベントの数の表示がでます。さらに、チャンネルやアクター名の上をダブルクリックしてプレビュー再生の時にチャンネルを使用可能・不可に切り替えることもできます。チャンネルを使用不可にするのはプレビュー再生のみに影響を与えます。


�?��?�シーン�?�関�?�るユーザインタフェース�?�アクセス�?�る�?��?��?�?��?�作業を行�?�モデル�?�表情クラスファイルを読�?�込�?��?��?�。
.WAVイベントを含んでいるチャンネルでは、字幕(close captioning)情報を表示させることができます。チャンネルの左上隅の黒い三角マーカーをクリックすることでこの情報の表示・非表示を切り替えられます。データには言語選択も含まれます(その言語版のゲーム.dllをインストールしてある場合のみ動作)。タイミングの問題のため、ゲームの台詞のなかには複数の.wavファイルに"分割"してあるものもあります。外国語バージョンでは、再生を便利するためにこれらの.wavを1つの.wavに"統合"してあるものとみなしています。そのため、.wavを選択すると右クリックメニューには.wavの結合、分割や字幕のオフを行うオプションがあります。ローカライズされたシングルプレイヤーMODで作業をするのでなければ、これらの設定に注意を払う必要もないかもしれません。
 
以�?�?�シーンファイルを開�?��?��?��?��?��?��?�ら�?choreographyデータファイル(*.[[VCD]])�?�読�?�込�?�れ�?��?��?��?��?��?��?�注�?を見る�?��?�ょ�?�。新�?��?�.[[VCD]]ファイルを作�?�?�る�?��?��?メニュー�?�らChoreography | Newを�?�択�?��?��?�。既�?��?�るファイルを読�?�込む�?��?��?メニュー�?�らChoreography | Load…を�?�択�?��?��?�。新�?��?�choreographyファイルを作�?�?�る�?��?��?最低1�?��?�アクターを追加�?�る必�?�?��?�り�?��?�。Create Actorダイアログ�?�アクター�??を入力�?��?�OKをクリック�?��?��?�。�?��?��?�キャンセル�?��?�も�?メニュー�?�らChoreography | New Actorを�?�択�?�る�?��?��?�新�?��?�アクターを追加�?�る�?��?��?��?��??�?��?�。
 
シーンを読�?�込む�?��?新�?��??アクターを作る�?��?アクター�?��??�?�?�窓�?�左�?��?�??�?��?�タイムライン�?�上�?�表示�?�れ�?��?�る�?�を見る�?��?�ょ�?�。シーン�?��??れ�?�れ�?�アクター�?��?��?ャン�?ル�?�1�?�以上存在�?��?�??れ�?�れ�?��?ャン�?ル�?��?�シーン�?生時�?�トリガー�?�れるイベント�?��?��?�れ�?��?��?��?�。�?ャン�?ル�?�主�?�編集を便利�?��?�る�?��?�?��?�る�?��?��?��?��?エンジン�?��?��?生時�?�2�?��?�イベント�?��?�時�?�スタート�?�る�?��?ビュー�?�上�?��?�表示�?�れる�?ャン�?ル�?�イベント�?�先�?��?�用�?�れ�?��?�。
 
アクター�?��?ャン�?ルを追加�?�る�?��?��?アクター�?��??�?を�?�クリック�?��?�"New Channel…"を�?�択�?��?��?�。�?ャン�?ル�?��??�?を入力�?��?�?��?�アクター�?�追加�?�る�?�を�?�択�?��?��?OKをクリック�?��?��?�。�?�れ�?�指定�?��?�アクター�?��??�?�?�下�?��?ャン�?ル�?�表示�?�れ�?��?�。�??れ�?�れ�?�アクター�??�?�左�?��?�拡張表示を切り替�?�るボタン�?��?�り�?��?�。�?�れ�?�アクター�?��?ャン�?ル�?�表示・�?�表示を切り替�?��?��?�。アクター�?��?ャン�?ル�?�隠れ�?��?�る場�?��?隠れ�?��?�る�?ャン�?ル�?�イベント�?�数�?�表示�?��?��?��?�。�?�ら�?��?�?ャン�?ルやアクター�??�?�上をダブルクリック�?��?�プレビュー�?生�?�時�?��?ャン�?ルを使用�?�能・�?�?��?�切り替�?�る�?��?�も�?��??�?��?�。�?ャン�?ルを使用�?�?��?��?�る�?��?�プレビュー�?生�?��?��?�影響を与�?��?��?�。
 
.WAVイベントを�?�ん�?��?�る�?ャン�?ル�?��?��?字幕(close captioning)情報を表示�?��?�る�?��?��?��?��??�?��?�。�?ャン�?ル�?�左上隅�?�黒�?�三角マーカーをクリック�?�る�?��?��?��?��?�情報�?�表示・�?�表示を切り替�?�られ�?��?�。データ�?��?�言語�?�択も�?��?�れ�?��?�(�??�?�言語版�?�ゲーム.dllをインストール�?��?��?�る場�?��?��?�動作)。タイミング�?��?題�?��?��?�?ゲーム�?��?�詞�?��?��?��?��?�複数�?�.wavファイル�?�"分割"�?��?��?�るも�?�も�?�り�?��?�。外国語�?ージョン�?��?��?�?生を便利�?�る�?��?�?��?�れら�?�.wavを1�?��?�.wav�?�"統�?�"�?��?��?�るも�?��?��?��?��?��?��?��?��?�。�??�?��?��?�?.wavを�?�択�?�る�?��?�クリックメニュー�?��?�.wav�?��?�?��?分割や字幕�?�オフを行�?�オプション�?��?�り�?��?�。ローカライズ�?�れ�?�シングルプレイヤーMOD�?�作業を�?�る�?��?��?��?�れ�?��?�?�れら�?�設定�?�注�?を払�?�必�?も�?��?��?�も�?�れ�?��?�ん。


==アクター==
==アクター==
An actor is an NPC in your scene アクター�?�シーン([[VCD|.vcd]])内�?�[[Choreography_Tool:jp#Choreographyイベント|Choreographyイベント]]を使�?��?�演出を行�?�NPC�?��?��?��?��?�。シーン�?��?�少�?��??�?�も一人�?�アクター�?�必�?�?��?複数�?�アクターを�?�?��?��?�も�?��??�?��?�。�??れ�?�れ�?�アクター�?��?�少�?��??�?�も1�?��?��?ャン�?ル�?�必�?�?��?�?ャン�?ル�?��?�任�?�?�数�?�[[Choreography_Tool:jp#Choreographyイベント|Choreographyイベント]]を追加�?�る�?��?��?��?��??�?��?�。�?��?�よ�?��?�アクターや�?ャン�?ルを作�?�?�る�?��?��?��?��?��?�[[Choreography_Tool:jp#�?��?��?�?�|�?��?�]]を�?�照�?��?��??�?��?��?�。イベント�?�作�?�?�関�?��?��?�[[Choreography_Tool#イベント�?�作�?�?�編集|�?��?�]]を�?�照�?��?��??�?��?��?�。
An actor is an NPC in your scene アクターはシーン([[VCD]])内で[[Choreography_Tool:jp#Choreographyイベント|Choreographyイベント]]を使って演出を行うNPCのことです。シーンには少なくとも一人のアクターが必要で、複数のアクターを持つこともできます。それぞれのアクターには少なくとも1つのチャンネルが必要で、チャンネルには任意の数の[[Choreography_Tool:jp#Choreographyイベント|Choreographyイベント]]を追加することができます。どのようにアクターやチャンネルを作成するかについては[[Choreography_Tool:jp#はじめに|ここ]]を参照してください。イベントの作成に関しては[[Choreography_Tool#イベントの作成と編集|ここ]]を参照してください。


[[Image:Actor01.jpg|frame|left|An Actor named "Bob" with 2 channels and one event]]
[[Image:Actor01.jpg|frame|left|An Actor named "Bob" with 2 channels and one event]]
アクター???????も????。????もマップ内?アクター???????[[Entity|エンティティ]]?対??イベント??用?れる?ら??。[[VCD|.vcd]]ファイル?中?アクター?"Bob"????を????ら?マップ内?"Bob"???????エンティティ????アクター?イベント??用?れる????り??。別?方法?????.vcd?中??アクター?"[[Choreography_Implementation#Using_.21Target.23|!Target#]]"??????を??? [[Logic_choreographed_scene]]?ターゲット??るエンティティ????を指定?る??も?????。


通常アクター�?�マップ内�?�NPC�?�対応�?��?��?��?��?�。�?�在�?��?��?��?全�?��?�NPCクラス�?��?��?�Choreographyイベントも実行�?��??る�?�?��?��?��?�り�?��?�ん。アクター�?�プレイヤー�?�仲間�?�NPC�?�推定�?�れ�?��?��?��?�。�?�れ�?��?��?��?��?�リンクを追加予定�?��?�。<br style="clear:both" />
アクターの名前はとても重要です。というのもマップ内のアクターと同じ名前の[[Entity|エンティティ]]に対してイベントが適用されるからです。[[VCD]]ファイルの中でアクターに"Bob"と名前をつけたなら、マップ内の"Bob"という名前のエンティティにそのアクターのイベントが適用されることになります。別の方法としては、.vcdの中ではアクターに"[[Choreography_Implementation#Using_.21Target.23|!Target#]]"という名前をつけ、 [[Logic choreographed scene|Logic_choreographed_scene]]でターゲットとなるエンティティの名前を指定することもできます。
通常アクターはマップ内のNPCに対応しています。現在のところ全てのNPCクラスがどのChoreographyイベントも実行できるわけではありません。アクターはプレイヤーの仲間のNPCと推定されています。これについてはリンクを追加予定です。


==Choreographyイベント==
==Choreographyイベント==
 
choreographyシステムでは以下の種類のイベントを配置できます。イベントの作成と編集に関しては[[Choreography_Tool:jp#イベントの作成と編集|ここ]]を参照してください。
choreographyシステム�?��?�以下�?�種類�?�イベントを�?置�?��??�?��?�。イベント�?�作�?�?�編集�?�関�?��?��?�[[Choreography_Tool:jp#イベント�?�作�?�?�編集|�?��?�]]を�?�照�?��?��??�?��?��?�。


===Expression(表情)===
===Expression(表情)===
アクターはイベントの開始時間に指定した表情へのブレンドを行い、イベントの持続時間の間その表情を維持します。アクターは同時に複数の表情を再生することも可能です。(重なっている場合別のチャンネルにすることを考えるべきでしょう。)Rampツールを使うことで表情のウェイト(強さ)を時間によって変化させることができます(後述)。


アクター�?�イベント�?�開始時間�?�指定�?��?�表情�?��?�ブレンドを行�?��?イベント�?��?続時間�?�間�??�?�表情を維�?�?��?��?�。アクター�?��?�時�?�複数�?�表情を�?生�?�る�?��?�も�?�能�?��?�。(�?�?��?��?��?�る場�?�別�?��?ャン�?ル�?��?�る�?��?�を考�?�る�?��??�?��?�ょ�?�。)Rampツールを使�?��?��?��?�表情�?�ウェイト(強�?�)を時間�?�よ�?��?�変化�?��?�る�?��?��?��?��??�?��?�(後述)。
===Gesture(ジェスチャ)===
アクターは指定したジェスチャアニメーションを実行します。ジェスチャは特定の合成ルールを持ち、[[FacePoser Overview|Faceposer]]向けの内部タグ情報を持つ特別な種類のアニメーションです。
ジェスチャの作成と使用についての詳細情報はここに追加予定です(リンク追加予定)。


===Gesture(ジェス�?ャ)===
Choreographyビューのジェスチャイベントのタグを動かすだけジェスチャのタイミング再調整ができます。[[Other_FacePoser_Tools#Gesture_Tool|Gesture Tool]]を使ってタグの時間調整を行うこともできます。


アクター�?�指定�?��?�ジェス�?ャアニメーションを実行�?��?��?�。ジェス�?ャ�?�特定�?��?��?ルールを�?�?��?[[FacePoser_Overview|Faceposer]]�?��?��?�内部タグ情報を�?�?�特別�?�種類�?�アニメーション�?��?�。
[[Other_FacePoser_Tools#Ramp_Tool|Rampツール]]を使うことでジェスチャの強さを時間によって変化させることができます。初期状態では同じチャンネルにある複数チャンネルはクロスフェードすると推定され、最初のジェスチャイベントの"end"(終了)タグは2つ目のジェスチャの"apex"(最高点)タグに固定されます。こうしたことを回避するには、2つのジェスチャイベントの間に"NULL Gesture"イベントをおいてください。以下に例を示します。


ジェス?ャ?作??使用?????詳細情報????追加予定??(リンク追加予定)。 


Choreographyビュー�?�ジェス�?ャイベント�?�タグを動�?��?��?��?�ジェス�?ャ�?�タイミング�?調整�?��?��??�?��?�。[[Other_FacePoser_Tools#Gesture_Tool|Gesture Tool]]を使�?��?�タグ�?�時間調整を行�?��?��?�も�?��??�?��?�。
[[Image:Choreo GestureEvent01.jpg|frame|left|同じチャンネルに複数のジェスチャイベントを配置すると"end"と"apex"タグの場所が固定されます。2つのイベントの間に"NULL Gesture"をおくことで、タグの自動位置調整をオフにできます]]


[[Other_FacePoser_Tools#Ramp_Tool|Rampツール]]を使????ジェス?ャ?強?を時間?よ??変化??る????????。?期状態?????ャン?ル??る複数?ャン?ル?クロスフェード?る?推定?れ?最??ジェス?ャイベント?"end"(終了)タグ?2?目?ジェス?ャ?"apex"(最高点)タグ?固定?れ??。??????を回??る???2??ジェス?ャイベント?間?"NULL Gesture"イベントを????????。以下?例を示???。
[[Image:Choreo GestureEvent01.jpg|frame|left|???ャン?ル?複数?ジェス?ャイベントを?置?る?"end"?"apex"タグ?場所?固定?れ??。2??イベント?間?"NULL Gesture"を???????タグ?自動?置調整をオフ??????]]


===Sequence(シークエンス)===
===Sequence(シークエンス)===
 
アクターが特定のアニメーションシークエンスを再生するようにします。
アクター�?�特定�?�アニメーションシークエンスを�?生�?�るよ�?��?��?��?��?�。


===WAV File/Speak event(WAV音声/会話)===
===WAV File/Speak event(WAV音声/会話)===
 
様々なgame_sounds.txtファイル内にリストアップされた音声を生成します。(生の.wavファイルを呼ぶこともできますが、そうした使用は推奨されません。)これらの音声はphoneme(音素)エディタ/抽出ツール(PhonemeEditor)で作成された音素(そしてViseme、発音に対する口のパターン)タグを含みます。sounds.txtファイルでCHAN_VOICEと指定された以外の音声を見るには"Show all sounds"ボタンをチェックしてください。Choose File…ボタンを使うかSpeak .WAVコンボボックスに相対パスを入力することで生の.Wavファイルを読み込むこともできます。
様々�?�game_sounds.txtファイル内�?�リストアップ�?�れ�?�音声を生�?�?��?��?�。(生�?�.wavファイルを呼�?��?��?�も�?��??�?��?��?��?�??�?��?��?�使用�?�推奨�?�れ�?��?�ん。)�?�れら�?�音声�?�phoneme(音素)エディタ/抽出ツール(PhonemeEditor)�?�作�?�?�れ�?�音素(�??�?��?�Viseme�?発音�?�対�?�る�?��?�パターン)タグを�?��?��?��?�。sounds.txtファイル�?�CHAN_VOICE�?�指定�?�れ�?�以外�?�音声を見る�?��?�"Show all sounds"ボタンを�?ェック�?��?��??�?��?��?�。Choose File…ボタンを使�?��?�Speak .WAVコンボボックス�?�相対パスを入力�?�る�?��?��?�生�?�.Wavファイルを読�?�込む�?��?�も�?��??�?��?�。


===Look at actor(アクターを見る)===
===Look at actor(アクターを見る)===
アクターはマップ内に存在する指定された名前の他のアクターやエンティティを見ます。このLook atでは目、頭、首のみを使います。
[[Other_FacePoser_Tools#Ramp_Tool|Rampツール]]を使うことでこのイベントの強さを時間によって変化させることができます。強さを0%にすると目だけ(頭、首の回転はなし)でターゲットを追います。強さを100%にすると頭全体を動かしてターゲットに向きます。
もしLook atのターゲットがアクターの後ろにあったり、特定の角度の外(具体的な閾値はわかりません)にあるとアクターはターゲットを見ようとはしません。
Look Atのターゲットに!Self(自分)を指定すると、アクターは何も特定のものを見ないようになり、そのイベントがオンになっている間idle(待機)状態の視線行動をしないようになります(AIが時間経過によってランダムに物に視線を向けるのではなく、ただ前を向くようになります)。 アクターが眠っている、もしくはシーンで少し失神しているといったように待機視線行動が不適切で抑制したいと思う時に役立ちます。


アクター�?�マップ内�?�存在�?�る指定�?�れ�?��??�?�?�他�?�アクターやエンティティを見�?��?�。�?��?�Look at�?��?�目�?頭�?首�?��?�を使�?��?��?�。
===Move to actor(アクターの場所に移動)===
指定したターゲットの場所にアクターが移動します。ターゲットは名前があるエンティティなら何でもよく、NPCでもプレイヤーでも構いません。
Move Toイベントではターゲットの移動につかうシークエンスやアクティビティを指定することができます。初期設定はWalk(歩き)ですが、Run(走り)やCrouchRun(しゃがみ走り)の選択が可能です。もしくは特定のシークエンスの名前を指定することもできます。
Move ToイベントではStop Distance(停止距離)を定義することができます。ターゲットから指定した距離のところに到達するとMove Toイベントが完了します。停止距離の初期設定は0ユニット(インチ)です。Move ToのターゲットがプレイヤーかNPCの場合は、アクターがターゲットのキャラクタと衝突しないように停止距離に十分な値を入れるべきでしょう。以下にMove Toイベントのプロパティを図示します。


[[Other_FacePoser_Tools#Ramp_Tool|Rampツール]]を使�?��?��?��?��?��?�イベント�?�強�?�を時間�?�よ�?��?�変化�?��?�る�?��?��?��?��??�?��?�。強�?�を0%�?��?�る�?�目�?��?�(頭�?首�?�回転�?��?��?�)�?�ターゲットを追�?��?��?�。強�?�を100%�?��?�る�?�頭全体を動�?��?��?�ターゲット�?��?��??�?��?�。
[[Image:Choreo MoveToEvent01.jpg|frame|left|Move Toイベントのプロパティ。この場合、アクターはプレイヤーから72ユニットの範囲を目指し走ります]]
<br style="clear:both">


も�?�Look at�?�ターゲット�?�アクター�?�後�?�?��?��?��?�り�?特定�?�角度�?�外(具体的�?�閾値�?��?�?�り�?��?�ん)�?��?�る�?�アクター�?�ターゲットを見よ�?��?��?��?��?��?�ん。
アクターは実際の移動を行うためにSource EngineのAIシステムを使用することに注意してください。もしプレイヤーや障害物が途中にある場合、移動に予想より長くかかったり、短かったりすることもあります。移動が終了していることがシーンの続行に必須なら、シーンの移動部分に"[[Choreography_Tool#Global_Pauses_.28Interrupts.29|Pause]]"ポイントを挿入し、移動を"Resume Condition"(再開条件)としてマークします。アクターがマークに最終的にたどり着くと自動的にシーンが再開するようになります。


Look At�?�ターゲット�?�!Self(自分)を指定�?�る�?��?アクター�?�何も特定�?�も�?�を見�?��?�よ�?��?��?�り�?�??�?�イベント�?�オン�?��?��?��?��?�る間idle(待機)状態�?�視線行動を�?��?��?�よ�?��?��?�り�?��?�(AI�?�時間経�?��?�よ�?��?�ランダム�?�物�?�視線を�?��?�る�?��?��?��?��??�?�?��?��?を�?��??よ�?��?��?�り�?��?�)。 アクター�?�眠�?��?��?�る�?も�?��??�?�シーン�?�少�?�失神�?��?��?�る�?��?��?��?�よ�?��?�待機視線行動�?��?�?�切�?�抑制�?��?��?��?��?�?�時�?�役立�?��?��?�。
===Face actor(アクターを向く)===
 
アクターはシーン内の他のアクターに向き合います。
===Move to actor(アクター�?�場所�?�移動)===
 
指定�?��?�ターゲット�?�場所�?�アクター�?�移動�?��?��?�。ターゲット�?��??�?�?��?�るエンティティ�?�ら何�?�もよ�??�?NPC�?�もプレイヤー�?�も構�?��?��?�ん。
 
Move Toイベント�?��?�ターゲット�?�移動�?��?��?��?�シークエンスやアクティビティを指定�?�る�?��?��?��?��??�?��?�。�?期設定�?�Walk(歩�??)�?��?��?��?Run(走り)やCrouchRun(�?�ゃ�?��?�走り)�?��?�択�?��?�能�?��?�。も�?��??�?�特定�?�シークエンス�?��??�?を指定�?�る�?��?�も�?��??�?��?�。
 
Move Toイベント�?��?�Stop Distance(�?�止�?離)を定義�?�る�?��?��?��?��??�?��?�。ターゲット�?�ら指定�?��?��?離�?��?��?��?�?�到�?��?�る�?�Move Toイベント�?�完了�?��?��?�。�?�止�?離�?��?期設定�?�0ユニット(イン�?)�?��?�。Move To�?�ターゲット�?�プレイヤー�?�NPC�?�場�?��?��?アクター�?�ターゲット�?�キャラクタ�?��?�?�?��?��?�よ�?��?��?�止�?離�?��??分�?�値を入れる�?��??�?��?�ょ�?�。以下�?�Move Toイベント�?�プロパティを図示�?��?��?�。
 
[[Image:Choreo MoveToEvent01.jpg|frame|left|Move Toイベント�?�プロパティ。�?��?�場�?��?アクター�?�プレイヤー�?�ら72ユニット�?�範囲を目指�?�走り�?��?�]] <br style="clear:both">
アクター�?�実際�?�移動を行�?��?��?�?�Source Engine�?�AIシステムを使用�?�る�?��?��?�注�?�?��?��??�?��?��?�。も�?�プレイヤーや障害物�?�途中�?��?�る場�?��?移動�?�予想より長�??�?��?��?��?�り�?短�?��?��?�り�?�る�?��?�も�?�り�?��?�。移動�?�終了�?��?��?�る�?��?��?�シーン�?�続行�?�必須�?�ら�?シーン�?�移動部分�?�"[[Choreography_Tool#Global_Pauses_.28Interrupts.29|Pause]]"�?イントを挿入�?��?移動を"Resume Condition"(�?開�?�件)�?��?��?�マーク�?��?��?�。アクター�?�マーク�?�最終的�?��?��?�り�?��??�?�自動的�?�シーン�?��?開�?�るよ�?��?��?�り�?��?�。
 
===Face actor(アクターを�?��??)===
 
アクター�?�シーン内�?�他�?�アクター�?��?��??�?��?��?��?�。


===Flex animation(表情アニメーション)===
===Flex animation(表情アニメーション)===
 
時間経過にしたがって個々のFlex(表情筋肉)スライダーをスプラインにそって動かして表情をアニメーションさせます。Flex animationイベントは[[Other_FacePoser_Tools#Flex_Animation_Tool|Flex Animationツール]]を使って編集することができます。
時間経�?��?��?��?��?��?��?�個々�?�Flex(表情筋肉)スライダーをスプライン�?��??�?��?�動�?��?��?�表情をアニメーション�?��?��?��?�。Flex animationイベント�?�[[Other_FacePoser_Tools#Flex_Animation_Tool|Flex Animationツール]]を使�?��?�編集�?�る�?��?��?��?��??�?��?�。


===Fire Trigger(トリガー発射)===
===Fire Trigger(トリガー発射)===
 
AIトリガーを発射します。
AIトリガーを発射�?��?��?�。


===Generic(AI)(一般AI)===
===Generic(AI)(一般AI)===
 
ゲーム.dllのコードのCSceneEntityが処理する指令を渡します。
ゲーム.dll�?�コード�?�CSceneEntity�?�処�?��?�る指令を渡�?��?��?�。


===Sub-scene(副シーン)===
===Sub-scene(副シーン)===
.VCDには複数の"副シーン"を埋め込んで再生することができます。これらの副シーン自身はその中に追加の副シーンレイヤーを持つことはできません。(現在の制限)


.VCD�?��?�複数�?�"副シーン"を埋�?込ん�?��?生�?�る�?��?��?��?��??�?��?�。�?�れら�?�副シーン自身�?��??�?�中�?�追加�?�副シーンレイヤーを�?�?��?��?��?��?��??�?��?�ん。(�?�在�?�制�?)
===Permit Responses(反応の許可)===
.VCD.シーンの中で、アクターが話していない状態で、プレイヤーが何か行動したことでレスポンスシステムからの反応が生成され、そこでPermit Responses(反応の許可)イベントがあるなら、アクターは.VCDの再生を続行しつつ、反応を挿入することができます。


===Permit Responses(�??応�?�許�?�)===
Look at(見る)、Move to(移動)、Face(向き合う)イベントのターゲットとして"!player"を入力することで一人称のプレイヤーを対象にすることもできます。他にも"!self"、"!enemy"、"!friend"という特殊な対象指定があり、さらに"!target#"の場合マップ作成者が<code >[[Logic choreographed scene|logic_choreographed_scene]]</code >エンティティを使ってターゲットエンティティを指定できます。


.VCD.シーン�?�中�?��?アクター�?�話�?��?��?��?��?�状態�?��?プレイヤー�?�何�?�行動�?��?��?��?��?�レス�?ンスシステム�?�ら�?��??応�?�生�?�?�れ�?�??�?��?�Permit Responses(�??応�?�許�?�)イベント�?��?�る�?�ら�?アクター�?�.VCD�?��?生を続行�?��?��?��?�??応を挿入�?�る�?��?��?��?��??�?��?�。
==イベントの作成と編集==
イベントを作成するには、イベントを追加したいアクターのチャンネルで右クリックします。マウスをクリックした場所が作成するイベントの開始時間になる(後で変更可能)ことに注意してください。メニューから例えば"New Event | Expression"を選択します。ここで表情を選択し(現在開いている表情クラスから)、名前をつけイベントの、開始、終了時間(ほとんどのイベントには開始と終了がありますが、"発射してそのまま"というものもあります。)を変更します。値を設定し、OKを選んでイベントを作成します。開始時間はSPEAK(会話)イベントといったシーン内の他のイベントと相対的に指定することもできます。このときSPEAKイベントやそのタグを移動すると、相対的に指定したイベントも一緒に移動します。さらに、イベントの種類によってはAdd/Edit event(イベント追加・編集)ダイアログに追加パラメータが表示されることもあります。


Look at(見る)�?Move to(移動)�?Face(�?��??�?��?�)イベント�?�ターゲット�?��?��?�"!player"を入力�?�る�?��?��?�一人称�?�プレイヤーを対象�?��?�る�?��?�も�?��??�?��?�。他�?�も"!self"�?"!enemy"�?"!friend"�?��?��?�特殊�?�対象指定�?��?�り�?�?�ら�?�"!target#"�?�場�?�マップ作�?者�?�<code>[[logic_choreographed_scene]]</code>エンティティを使�?��?�ターゲットエンティティを指定�?��??�?��?�。
これで新しいイベントが現在のアクターのチャンネルに表示されます。上の例では表情を作成したので、イベントの持続時間を示すバーの下に顔のアイコンが表示されています。バーを左クリック、ドラッグで移動することができます。左端、右端をクリックすると開始・終了時間をドラッグで変更することができます。


==イベント�?�作�?�?�編集==
イベントを削除するには右クリックしてメニューからDelete(削除)を選択するか、キーボードの"Delete"キーを押してください。


イベントを作�?�?�る�?��?��?イベントを追加�?��?��?�アクター�?��?ャン�?ル�?��?�クリック�?��?��?�。マウスをクリック�?��?�場所�?�作�?�?�るイベント�?�開始時間�?��?�る(後�?�変更�?�能)�?��?��?�注�?�?��?��??�?��?��?�。メニュー�?�ら例�?��?�"New Event | Expression"を�?�択�?��?��?�。�?��?��?�表情を�?�択�?�(�?�在開�?��?��?�る表情クラス�?�ら)�?�??�?を�?��?�イベント�?��?開始�?終了時間(�?��?�ん�?��?�イベント�?��?�開始�?�終了�?��?�り�?��?��?��?"発射�?��?��??�?��?��?�"�?��?��?�も�?�も�?�り�?��?�。)を変更�?��?��?�。値を設定�?��?OKを�?�ん�?�イベントを作�?�?��?��?�。開始時間�?�SPEAK(会話)イベント�?��?��?��?�シーン内�?�他�?�イベント�?�相対的�?�指定�?�る�?��?�も�?��??�?��?�。�?��?��?��??SPEAKイベントや�??�?�タグを移動�?�る�?��?相対的�?�指定�?��?�イベントも一緒�?�移動�?��?��?�。�?�ら�?��?イベント�?�種類�?�よ�?��?��?�Add/Edit event(イベント追加・編集)ダイアログ�?�追加パラメータ�?�表示�?�れる�?��?�も�?�り�?��?�。
イベントを右クリックして"Edit | Event <イベント名>"(イベントの編集)を選択することでイベントのプロパティを編集することもできます。また、Alt-Enterを押すことでも選択したイベントの編集が行えます。


�?�れ�?�新�?��?�イベント�?��?�在�?�アクター�?��?ャン�?ル�?�表示�?�れ�?��?�。上�?�例�?��?�表情を作�?�?��?��?��?��?イベント�?��?続時間を示�?��?ー�?�下�?�顔�?�アイコン�?�表示�?�れ�?��?��?��?�。�?ーを左クリック�?ドラッグ�?�移動�?�る�?��?��?��?��??�?��?�。左端�?�?�端をクリック�?�る�?�開始・終了時間をドラッグ�?�変更�?�る�?��?��?��?��??�?��?�。
マウスの下にあるイベントの詳細はChoreographyエディタの下に表示されます。


イベントを削除�?�る�?��?��?�クリック�?��?�メニュー�?�らDelete(削除)を�?�択�?�る�?��?キーボード�?�"Delete"キーを押�?��?��??�?��?��?�。
==タイムラインの活用==
スクリーンの上部にあるタイムラインには追加情報がいくつかあります。まず、(現在のズームレベルでシーンのどの程度が見えているかにもよりますが)シーンの最後のイベントの終了時間を示す青い点線があります。さらに、通常のビデオデッキのような操作ボタン(Play-再生、Pause-一時停止、stop-停止)がツールウィンドウの左上にあります。シーンの再生、停止はスペースバーでも行えます。シーンにイベントがある状態で再生を行うと、3dビューに表示がされます。再生をクリックすると上部に緑の時間スクラバーが表示され、左から右に移動します。現在の再生している時間がビューの中にない場合でも、現在時間は左上に表示されます。


イベントを�?�クリック�?��?�"Edit | Event <イベント�??>"(イベント�?�編集)を�?�択�?�る�?��?��?�イベント�?�プロパティを編集�?�る�?��?�も�?��??�?��?�。�?��?��?Alt-Enterを押�?��?��?��?�も�?�択�?��?�イベント�?�編集�?�行�?��?��?�。
スクラバーを左クリックし、ドラッグすると、現在のスクラバー位置が垂直のバーに表示されます。


マウス�?�下�?��?�るイベント�?�詳細�?�Choreographyエディタ�?�下�?�表示�?�れ�?��?�。
Choreographyビューには再生速度を変えるスライダーもあり、プレビューを高速や低速で行うこともできます。


==タイムライン�?�活用==
選択しているツールでマウスホイールを動かすと(ホイールにすでに別の機能がわりあてられているケースはShiftを同時に押してください)、ホイールの動きに従ってズームイン、ズームアウトします。
終了時間がないイベント(ただトリガーを開始時間に発射するだけ)はサイズ変更バーでの表示はなく、ドラッグして移動させることしかできません。終了時間を指定するには、イベントを右クリックして、end timeに入力し、その横にあるチェックボックスをオンにします。 (注意:終了時間は開始時間より後である必要があります) 終了時間に-1.0を指定すると"終了時間無し"と指定すると同じになります。


スクリーン�?�上部�?��?�るタイムライン�?��?�追加情報�?��?��??�?��?��?�り�?��?�。�?��?��?(�?�在�?�ズームレベル�?�シーン�?��?��?�程度�?�見�?��?��?�る�?��?�もより�?��?��?�)シーン�?�最後�?�イベント�?�終了時間を示�?��?��?�点線�?��?�り�?��?�。�?�ら�?��?通常�?�ビデオデッキ�?�よ�?��?��?作ボタン(Play-�?生�?Pause-一時�?�止�?stop-�?�止)�?�ツールウィンドウ�?�左上�?��?�り�?��?�。シーン�?��?生�?�?�止�?�スペース�?ー�?�も行�?��?��?�。シーン�?�イベント�?��?�る状態�?��?生を行�?��?��?3dビュー�?�表示�?��?�れ�?��?�。�?生をクリック�?�る�?�上部�?�緑�?�時間スクラ�?ー�?�表示�?�れ�?左�?�ら�?��?�移動�?��?��?�。�?�在�?��?生�?��?��?�る時間�?�ビュー�?�中�?��?��?�場�?��?�も�?�?�在時間�?�左上�?�表示�?�れ�?��?�。
===スクラバー===
 
FacePoser内の様々なツールがスクラバーを使います。スクラバーは全て現在再生中の時間と一致します。スクラバーをクリック、ドラッグして手動でシーンを再生したり、逆再生したりできます。もしくはスクラバーがある水平トレイをクリックすると、その場所を目指してスクラバーが自動的に再生を行います。FacePoser内の全てのスクラバーはそれぞれ同期しています。
スクラ�?ーを左クリック�?��?ドラッグ�?�る�?��?�?�在�?�スクラ�?ー�?置�?�垂直�?��?ー�?�表示�?�れ�?��?�。
 
Choreographyビュー�?��?��?生速度を変�?�るスライダーも�?�り�?プレビューを高速や低速�?�行�?��?��?�も�?��??�?��?�。
 
�?�択�?��?��?�るツール�?�マウスホイールを動�?��?��?�(ホイール�?��?��?��?�別�?�機能�?��?り�?��?�られ�?��?�るケース�?�Shiftを�?�時�?�押�?��?��??�?��?��?�)�?ホイール�?�動�??�?�従�?��?�ズームイン�?ズームアウト�?��?��?�。
 
終了時間�?��?��?�イベント(�?��?�トリガーを開始時間�?�発射�?�る�?��?�)�?�サイズ変更�?ー�?��?�表示�?��?��??�?ドラッグ�?��?�移動�?��?�る�?��?��?��?��?��??�?��?�ん。終了時間を指定�?�る�?��?��?イベントを�?�クリック�?��?��?end time�?�入力�?��?�??�?�横�?��?�る�?ェックボックスをオン�?��?��?��?�。 (注�?:終了時間�?�開始時間より後�?��?�る必�?�?��?�り�?��?�) 終了時間�?�-1.0を指定�?�る�?�"終了時間無�?�"�?�指定�?�る�?��?��?��?��?�り�?��?�。
 
===スクラ�?ー===
 
FacePoser内�?�様々�?�ツール�?�スクラ�?ーを使�?��?��?�。スクラ�?ー�?�全�?��?�在�?生中�?�時間�?�一致�?��?��?�。スクラ�?ーをクリック�?ドラッグ�?��?�手動�?�シーンを�?生�?��?�り�?逆�?生�?��?�り�?��??�?��?�。も�?��??�?�スクラ�?ー�?��?�る水平トレイをクリック�?�る�?��?�??�?�場所を目指�?��?�スクラ�?ー�?�自動的�?��?生を行�?��?��?�。FacePoser内�?�全�?��?�スクラ�?ー�?��??れ�?�れ�?�期�?��?��?��?��?�。


===Global Pauses (中断)===
===Global Pauses (中断)===
シーン�?��?�"global" pause(一時�?�止)イベントを�?置�?�る�?��?��?��?��??�?��?�。 一時�?�止イベントを作�?�?�る�?��?��?アクター�?��?ャン�?ル�??�?��?ャン�?ルトレイを�?�クリック�?��?��? "New Section Pause…"(新�?��?��?�止区間)をメニュー�?�ら�?�択�?��?��?�。�?��?��?�止区間�?��??�?を�?��?��?�??�?�間�?�自動的�?�アクションを実行�?�るよ�?��?�も設定�?��??�?��?�。�?�止区間�?�必�?性�?��?イベント終了時間�?��?�?�ら�?��?�イベントをトリガー�?�る�?��?��?�?�ら出�?��??�?��?��?�。例�?��?��?上�?�述�?��?�よ�?��?��?"move to"イベント�?�AI�?�次�?�場所�?�移動�?�るよ�?��?��?�?��?��?�。障害物や�?移動速度�?��?��?��?��?��?��?��?��?�ら�?アクター�?��??�?�場所�?�到�?��?�る�?��?��?��?��??ら�?�時間�?��?��?�る�?�正確�?�見�?もる�?��?��?�?�能�?��?��?��?�。�?��?��?�一時�?�止イベントを活用�?��??�?��?�。AIシステム�?�後�?�"Resume Condition"(�?開�?�件)�?�満�?��?�れる�?��??�?��?��?�をシーン�?��?�?��?��?�。(�?��?��?��?�止�?イント�?��?�?�るイベント�?�プロパティ�?�"Resume condition"�?ェックボックスをオン�?��?��?�場�?��?��?�)
シーンには"global" pause(一時停止)イベントを配置することができます。 一時停止イベントを作成するには、アクターのチャンネル名かチャンネルトレイを右クリックして、 "New Section Pause…"(新しい停止区間)をメニューから選択します。この停止区間に名前をつけ、その間に自動的なアクションを実行するようにも設定できます。停止区間の必要性は、イベント終了時間がわからないイベントをトリガーするところから出てきました。例えば、上で述べたように、"move to"イベントはAIに次の場所に移動するように伝えます。障害物や、移動速度などといったことから、アクターがその場所に到達するのにどのくらい時間がかかるか正確に見積もるのは不可能なのです。ここで一時停止イベントを活用できます。AIシステムは後で"Resume Condition"(再開条件)が満たされるとそのことをシーンに伝えます。(ただし停止ポイントと重なるイベントのプロパティで"Resume condition"チェックボックスをオンにした場合のみ)
 
言�?��?��?�る�?��?�?�れ�?�"move to"イベント�?�対�?��?自分�?�"Resume Condition"(�?開�?�件)�?��?��?��?��?�イベント�?�完了を待�?��?��?�る�?��?��?�タグを�?��?�る�?��?��?��?�り�?��?�。イベントを�?開�?�件�?��?��?�タグ付�?�を�?�る�?��?��?イベントを�?�クリック�?��?�プロパティ編集�?�入り�?"Event must complete for paused scene to resume"(一時�?�止�?��?�シーン�?��?開�?��?��?��?�イベント�?�完了�?�必�?)�?ェックボックスをクリック�?��?��??�?��?��?�。


�?�れ�?��?�止イベント�?�一番よ�??使�?れる方法�?��?�。"move to"イベント�?�共�?�使�?��?��?��?��?シーンを�?開�?�る�?�?�アクター�?�指示�?��?�場所�?�到�?��?��?��?�る�?��?�を�?証�?��?��?�。後続�?�るシーンイベント�?�場所�?存�?�場�?�(例:ボタンを押�?��?キーボードを�?��?��??�?マイク�?�む�?��?��?�話�?��?部屋�?��?��?�る�?��?�)�?��?�テクニックを使�?��?��??�?��?��?�。HL2�?�製作�?��?��?��?��?��?��?�テクニック�?�アクター誘導�?�強力�?�方法�?��?��?��?��?��?��?�扱�?れ�?��?��?�。�?�れ�?�効率的�?�アクターを目標点�?�到�?��?��?�る�?��?�を�?証�?�る�?�ら�?��?�。
言い換えると、これは"move to"イベントに対し、自分は"Resume Condition"(再開条件)としてこのイベントの完了を待っているというタグをつけることになります。イベントを再開条件としてタグ付けをするには、イベントを右クリックしてプロパティ編集に入り、"Event must complete for paused scene to resume"(一時停止したシーンの再開にはこのイベントの完了が必要)チェックボックスをクリックしてください。


�?�止イベント�?�目立�?��?��??�?�も強力�?�一�?��?��?開�?�件�?��?��?��?��?�るイベント�?�完了�?��?��?�?��?�シーン�?��?開をコントロール�?��??る�?��?��?��?��?��?��?�。指定�?��?�時間�?�イベント�?�完了を予期�?��?��?実際�?�イベント完了�?�?�シーンを�?開�?�る�?��?�も�?��??�?��?�。�?�れ�?�イベント�?�自然�?��?�?��?��?��?�るシーンを�?�止�?�ら�?開�?�る�?��?�役立�?��?��?�。イベント完了�?��?�?�先立�?��?�シーン�?��?開�?�るよ�?��?��?�る�?��?��?�?�止イベントよりイベントを長�??延長�?�る必�?�?��?�り�?��?�。以下�?��?��?�テクニックを図示�?��?��?�:
これが停止イベントの一番よく使われる方法です。"move to"イベントと共に使うことで、シーンを再開する前にアクターが指示した場所に到着していることを保証します。後続するシーンイベントが場所依存の場合(例:ボタンを押す、キーボードをたたく、マイクにむかって話す、部屋にはいるなど)このテクニックを使ってください。HL2の製作においてはこのテクニックがアクター誘導の強力な方法のひとつとして扱われました。これは効率的にアクターを目標点に到着させることを保証するからです。


[[Image:Pause01.jpg|frame|left|"move to"イベント�?��?�止イベントより2秒長�??�?��?��?��?��?��?�。アクター�?�目的地�?��?��??2秒�?�?�シーン�?��?開�?��?��?�。�?�れ�?�目的地�?��?��??�?��?��?�?�何�?�話�?�始�?る時�?�役立�?��?��?�。]] <br style="clear:both">
停止イベントの目立たなくても強力な一面は再開条件となっているイベントの完了にあわせてシーンの再開をコントロールできるということです。指定した時間でイベントの完了を予期して、実際のイベント完了前にシーンを再開することもできます。これはイベントが自然に重なっているシーンを停止から再開するのに役立ちます。イベント完了の前に先立ってシーンが再開するようにするには、停止イベントよりイベントを長く延長する必要があります。以下にこのテクニックを図示します:


デザイナー�?��?�る時間�?��?��?��?�ら�?ーズを解除�?��?��?��?��?�?�場�?��?2�?��?��?�択肢�?��?�り�?��?�: 1)シーンを何�?��?��?�?��?��?開�?�る�?も�?��??�?�2)残り�?�シーン�?��?生をキャンセル。自動的�?��?開�?�るよ�?��?��?�る�?��?��?"Section Pause"イベント�?��?��?�三角マーカーを�?�クリック�?��?�メニュー�?�ら"Edit"(編集)を�?�択�?��?��?�。プロパティダイアログ�?��?"Automatically"(自動�?�)�?��?��?��?ェックボックス�?��?�る�?��?��?�気�?��??�?��?�ょ�?�。�?��?�ボックス�?��?ェックを�?�る�?��?自動的�?�実行�?�るアクションを�?��?��?��?��?��?��??�?��?�。ドロップダウンリスト�?�ら"Resume"(�?開)�?�"Cancel"(キャンセル)�?�行動�?�択�?��?テキストボックス�?�自動行動を起�?��?��?��?��?�時間指定�?�行�?��?��?�。
[[Image:Pause01.jpg|frame|left|"move to"イベントが停止イベントより2秒長くなっています。アクターが目的地につく2秒前にシーンが再開します。これは目的地に着くところで何か話し始める時に役立ちます。]]
<br style="clear:both">
デザイナーがある時間がたったらポーズを解除したいと思う場合、2つの選択肢があります: 1)シーンを何があろうと再開する、もしくは2)残りのシーンの再生をキャンセル。自動的に再開するようにするには、"Section Pause"イベントの青い三角マーカーを右クリックしてメニューから"Edit"(編集)を選択します。プロパティダイアログで、"Automatically"(自動で)というチェックボックスがあることに気づくでしょう。このボックスにチェックをすると、自動的に実行するアクションを選ぶことができます。ドロップダウンリストから"Resume"(再開)"Cancel"(キャンセル)の行動選択が、テキストボックスで自動行動を起こすまでの時間指定が行えます。


エンジン�?��?�シーン�?生中�?��?開�?�件�?�指定�?�れ�?�AIイベント�?�指定�?��?�自動アクション�?�時間�?��?�?�起�?��?��?�場�?��?自動アクション�?�必�?�?��?��?��?��?�スキップ�?�れ�?��?�。
エンジンでのシーン再生中に再開条件に指定されたAIイベントが指定した自動アクションの時間の前に起こった場合、自動アクションは必要がないのでスキップされます。


===Loop point(ループ点)===
===Loop point(ループ点)===
�?�止区間イベント�?�よ�?��?�"Loop" point(ループ点)イベント�?�シーン�?�グロー�?ル�?�トリガー�?��?��?��?�類似点�?��?�り�?��?�。�?��?��?��?�?��?��?��?��?�止�?��?�る�?��?り�?��?ループ点�?�.vcd�?�内部時計を最�?�?�リセット�?��?�り�?指定�?��?�時間�?�戻�?��?��?��?��?��??�?��?�。�?��?�イベントを.VCD�?�終�?り�?��?��?�り�?�置�??�?�ループ�?�作りや�?��??�?�り�?��?�。プロパティを編集�?�る�?��?��?�指定�?��?�回数�?��?��?も�?��??�?�永�?��?�ループ�?��?�る�?��?��?��?��??�?��?�。シーン�?�永�?��?�ループ�?��?��?�る場�?��?[[Hammer]]�?�<code>[[logic_choreographed_scene]]</code>�?�Cancelインプットを�?る�?��?��?�ループを抜�?�シーンをキャンセル�?�る�?��?��?��?��??�?��?�。
停止区間イベントのように"Loop" point(ループ点)イベントはシーンのグローバルなトリガーとしての類似点があります。しかし、ここでは停止させるかわりに、ループ点は.vcdの内部時計を最初にリセットしたり、指定した時間に戻すことができます。このイベントを.VCDの終わりのあたりに置くとループが作りやすくなります。プロパティを編集することで指定した回数だけ、もしくは永遠にループさせることができます。シーンが永遠にループしている場合、[[Hammer]]<code >[[Logic choreographed scene|logic_choreographed_scene]]</code >にCancelインプットを送ることでループを抜けシーンをキャンセルすることができます。
 
ループはLoop Pointから「開始」し、プロパティで指定した時間(初期値では0)に「戻る」ことに気をつけるのが重要です。
It is important to note that the loop ''begins'' looping at the Loop Point and jumps ''back'' to the time you have specified in the properties (by default it is set to 0).ループ�?�Loop Point�?�ら「開始�?�?��?プロパティ�?�指定�?��?�時間(�?期値�?��?�0)�?�「戻る�?�?��?��?�気を�?��?�る�?��?��?�?�?��?�。
 
[[Image:Edit_Loop_Point_1.jpg|frame|left|�?�純�?�ループ�?�例�?��?�。開始時間�?�タイムライン�?��?�Loop To�?�時間より「後�?�?��?�る�?��?��?�気�?��??�?��?�ょ�?�。]] <br style="clear:both">


[[Image:Edit_Loop_Point_1.jpg|frame|left|単純なループの例です。開始時間はタイムラインでのLoop Toの時間より「後」であることに気づくでしょう。]]
<br style="clear:both">
===Fire Completion(シーン完了)===
===Fire Completion(シーン完了)===
Fire Completionイベント�?�シーン�?�完了時間を好�??�?�定義�?��??�?��?�。�?期状態�?��?�シーン�?�.VCDファイル�?�最後�?�イベント�?�終�?る�?�完了�?��?暗�?��?��?�点線�?�示�?�れ�?��?�。Fire Completionイベント�?��??�?�中�?�指定�?��?�値�?�完了時間を移動�?��?��?��?�。
Fire Completionイベントでシーンの完了時間を好きに定義できます。初期状態ではシーンは.VCDファイルの最後のイベントが終わると完了し、暗い青の点線で示されます。Fire Completionイベントはその中で指定した値に完了時間を移動させます。
実用的に言い換えると、Fire Completionイベントは<code >[[Logic choreographed scene|logic_choreographed_scene]]</code >エンティティがOnCompletionアウトプットを出す時間を指定します。そのため、このイベントを使うことでこのアウトプットと他のシーン内イベントとの正確な時間あわせができます。


実用的�?�言�?��?��?�る�?��?Fire Completionイベント�?�<code>[[Logic_choreographed_scene|logic_choreographed_scene]]</code>エンティティ�?�OnCompletionアウトプットを出�?�時間を指定�?��?��?�。�??�?��?��?�?�?��?�イベントを使�?��?��?��?��?��?�アウトプット�?�他�?�シーン内イベント�?��?�正確�?�時間�?��?�?��?��?��??�?��?�。
==他のChoreography機能==
 
* 基本的にはイベントを間違ってチャンネル移動させてしまうことのないようになっています。イベントを別のチャンネルに移動させるには、ドラッグするときにShiftキーも押してください。
==他�?�Choreography機能==
* 複数のイベントが1つのチャンネル内で重なることもあるので、イベントの右クリックメニューにはこれらを見やすく、選択しやすくするための"Move event <name> to back option"(イベントを背面に移動)オプションがあります。さらに、FacePoserは重なったイベントを配置するためにチャンネルレイアウトを垂直に拡大します。
 
* 右クリックメニューからクリップボード経由でイベントをコピーしたり貼り付けたりできます。
* 基本的�?��?�イベントを間�?��?��?��?ャン�?ル移動�?��?��?��?��?��?��?��?��?��?��?�よ�?��?��?��?��?��?��?��?�。イベントを別�?��?ャン�?ル�?�移動�?��?�る�?��?��?ドラッグ�?�る�?��??�?�Shiftキーも押�?��?��??�?��?��?�。
* イベントは単純なイベントテキストファイルへの出力、入力が可能です。(これも右クリックメニューから行えます)
* 複数�?�イベント�?�1�?��?��?ャン�?ル内�?��?�?�る�?��?�も�?�る�?��?��?イベント�?��?�クリックメニュー�?��?��?�れらを見や�?��??�?�?�択�?�や�?��??�?�る�?��?�?�"Move event <name> to back option"(イベントを背�?��?�移動)オプション�?��?�り�?��?�。�?�ら�?��?FacePoser�?��?�?��?��?�イベントを�?置�?�る�?��?�?��?ャン�?ルレイアウトを垂直�?�拡大�?��?��?�。
* 全てのイベントのRampだけを表示するには右クリックメニューから"Ramp only"を選択してください。
* �?�クリックメニュー�?�らクリップボード経由�?�イベントをコピー�?��?�り貼り付�?��?�り�?��??�?��?�。
* "Check sequences"を使うことでFacePoserに全てのアニメーションシークエンスが有効であるかを確かめさせることができます。 (例えば非ループが必要な場合かどうか、持続時間の正しいか、など)
* イベント�?��?�純�?�イベントテキストファイル�?��?�出力�?入力�?��?�能�?��?�。(�?�れも�?�クリックメニュー�?�ら行�?��?��?�)
* メニューオプションの"Process sequences"をオフにすることで、プレビューでのシークエンス処理をオフにできます。(カメラが顔を映し続けるようにできます)
* 全�?��?�イベント�?�Ramp�?��?�を表示�?�る�?��?��?�クリックメニュー�?�ら"Ramp only"を�?�択�?��?��??�?��?��?�。
* Because the FacePoserには複数のアクターを配置することができるので、.MDLを読み込んだあと.VCDのアクタースロットへの対応付けを行う必要があります。右クリックメニューか、アプリケーションの右下のmodelタブで行えます。
* "Check sequences"を使�?��?��?��?�FacePoser�?�全�?��?�アニメーションシークエンス�?�有効�?��?�る�?�を確�?��?�?��?�る�?��?��?��?��??�?��?�。 (例�?��?��?�ループ�?�必�?�?�場�?��?��?��?��?��?�?続時間�?�正�?��?��?��?�?��?�)
* .BSPもしくはマップファイルと.VCDの関連付けを行うこともでき、様々なプロパティダイアログでターゲットの相対位置やアクターやエンティティの名前を読み込むことができます。
* メニューオプション�?�"Process sequences"をオフ�?��?�る�?��?��?��?プレビュー�?��?�シークエンス処�?�をオフ�?��?��??�?��?�。(カメラ�?�顔を映�?�続�?�るよ�?��?��?��??�?��?�)
* Because the FacePoser�?��?�複数�?�アクターを�?置�?�る�?��?��?��?��??る�?��?��?.MDLを読�?�込ん�?��?��?�.VCD�?�アクタースロット�?��?�対応付�?�を行�?�必�?�?��?�り�?��?�。�?�クリックメニュー�?��?アプリケーション�?��?�下�?�modelタブ�?�行�?��?��?�。
* .BSPも�?��??�?�マップファイル�?�.VCD�?�関連付�?�を行�?��?��?�も�?��??�?様々�?�プロパティダイアログ�?�ターゲット�?�相対�?置やアクターやエンティティ�?��??�?を読�?�込む�?��?��?��?��??�?��?�。
==デ�?ッグ==
 
'''役立�?�ゲーム内コンソールコマンド'''
 
''注�?:'' �?�れら�?�コマンド�?�動作�?�る�?��?�コンソール変数"developer"を1�?�設定�?�る必�?�?��?�り�?��?�。


==デバッグ==
'''役立つゲーム内コンソールコマンド'''
<i>注意:</i> これらのコマンドが動作するにはコンソール変数"developer"を1に設定する必要があります。
{|
{|
|<code>scene_flush</code>
|<code >scene_flush</code >
|-
|-
| マップ�?�使用�?��?��?�る全�?��?�シーンを�?読�?�込�?��?��?��?�。マップを�?スタート�?��?�も自動的�?�変更�?��?�シーンを�?読�?�込�?��?�る�?��?��?り�?��?�ん。エンジンを実行�?��?��?��?�.vcdを編集�?��?��?�る場�?��?<code>scene_flush</code>を使�?��?�変更�?��?�新�?��?�ファイル�?�読�?�込�?�れるよ�?��?��?��?��??�?��?��?�。
| マップが使用している全てのシーンを再読み込みします。マップを再スタートしても自動的に変更したシーンを再読み込みするとは限りません。エンジンを実行したまま.vcdを編集している場合、<code >scene_flush</code >を使って変更した新しいファイルが読み込まれるようにしてください。
|}
|}{|
{|
|<code >scene_print</code >
|<code>scene_print</code>
|-
|-
| 1�?�設定�?�る�?��?�在�?生�?��?��?�るシーン�?�デ�?ッグ情報を表示�?��?��?�。
| 1に設定すると現在再生しているシーンのデバッグ情報を表示します。
|}
|}{|
{|
|<code >scene_showfaceto</code >
|<code>scene_showfaceto</code>
|-
|-
| 1�?�設定�?�る�?�アクター�?�face_to(顔を�?��?�る)コマンド�?��?��?�を�?��?��?��?��?��?��?�る�?��?�を示�?�デ�?ッグ表示�?�オン�?��?�り�?��?�。
| 1に設定するとアクターがface_to(顔を向ける)コマンドでどこを向こうとしているのかを示すデバッグ表示がオンになります。
|}
|}{|
{|
|<code >scene_showlook</code >
|<code>scene_showlook</code>
|-
|-
| 1�?�設定�?�る�?�アクター�?�look-at(見る)コマンド�?��?��?��?�視線を�?��?�よ�?��?��?��?��?�る�?��?�を示�?�デ�?ッグ表示�?�オン�?��?�り�?��?�。
| 1に設定するとアクターがlook-at(見る)コマンドでどこに視線を向けようとしているのかを示すデバッグ表示がオンになります。
|}
|}{|
{|
|<code >scene_showmoveto</code >
|<code>scene_showmoveto</code>
|-
|-
| 1�?�設定�?�る�?�アクター�?�move-to(移動)コマンド�?��?��?��?�移動�?�よ�?��?��?��?��?�る�?��?�を示�?�デ�?ッグ表示�?�オン�?��?�り�?��?�。箱�?�行�??先�?��?�??�?��?��??�?�行�??先�?�アクター�?�間�?�矢�?��?�表示�?�れ�?��?�。
| 1に設定するとアクターがmove-to(移動)コマンドでどこに移動しようとしているのかを示すデバッグ表示がオンになります。箱が行き先に、そしてその行き先とアクターの間に矢印が表示されます。
|}
|}

Revision as of 20:48, 29 November 2005

originally translated by RumikoHoshino, 2005/9/30
original English version: Choreography Tool
Choreography(振り付け)ツール

はじめに

Faceposer choreography tool.jpg

FacePoserのメインツールはchoreography(振り付け)ツールです。このツールで表情や他の演出を配置して、エンジンでどう再生されるかをプレビューすることができます。シーンは複数のアクターを使うことができるので、ゲームキャラクタ間のとても複雑なインタラクションや、会話も実行することが可能です。 このシーンに関するユーザインタフェースにアクセスするには、まず作業を行うモデルと表情クラスファイルを読み込みます。 以前にシーンファイルを開いていないのなら、choreographyデータファイル(*.VCD)が読み込まれていないという注意を見るでしょう。新しい.VCDファイルを作成するには、メニューからChoreography | Newを選択します。既にあるファイルを読み込むには、メニューからChoreography | Load…を選択します。新しいchoreographyファイルを作成するには、最低1つのアクターを追加する必要があります。Create Actorダイアログでアクター名を入力してOKをクリックします。ここでキャンセルしても、メニューからChoreography | New Actorを選択することで新しいアクターを追加することができます。 シーンを読み込むか、新しくアクターを作ると、アクターの名前が窓の左に、そしてタイムラインが上に表示されているのを見るでしょう。シーンのそれぞれのアクターにはチャンネルが1つ以上存在し、それぞれのチャンネルにはシーン再生時にトリガーされるイベントが含まれています。チャンネルは主に編集を便利にするためにあるのですが、エンジンでの再生時に2つのイベントが同時にスタートすると、ビューで上側に表示されるチャンネルのイベントが先に適用されます。

アクターにチャンネルを追加するには、アクターの名前を右クリックして"New Channel…"を選択します。チャンネルの名前を入力し、どのアクターに追加するかを選択して、OKをクリックします。これで指定したアクターの名前の下にチャンネルが表示されます。それぞれのアクター名の左には拡張表示を切り替えるボタンがあります。これはアクターのチャンネルの表示・非表示を切り替えます。アクターのチャンネルが隠れている場合、隠れているチャンネルとイベントの数の表示がでます。さらに、チャンネルやアクター名の上をダブルクリックしてプレビュー再生の時にチャンネルを使用可能・不可に切り替えることもできます。チャンネルを使用不可にするのはプレビュー再生のみに影響を与えます。

.WAVイベントを含んでいるチャンネルでは、字幕(close captioning)情報を表示させることができます。チャンネルの左上隅の黒い三角マーカーをクリックすることでこの情報の表示・非表示を切り替えられます。データには言語選択も含まれます(その言語版のゲーム.dllをインストールしてある場合のみ動作)。タイミングの問題のため、ゲームの台詞のなかには複数の.wavファイルに"分割"してあるものもあります。外国語バージョンでは、再生を便利するためにこれらの.wavを1つの.wavに"統合"してあるものとみなしています。そのため、.wavを選択すると右クリックメニューには.wavの結合、分割や字幕のオフを行うオプションがあります。ローカライズされたシングルプレイヤーMODで作業をするのでなければ、これらの設定に注意を払う必要もないかもしれません。

アクター

An actor is an NPC in your scene アクターはシーン(VCD)内でChoreographyイベントを使って演出を行うNPCのことです。シーンには少なくとも一人のアクターが必要で、複数のアクターを持つこともできます。それぞれのアクターには少なくとも1つのチャンネルが必要で、チャンネルには任意の数のChoreographyイベントを追加することができます。どのようにアクターやチャンネルを作成するかについてはここを参照してください。イベントの作成に関してはここを参照してください。

An Actor named "Bob" with 2 channels and one event

アクターの名前はとても重要です。というのもマップ内のアクターと同じ名前のエンティティに対してイベントが適用されるからです。VCDファイルの中でアクターに"Bob"と名前をつけたなら、マップ内の"Bob"という名前のエンティティにそのアクターのイベントが適用されることになります。別の方法としては、.vcdの中ではアクターに"!Target#"という名前をつけ、 Logic_choreographed_sceneでターゲットとなるエンティティの名前を指定することもできます。 通常アクターはマップ内のNPCに対応しています。現在のところ全てのNPCクラスがどのChoreographyイベントも実行できるわけではありません。アクターはプレイヤーの仲間のNPCと推定されています。これについてはリンクを追加予定です。

Choreographyイベント

choreographyシステムでは以下の種類のイベントを配置できます。イベントの作成と編集に関してはここを参照してください。

Expression(表情)

アクターはイベントの開始時間に指定した表情へのブレンドを行い、イベントの持続時間の間その表情を維持します。アクターは同時に複数の表情を再生することも可能です。(重なっている場合別のチャンネルにすることを考えるべきでしょう。)Rampツールを使うことで表情のウェイト(強さ)を時間によって変化させることができます(後述)。

Gesture(ジェスチャ)

アクターは指定したジェスチャアニメーションを実行します。ジェスチャは特定の合成ルールを持ち、Faceposer向けの内部タグ情報を持つ特別な種類のアニメーションです。 ジェスチャの作成と使用についての詳細情報はここに追加予定です(リンク追加予定)。

Choreographyビューのジェスチャイベントのタグを動かすだけジェスチャのタイミング再調整ができます。Gesture Toolを使ってタグの時間調整を行うこともできます。

Rampツールを使うことでジェスチャの強さを時間によって変化させることができます。初期状態では同じチャンネルにある複数チャンネルはクロスフェードすると推定され、最初のジェスチャイベントの"end"(終了)タグは2つ目のジェスチャの"apex"(最高点)タグに固定されます。こうしたことを回避するには、2つのジェスチャイベントの間に"NULL Gesture"イベントをおいてください。以下に例を示します。


同じチャンネルに複数のジェスチャイベントを配置すると"end"と"apex"タグの場所が固定されます。2つのイベントの間に"NULL Gesture"をおくことで、タグの自動位置調整をオフにできます


Sequence(シークエンス)

アクターが特定のアニメーションシークエンスを再生するようにします。

WAV File/Speak event(WAV音声/会話)

様々なgame_sounds.txtファイル内にリストアップされた音声を生成します。(生の.wavファイルを呼ぶこともできますが、そうした使用は推奨されません。)これらの音声はphoneme(音素)エディタ/抽出ツール(PhonemeEditor)で作成された音素(そしてViseme、発音に対する口のパターン)タグを含みます。sounds.txtファイルでCHAN_VOICEと指定された以外の音声を見るには"Show all sounds"ボタンをチェックしてください。Choose File…ボタンを使うかSpeak .WAVコンボボックスに相対パスを入力することで生の.Wavファイルを読み込むこともできます。

Look at actor(アクターを見る)

アクターはマップ内に存在する指定された名前の他のアクターやエンティティを見ます。このLook atでは目、頭、首のみを使います。 Rampツールを使うことでこのイベントの強さを時間によって変化させることができます。強さを0%にすると目だけ(頭、首の回転はなし)でターゲットを追います。強さを100%にすると頭全体を動かしてターゲットに向きます。 もしLook atのターゲットがアクターの後ろにあったり、特定の角度の外(具体的な閾値はわかりません)にあるとアクターはターゲットを見ようとはしません。 Look Atのターゲットに!Self(自分)を指定すると、アクターは何も特定のものを見ないようになり、そのイベントがオンになっている間idle(待機)状態の視線行動をしないようになります(AIが時間経過によってランダムに物に視線を向けるのではなく、ただ前を向くようになります)。 アクターが眠っている、もしくはシーンで少し失神しているといったように待機視線行動が不適切で抑制したいと思う時に役立ちます。

Move to actor(アクターの場所に移動)

指定したターゲットの場所にアクターが移動します。ターゲットは名前があるエンティティなら何でもよく、NPCでもプレイヤーでも構いません。 Move Toイベントではターゲットの移動につかうシークエンスやアクティビティを指定することができます。初期設定はWalk(歩き)ですが、Run(走り)やCrouchRun(しゃがみ走り)の選択が可能です。もしくは特定のシークエンスの名前を指定することもできます。 Move ToイベントではStop Distance(停止距離)を定義することができます。ターゲットから指定した距離のところに到達するとMove Toイベントが完了します。停止距離の初期設定は0ユニット(インチ)です。Move ToのターゲットがプレイヤーかNPCの場合は、アクターがターゲットのキャラクタと衝突しないように停止距離に十分な値を入れるべきでしょう。以下にMove Toイベントのプロパティを図示します。

Move Toイベントのプロパティ。この場合、アクターはプレイヤーから72ユニットの範囲を目指し走ります


アクターは実際の移動を行うためにSource EngineのAIシステムを使用することに注意してください。もしプレイヤーや障害物が途中にある場合、移動に予想より長くかかったり、短かったりすることもあります。移動が終了していることがシーンの続行に必須なら、シーンの移動部分に"Pause"ポイントを挿入し、移動を"Resume Condition"(再開条件)としてマークします。アクターがマークに最終的にたどり着くと自動的にシーンが再開するようになります。

Face actor(アクターを向く)

アクターはシーン内の他のアクターに向き合います。

Flex animation(表情アニメーション)

時間経過にしたがって個々のFlex(表情筋肉)スライダーをスプラインにそって動かして表情をアニメーションさせます。Flex animationイベントはFlex Animationツールを使って編集することができます。

Fire Trigger(トリガー発射)

AIトリガーを発射します。

Generic(AI)(一般AI)

ゲーム.dllのコードのCSceneEntityが処理する指令を渡します。

Sub-scene(副シーン)

.VCDには複数の"副シーン"を埋め込んで再生することができます。これらの副シーン自身はその中に追加の副シーンレイヤーを持つことはできません。(現在の制限)

Permit Responses(反応の許可)

.VCD.シーンの中で、アクターが話していない状態で、プレイヤーが何か行動したことでレスポンスシステムからの反応が生成され、そこでPermit Responses(反応の許可)イベントがあるなら、アクターは.VCDの再生を続行しつつ、反応を挿入することができます。

Look at(見る)、Move to(移動)、Face(向き合う)イベントのターゲットとして"!player"を入力することで一人称のプレイヤーを対象にすることもできます。他にも"!self"、"!enemy"、"!friend"という特殊な対象指定があり、さらに"!target#"の場合マップ作成者がlogic_choreographed_sceneエンティティを使ってターゲットエンティティを指定できます。

イベントの作成と編集

イベントを作成するには、イベントを追加したいアクターのチャンネルで右クリックします。マウスをクリックした場所が作成するイベントの開始時間になる(後で変更可能)ことに注意してください。メニューから例えば"New Event | Expression"を選択します。ここで表情を選択し(現在開いている表情クラスから)、名前をつけイベントの、開始、終了時間(ほとんどのイベントには開始と終了がありますが、"発射してそのまま"というものもあります。)を変更します。値を設定し、OKを選んでイベントを作成します。開始時間はSPEAK(会話)イベントといったシーン内の他のイベントと相対的に指定することもできます。このときSPEAKイベントやそのタグを移動すると、相対的に指定したイベントも一緒に移動します。さらに、イベントの種類によってはAdd/Edit event(イベント追加・編集)ダイアログに追加パラメータが表示されることもあります。

これで新しいイベントが現在のアクターのチャンネルに表示されます。上の例では表情を作成したので、イベントの持続時間を示すバーの下に顔のアイコンが表示されています。バーを左クリック、ドラッグで移動することができます。左端、右端をクリックすると開始・終了時間をドラッグで変更することができます。

イベントを削除するには右クリックしてメニューからDelete(削除)を選択するか、キーボードの"Delete"キーを押してください。

イベントを右クリックして"Edit | Event <イベント名>"(イベントの編集)を選択することでイベントのプロパティを編集することもできます。また、Alt-Enterを押すことでも選択したイベントの編集が行えます。

マウスの下にあるイベントの詳細はChoreographyエディタの下に表示されます。

タイムラインの活用

スクリーンの上部にあるタイムラインには追加情報がいくつかあります。まず、(現在のズームレベルでシーンのどの程度が見えているかにもよりますが)シーンの最後のイベントの終了時間を示す青い点線があります。さらに、通常のビデオデッキのような操作ボタン(Play-再生、Pause-一時停止、stop-停止)がツールウィンドウの左上にあります。シーンの再生、停止はスペースバーでも行えます。シーンにイベントがある状態で再生を行うと、3dビューに表示がされます。再生をクリックすると上部に緑の時間スクラバーが表示され、左から右に移動します。現在の再生している時間がビューの中にない場合でも、現在時間は左上に表示されます。

スクラバーを左クリックし、ドラッグすると、現在のスクラバー位置が垂直のバーに表示されます。

Choreographyビューには再生速度を変えるスライダーもあり、プレビューを高速や低速で行うこともできます。

選択しているツールでマウスホイールを動かすと(ホイールにすでに別の機能がわりあてられているケースはShiftを同時に押してください)、ホイールの動きに従ってズームイン、ズームアウトします。 終了時間がないイベント(ただトリガーを開始時間に発射するだけ)はサイズ変更バーでの表示はなく、ドラッグして移動させることしかできません。終了時間を指定するには、イベントを右クリックして、end timeに入力し、その横にあるチェックボックスをオンにします。 (注意:終了時間は開始時間より後である必要があります) 終了時間に-1.0を指定すると"終了時間無し"と指定すると同じになります。

スクラバー

FacePoser内の様々なツールがスクラバーを使います。スクラバーは全て現在再生中の時間と一致します。スクラバーをクリック、ドラッグして手動でシーンを再生したり、逆再生したりできます。もしくはスクラバーがある水平トレイをクリックすると、その場所を目指してスクラバーが自動的に再生を行います。FacePoser内の全てのスクラバーはそれぞれ同期しています。

Global Pauses (中断)

シーンには"global" pause(一時停止)イベントを配置することができます。 一時停止イベントを作成するには、アクターのチャンネル名かチャンネルトレイを右クリックして、 "New Section Pause…"(新しい停止区間)をメニューから選択します。この停止区間に名前をつけ、その間に自動的なアクションを実行するようにも設定できます。停止区間の必要性は、イベント終了時間がわからないイベントをトリガーするところから出てきました。例えば、上で述べたように、"move to"イベントはAIに次の場所に移動するように伝えます。障害物や、移動速度などといったことから、アクターがその場所に到達するのにどのくらい時間がかかるか正確に見積もるのは不可能なのです。ここで一時停止イベントを活用できます。AIシステムは後で"Resume Condition"(再開条件)が満たされるとそのことをシーンに伝えます。(ただし停止ポイントと重なるイベントのプロパティで"Resume condition"チェックボックスをオンにした場合のみ)

言い換えると、これは"move to"イベントに対し、自分は"Resume Condition"(再開条件)としてこのイベントの完了を待っているというタグをつけることになります。イベントを再開条件としてタグ付けをするには、イベントを右クリックしてプロパティ編集に入り、"Event must complete for paused scene to resume"(一時停止したシーンの再開にはこのイベントの完了が必要)チェックボックスをクリックしてください。

これが停止イベントの一番よく使われる方法です。"move to"イベントと共に使うことで、シーンを再開する前にアクターが指示した場所に到着していることを保証します。後続するシーンイベントが場所依存の場合(例:ボタンを押す、キーボードをたたく、マイクにむかって話す、部屋にはいるなど)このテクニックを使ってください。HL2の製作においてはこのテクニックがアクター誘導の強力な方法のひとつとして扱われました。これは効率的にアクターを目標点に到着させることを保証するからです。

停止イベントの目立たなくても強力な一面は再開条件となっているイベントの完了にあわせてシーンの再開をコントロールできるということです。指定した時間でイベントの完了を予期して、実際のイベント完了前にシーンを再開することもできます。これはイベントが自然に重なっているシーンを停止から再開するのに役立ちます。イベント完了の前に先立ってシーンが再開するようにするには、停止イベントよりイベントを長く延長する必要があります。以下にこのテクニックを図示します:

"move to"イベントが停止イベントより2秒長くなっています。アクターが目的地につく2秒前にシーンが再開します。これは目的地に着くところで何か話し始める時に役立ちます。


デザイナーがある時間がたったらポーズを解除したいと思う場合、2つの選択肢があります: 1)シーンを何があろうと再開する、もしくは2)残りのシーンの再生をキャンセル。自動的に再開するようにするには、"Section Pause"イベントの青い三角マーカーを右クリックしてメニューから"Edit"(編集)を選択します。プロパティダイアログで、"Automatically"(自動で)というチェックボックスがあることに気づくでしょう。このボックスにチェックをすると、自動的に実行するアクションを選ぶことができます。ドロップダウンリストから"Resume"(再開)と"Cancel"(キャンセル)の行動選択が、テキストボックスで自動行動を起こすまでの時間指定が行えます。

エンジンでのシーン再生中に再開条件に指定されたAIイベントが指定した自動アクションの時間の前に起こった場合、自動アクションは必要がないのでスキップされます。

Loop point(ループ点)

停止区間イベントのように"Loop" point(ループ点)イベントはシーンのグローバルなトリガーとしての類似点があります。しかし、ここでは停止させるかわりに、ループ点は.vcdの内部時計を最初にリセットしたり、指定した時間に戻すことができます。このイベントを.VCDの終わりのあたりに置くとループが作りやすくなります。プロパティを編集することで指定した回数だけ、もしくは永遠にループさせることができます。シーンが永遠にループしている場合、Hammerlogic_choreographed_sceneにCancelインプットを送ることでループを抜けシーンをキャンセルすることができます。 ループはLoop Pointから「開始」し、プロパティで指定した時間(初期値では0)に「戻る」ことに気をつけるのが重要です。

単純なループの例です。開始時間はタイムラインでのLoop Toの時間より「後」であることに気づくでしょう。

Fire Completion(シーン完了)

Fire Completionイベントでシーンの完了時間を好きに定義できます。初期状態ではシーンは.VCDファイルの最後のイベントが終わると完了し、暗い青の点線で示されます。Fire Completionイベントはその中で指定した値に完了時間を移動させます。 実用的に言い換えると、Fire Completionイベントはlogic_choreographed_sceneエンティティがOnCompletionアウトプットを出す時間を指定します。そのため、このイベントを使うことでこのアウトプットと他のシーン内イベントとの正確な時間あわせができます。

他のChoreography機能

  • 基本的にはイベントを間違ってチャンネル移動させてしまうことのないようになっています。イベントを別のチャンネルに移動させるには、ドラッグするときにShiftキーも押してください。
  • 複数のイベントが1つのチャンネル内で重なることもあるので、イベントの右クリックメニューにはこれらを見やすく、選択しやすくするための"Move event <name> to back option"(イベントを背面に移動)オプションがあります。さらに、FacePoserは重なったイベントを配置するためにチャンネルレイアウトを垂直に拡大します。
  • 右クリックメニューからクリップボード経由でイベントをコピーしたり貼り付けたりできます。
  • イベントは単純なイベントテキストファイルへの出力、入力が可能です。(これも右クリックメニューから行えます)
  • 全てのイベントのRampだけを表示するには右クリックメニューから"Ramp only"を選択してください。
  • "Check sequences"を使うことでFacePoserに全てのアニメーションシークエンスが有効であるかを確かめさせることができます。 (例えば非ループが必要な場合かどうか、持続時間の正しいか、など)
  • メニューオプションの"Process sequences"をオフにすることで、プレビューでのシークエンス処理をオフにできます。(カメラが顔を映し続けるようにできます)
  • Because the FacePoserには複数のアクターを配置することができるので、.MDLを読み込んだあと.VCDのアクタースロットへの対応付けを行う必要があります。右クリックメニューか、アプリケーションの右下のmodelタブで行えます。
  • .BSPもしくはマップファイルと.VCDの関連付けを行うこともでき、様々なプロパティダイアログでターゲットの相対位置やアクターやエンティティの名前を読み込むことができます。

デバッグ

役立つゲーム内コンソールコマンド 注意: これらのコマンドが動作するにはコンソール変数"developer"を1に設定する必要があります。

scene_flush
マップが使用している全てのシーンを再読み込みします。マップを再スタートしても自動的に変更したシーンを再読み込みするとは限りません。エンジンを実行したまま.vcdを編集している場合、scene_flushを使って変更した新しいファイルが読み込まれるようにしてください。

{|

|scene_print |- | 1に設定すると現在再生しているシーンのデバッグ情報を表示します。 |}{| |scene_showfaceto |- | 1に設定するとアクターがface_to(顔を向ける)コマンドでどこを向こうとしているのかを示すデバッグ表示がオンになります。 |}{| |scene_showlook |- | 1に設定するとアクターがlook-at(見る)コマンドでどこに視線を向けようとしているのかを示すデバッグ表示がオンになります。 |}{| |scene_showmoveto |- | 1に設定するとアクターがmove-to(移動)コマンドでどこに移動しようとしているのかを示すデバッグ表示がオンになります。箱が行き先に、そしてその行き先とアクターの間に矢印が表示されます。 |}