2007/2/7

m4g規格スクロールの素描  VRM4サウンド三昧
巷に飛び交う[vrmサウンド論議]関連のアイデアメモ。まだ、まとまりが悪い。

*     *     *

とりあえず先のα版スクロールで、走行速度や力行/惰行/制動を検知し、それに応じて走行音を切り替えることが可能であることは証明できたけれども、moko氏が作ってくれた音声リソース&スクロール組み込み済み編成を走らせてみると、端的に言って“労多く益少なし”な感がある。

直感的には、同じ走行音の動的な切替をやるのであれば、現行VRMのバグで挫折した走行音の変化特性をSetTopSpeed命令で変化させる手法をやらんことには、望むところに辿りつけそうもない。そういう意味で、発端となったmoko氏の問題提起は、改めて慧眼であったと思う。が、これについてはI.MAGiCの対応を待つしかない。話を加速したい人は、適当にスクリプト会議室で訴えて欲しい。バグさえ改善されれば、スクリプトを書くのは造作もない話だし。

とりあえず、この件は捨て置く。


この論議の行き着く先に何が生まれるのか、を考えている。というか、それは既に先取りしていて“m4g/1.0規格”のスクロール群が生まれるんだろう。書くのを忘れていたが、規格名はこの論議を交わしているmoko氏、45-50s氏、ghostの頭文字を取ったもの。

先のα版は、コンセプト立証のテスト版だったのであえて単一のスクロールにしたが、最終成果物は、編成に組み込むスクロールと車両に組み込むスクロールを別物にすべきなのかな、と思っている。

編成スクロールは、主に編成の速度の変化を調べ、音声リソース切替のタイミングを制御するのが主任務になる。こいつには、たくさんCallCar命令(車両スクリプトの呼び出し命令)が含まれていて、こいつだけを編成に組み込んでもエラーになる。車両スクリプトがないので。

車両スクロールは、編成スクロールからCallCarされるメソッドをすべて含んだスクロールで、車両の種類(機関車、電車、気動車、客車、あるいはもっと細分化してもいい)だけバリエーションがある。つまり、どのスクロールを組み込むかによって、編成スクロールが決定するギミックのタイミング毎に、どの音声リソースを割り当てるのか、あるいは何もしないのか、が決まる。

たとえば、編成スクロールが「今、力行中である」と判断し、仮にメソッドMtdPowerをCallCarしたとする。で、電車の動力車用スクロールのMtdPowerには力行音への切替が入っているけども、付随車用スクロールには、同名のメソッドだけがあって中身は空でいい、みたいな感じ。

言い換えると、m4g規格というのは、1つの音声ギミックが1つのメソッド名と対応する“リスト”だ。どのようなやり方であれ、このリストのメソッドを何らかの判断をした上でCallCarする編成用スクロールや、このリストのメソッドをすべて含む車両用スクロールは、すべてm4g/1.0規格スクロールを名乗ることができるし、互換性があるはずだ。一旦そういうものを確立した後に「こんな音声ギミックもあった方がいいよ」という話になったら、規格バージョンを更新して、1.1だとか2.0になる、みたいな。

仮にコレを本当に作ったとして、たとえば10両編成の列車にこれを組み込むには、編成スクロール1回(場合によっては+α)と、車両スクロール10回の、少なくとも11回のスクロール組み込みが必要になる。まぁ、車両スクロールについては、同種車両についてはコピー&ペーストで済ます、という方法もあるが、手間がかかる点は同じだ。

現時点で、ちょっとボクにはこれ以上簡素化する方法が思いつかない。そもそも、この仕掛けは、あらゆるVRMユーザーが個々に組み込みに挑戦するようなものではないだろう。と言うのも、この仕掛けは自前の音声リソース=wavファイルを作れる人しか使わないだろうから。そういう意味で、これはポータブル編成ギミック一発組み込みに近い位置づけとなる。つまり、そういう音声ギミック付の(場合によってはポータブル編成ギミックも含んだ)編成を開発し、ネットに流すエキスパートユーザー用の仕組みだ、ということになると思う。

みたいな言い方をすると「低スキルユーザーの締め出しか!」みたいな捉え方をされてしまいそうだが、手前味噌ながらポータブル編成が多くのネットVRMユーザーの支持を受け、画像リソースやポータブル編成のネットを介したシェアが極当たり前のこととなった現状を考えれば、それで十分なんじゃないか、と思っている(無論、反論があればどうぞ)。

*     *     *

とりあえず、本件に関心のあるVRMユーザー諸兄におかれては「どんな音声切替が必要かのリストアップ」にご協力いただきたい。このエントリにコメントしてもらってもいいし、銘々のweb/blogに書いてもらってもいい(探しにいくのが面倒なのでトラックバックをよろしく)。

この際、実現可能性は無視していい。必要なのは、ニーズの把握だ。ニーズさえハッキリすれば、後はボクを含むスキルのあるスクリプト書きが捩じ伏せればいい。実現できないものは、実現出来ませんと言う。無論、ボク以外の誰かがそれを実現してくれるのであればそれに越したことはない。そして、それが誰の手をもってしてもスクリプトレベルでは無理で、かつ、ニーズに妥当性があるのであれば、I.MAGiCにその実現を要望すればいい。

もう1つ、議論の余地のあるテーマが残っているが、なんか既にグチャグチャなので、混乱を避けるべく後日へ譲る。書き飛ばしているので、わかりにくかったら指摘して欲しい。手間を惜しまず噛み砕くので。

でもって、あまり反応がないとすれば、それは本件のネットVRM界隈における優先度が低いってことなので、まぁ、それはそれでいいんじゃないかと。
0

コメントを書く

この記事にはコメントを投稿できません




teacup.ブログ “AutoPage”
AutoPage最新お知らせ