TVML (TV program Making language)はテレビ番組をまるまる1本記述できるテキストベースの言語です。このTVMLで書いた番組台本は、TVMLプレイヤーで即座にテレビ番組的なCGアニメーションとして再生することができます。ユーザーはワープロなどを使ってTVMLで台本を書くだけで、自分だけのCGアニメーションをコンピュータ上で簡単に制作することができます。TVMLプレイヤーにはCGアニメーションを作るのに必要な次のような機能があります。
|
|||||||||||||||||||||||||||
TVMLプレイヤー |
|||||||||||||||||||||||||||
TVMLプレイヤーは、TVMLで書いた番組台本を読み込み、リアルタイムでCGアニメーションを作り出すアプリケーションです。ゲームエンジンUnityをベースに作られており、ダウンロードページで公開中です。 | |||||||||||||||||||||||||||
TVMLによるシーン作りの例 |
|||||||||||||||||||||||||||
TVML台本は、テレビ番組の台本と同じように、時間の流れに従って、どんなイベントがどのように行われるかを列挙することでアニメーションを記述します。ここではTVMLの概要を分かって頂くため、例をあげながら簡単に紹介しましょう(TVML言語の詳細についてはTVML言語仕様をご覧下さい)
TVML台本は、1行があるひとつのイベントに対応しています。TVMLプレイヤーは1行分のイベントを実行し、そのイベントが終了したら次の行に記述されたイベントを実行する、というように動作します。TVMLのイベントとは次のようなものです。 スタジオショットでCGキャラクタSatoに「こんにちは、佐藤です」としゃべらせたかったら、 character: talk( name = Sato, text = “こんにちは、佐藤です”) と書きます。この1行で、画面にCGキャラクタ佐藤が登場し、合成音声で「こんにちは、佐藤です」としゃべります。上の例において、character:の部分をイベント名、talkの部分をそのイベントに用意されたコマンド名、カッコ内をそのコマンドに与える各種パラメータといいます。イベントの種類は次の通りです。
これらのイベントを記述し、これを書き並べていくことでアニメーションを作ることができます。例えば、CGキャスタにクローズアップして、おじぎをさせ、「みなさんこんにちは」としゃべらせるときは、 camera: closeup( target = Sakata ) となります。 次に、ふたつのイベントを同時に行いたいときの方法について説明します。このときは、イベントのコマンド引数にwait = noというパラメータをつけ加えることで行います。wait = noをつけ加えると、そのイベントは起動のトリガーをかけるだけですぐにリターンするようになります(デフォルトではwait=yesになっています)。 character: bow( name=BOB, wait=no ) ちなみに、上記でwait = noをつけ加えないと、BOBがおじぎして、おじぎし終わったらMARYがおじぎして、MARYがおじぎし終わったらスーパーする、という動作になります。 また、タイトルやスーパーにおけるテキストレイアウトには2D画像を扱うdrawingイベントが用意されており、種々のフォントや画像を自由に、ピクセル単位で画面上に配置することができます。 |
|||||||||||||||||||||||||||
以上がTVMLの概要です。非常にシンプルな言語なので、ちょっと慣れてしまえばコンピュータ言語に特別な知識がなくても番組台本を書くことができます。 |