従来のバーチャルキャラクターとの「チャット」は、3D表示されても、表情や動きがありませんでした。 そのため、ユーザーはテキストウインドウばかり見てしまい、結局、3Dモデルはあまり必要のないものでした。
会話とは、音声/唇の動き/表情/会話動作 の一体化したものであると考えます。 ビジュアルな会話要素(visume/視覚言語)があり、ビジュアルにも会話情報があってこそ、3D表示の意義があるはずなのです。
さらに、トーキングヘッド(おしゃべりする上半身キャラクター)をリアルに見せるための 自動瞬き、視線移動、目蓋開閉などもサポートしています。
また、AnimaPlayer v1.0からユーザーは日本語キー入力で答えることができます。 入力されたテキストはオリジナル文章記述フォーマット、MEMORY 1.0による柔軟な文章テーブルと参照され、バーチャルキャラクターの答を引き出します。
さらに「分岐ストーリー」を定義するために、オリジナルスクリプトフォーマット、StoryGraph 2.0があります。StoryGraphは階層構造データとは対照的な、「相互リンク」データ、あるいは 「ネットワーク状」データ、あるいは「リゾーム(根茎)状」データを記述する形式です。 「ストーリーノード」というストーリーの単位で、会話再生やアニメーション再生、イベント処理などを行うのですが、これらノードを網目状にリンクさせていくことができます。 分岐/リンクには、1)確率自動分岐 2)入力条件分岐 3)パラメーター条件分岐 4)ダイレクトリンク の四つを使うことができます。
ストーリーの進行状況にしたがって、必要なとき必要なサブStoryGraphデータを、3D表示を途切れさせず、サーバーからロードしてきます。(音声/ストーリーデータ ストリーミング) 理論的にはウェッブ上で半無限の長さのインタラクティブストーリーを作ることができるのです。
AnimaPlayer v1.1より、「おしゃべりするメインキャラクター」とは別に、小物、大道具、背景などの3Dモデルが表示できようになりました。 3Dモデルは、複数モーション、複数ムービーテクスチャなどの属性を含めることができる ひとつのまとまった「物体」です。
StoryGraphによって決められたストーリーの流れに従って、必要な時に指定したタイミングで指定3Dモデルや背景画をサーバーからロードさせることができるようになりました。(3Dストリーミング)このとき、その時点でのブラウザの動作を妨げることはありません。
また、モデルファンクションというものが使えるようになりました。
すべての3Dモデルは、StoryGraph内でのファンクション、あるいはプラグイン外部(HTML内)のJavaScript/VBScriptのファンクションによって操作することができます。モデルファンクションには次のような機能があります。
さらに、StoryGraphによって決められたストーリーの流れの中の好きなタイミングで、プラグインから外部JavaScript/VBScriptへ働きかけることができます。(コールバック/イベントアウト) これによりHTMLを操作したり、別のブラウザプラグインを制御したりすることが可能になりました。