Bot3D 1.0 ToolKit
TIPS (5) ツールの使い方簡単ガイド
Bot3D 1.0 ToolKit を使っての「3Dトーキングヘッド」作成を支援するための、より具体的な「チップス」を、このコーナーで連載しています。
第5回目はツールの使い方を簡単にご紹介します。
MAYA プラグイン
MayaのAPIには次の4つがあります。
・exportXMLModel
・exportXMLTarget
・exportXMLWeight
・exportXMLCluster
exportXMLModel --- ひとまとまりのモデル階層をひとつのModel3Dファイルに変換して保存するプラグインです。
exportXMLTarget --- これは、exportXMLModelの一種ですが、モーフターゲットに必要な情報だけ保存します。
exportXMLWeight --- スキンにボーンを付けたときにできる「ウェイト情報」をWeightファイルに保存します。ボーンアニメーションに不可欠なものです。
exportXMLCluster --- ターゲットモーフに必要な、「クラスター情報」をClusterファイルに保存します。
exportXMLModel/exportXMLTargetは、 File->Export Selectionで使用します。
exportXMLWeight/exportXMLClusterは、Command Lineで使用します。
Bot3Dによる「トーキングヘッド」作成作業は、まず、Mayaによる3Dモデリングから始めます。ポリゴンベースでスキンモデルを作成し、exportXMLModelでModel3Dファイルに保存します。もうひとつボーン構造を作成し、キーフレームアニメーションを付けます。ボーン構造とアニメーションデータは、MAに保存してから、次のMA2Motionツールを使ってMotion3Dファイルに変換します。
スキンとボーンはsmooth bindして、ウェイト情報は、exportXMLWeightでWeightファイルに保存します。必要に応じて、モーフターゲットモデルをexportXMLTargetでModel3Dファイルに、クラスターモデルをexportXMLClusterでClusterファイルに保存します。
MA2Motionは、MAYA ma ファイルを解析し、Motion3Dファイルに保存する、デスクトップツールです。
モデルデータの階層構造、およびキーフレームアニメーション情報を保存します。

とりあえず動かしてみる:
[ファイルを開く]で、サンプルデータ、~\Bot3D\Samples\Wolfman\wolfA\bone_mt.maを開く。
[ファイルに保存する]で、適当に名前を付けて保存すると、XMLであるMotion3Dファイルの出来上がり。
XMLファイルはウェブブラウザで確認できます。(編集はできません。)
BotViewer は、B3MLファイルを表示し、プレイバックや簡単な編集作業を行うデスクトップツールです。
ファイルツリーのトップとして、Character3Dファイル,Sentenceファイル,StoryGraphファイルを選ぶことができ、それぞれ異なる働きをします。

とりあえず動かしてみる:
[ファイル]->[開く]で、サンプルデータ、~\Bot3D\Samples\alBot\top.xmlを開きます。
これは、Character3Dファイルです。キャラクターの表情モーフとボーンアニメーション単位を確認することができます。
一度終了させてから、サンプルデータ、~\Bot3D\Samples\alBot\sentence.xmlを開きます。
これは、Sentenceファイルです。文章単位をプレイバックすることができます。
もう一度終了させてから、サンプルデータ、~\Bot3D\Samples\alBot\story.xmlを開きます。
これは、StoryGraphファイルです。ストーリーグラフのプレイバックが開始します。
MAYAでの作業の次に、これらのファイルの構成しキャラクターを組み立てる、Character3Dファイルを作成します。これは、他のB3MLファイルと同様、XMLファイルです。Character3Dファイルは、BotViewerでチェックすることができます。
SoundChecker は、Sentenceファイルで指定される音声ファイル(WAVE)を解析し、必要情報を保存するデスクトップツールです。また、Sentenceファイル、音声ファイルのチェックを行うために使用するものでもあります。

とりあえず動かしてみる:
[ファイルの読み込み]で、サンプルデータ、~\Bot3D\Samples\Wolfman\wolfA\sentOrg.xmlを開きます。これは、最小限のSentenceファイルです。
[解析開始]で音声プレイバックが始まります。終了後、[ファイルの保存]で、必要情報が付け加えられたSentenceファイルを保存することができます。
Character3Dファイルレベルの次は、Phonemeファイル/Sentenceファイルレベルです。Phonemeファイルは、発音記号、感情表現、会話動作の単位を設定するファイルです。SentenceファイルもXMLファイルで、会話文章の単位を設定していきます。音声はWAVEファイルで作成し、SoundCheckerを使って、Sentenceファイルのチェックを行います。その後、BotViewerで、Sentenceファイルをプレイバックすることができます。
Packerはトーキングヘッド構成に必要なB3MLファイルなどを、一種のアーカイブファイル(PAKファイル)にパッキングするデスクトップツールです。必要に応じて個々のファイルをバイナリ形式に変換してからパッキングします。Bot3Dデータをサーバーアップするときには、PAK形式に変換する必要があります。

とりあえず動かしてみる:
[ディレクトリの選択]で、サンプルデータ、~\Bot3D\Samples\alBotを開きます。ここではディレクトリを選択します。その中のファイルがリストアップされます。
[First Readの指定]は重要です。ファイルのトップがどれであるかを選択指定します。これがCharacter3Dファイルならば、PAKファイルはCharacter3D扱いとなり、SentenceファイルならばSentence扱い、StoryGraphファイルならばStoryGraph扱いとなります。
[パックして保存する]で、好きな場所に好きな名前でPAKファイルを保存することができます。
トーキングヘッドは、StoryGraphファイルを使うと、インタラクティブな「分岐ストーリー」を作成することができます。StoryGraphファイルもXMLで、これもBotViewerでプレイバックすることができます。
こうして完成したBot3Dデータは、Packerにより圧縮してひとつにまとめ、サーバーアップロードすることができます。こうして、あなたのおしゃべりバーチャルキャラクターをインターネット上で公開することができます。
XMLとは:
XMLとは、W3C(World Wide Web Consortium)により規格が規定されているデータ技術。簡単にいえば、現在、世界で最も成功していると考えられるデータ形式、HTMLのタグ形式と同じやり方で、ユーザーが自由にデータ形式を決めることができるもの。まだまだメジャーになっているとは言いがたいが、将来、主要なデーター形式となっていくことは間違いないであろう。
XMLデータは、IE等ウェブブラウザで開いて見ることができる。XMLはどうやって作成すればいいのだろうか。テキストデータであるので、テキストエディタで編集できるのだが、やはり、XML専用エディターを利用するほうがいろいろ便利である。DTD等、XMLのデータ形式を規定する方法はいろいろ用意されている。
なお、XMLは、X(なんでも) – Markup Languageであり、自分でXMLデータを決めた場合は、○○MLとすべきで、X-○○というネーミングにすべきでないと思う。
#次回は、こうして作成したPAKファイルをサーバーアップし、HTMLでアクセスするときの、JavaScriptの例をあげてご説明してみます。