竹倉蔵本 - MMDAgent

開発者向け。調査・考察メモ。テーマは、「MMDAgent」です。
※※※無期休止中※※※

MMDAgentのFSTコマンド解釈法(シナリオ作成方法) _文法編

2011-01-02 18:12:25 | MMDAgent仕様確認
【本記事の概要】
FSTコマンドは、状態遷移を制御するための言語です。
MMDAgentでは、実行元MDFファイルと同名(拡張子以外が同一)のFSTファイル内のコマンドを解釈し、
クライアント(最終消費者)とモデルとの対話を実現します。
本記事では、MMDAgentがFSTコマンドをどのように解釈するのかを説明します。
  ※注意:本記事には、未検証の内容が含まれています。そのため、本記事の内容の正当性は、保証できません。


■状態遷移図(シナリオを図で表したもの)
MMDAgentのFSTコマンドのイメージ

■FSTスクリプト(シナリオをスクリプト化したもの)
0 1 RECOG_EVENT_STOP|年,は SYNTH_START|メイ|メイ(普)|秘密です。
  1 2  <eps> MOTION_ADD|メイ|内緒|内緒.vmd|FULL|ONCE
    2 0 SYNTH_EVENT_STOP|メイ  <eps>


【FSTコマンドの文法】
MMDAgentのFSTコマンドは、下記の四項目(四列)から構成されます。
 ・遷移元状態番号 ・遷移先状態番号 ・イベント名 ・コマンド名

それぞれの項目について、説明していきます。

"遷移元状態番号"とは、今の状態の番号(数値、前ゼロ可)です。
今がMMDAgent起動直後とするならば、状態遷移図の状態0の0が、遷移元状態番号です。
FSTコマンドの一項目目です。

"遷移先状態番号"とは、次の状態の番号です。
状態0から状態1への遷移ならば、状態遷移図の状態1の1が、遷移先状態番号です。
FSTコマンドの二項目目です。

"イベント名"とは、遷移条件の名前です。
状態0から状態1への遷移ならば、状態遷移図の"音声認識「年,は」"が、イベント名です。
FSTコマンドの三項目目です。

"コマンド名"とは、実行アクションの名前です。
状態0から状態1への遷移ならば、状態遷移図の"音声合成「秘密です」"が、コマンド名です。
FSTコマンドの四項目目です。

それぞれの項目は、\s+の文字列(一文字以上の半角スペース、または、一文字以上のTAB)で区切られています。
また、遷移条件を設定したくない場合は、イベント名に"<eps>"を、
実行アクションを設定したくない場合は、コマンド名に"<eps>"を記入します。
また、行の前に、"#"を付加することにより、コメント化(無機能化)することも可能です。



--


最新の画像もっと見る