2007/2/27

m4g規格サウンドギミックスクロールα2版の課題一覧  VRM4サウンド三昧
ほとんど自分用メモ。

・音声リソース切替時の巻き戻し対策

たとえばリソースIDの3番が低速走行音として再生されている最中に、SetWaveLow 3(低速走行音をリソースIDの3番へ変更せよ)が実行されると、この瞬間、走行音の再生がリソースID3番の音声リソースの先頭に巻き戻る。たとえば、この音声リソースが「がったんごっとん」みたいな音がするとして、途中で巻き戻りが起こると「がったんごっとん、がった、がったんごっとん・・・」になる、ということ。

これを回避する方法をα2版をリリースしてから思いついたので、次回のリリースで実装する。っつーか、回避するのは簡単なんだけども、ボク以外の人がm4g規格車両スクロールを書くときにも使えるロジックにする方法が、α2開発の時点で浮かばなかった。これはガイド込みで後日公開の予定。

・編成名参照問題

α2には、現時点では(少なくともスクロールレベルでは)動作しない準備工事的なロジックが含まれている。これは、外部のセンサー部品から任意のパラメーターをm4g規格編成に引渡し、パラメーターに対応する音声リソースを警笛に設定して一回吹鳴させる、という機能で、たとえば車内アナウンスなどの組み込みをイメージしたものだ。基本的な考え方は【何か】シリーズと同じなので、興味のある人はご参照あれかし。

で、これを実現するために、自分で“回避した方がいい”と書いた編成名の参照をやっている。センサーからパラメーターを渡せるのは編成オブジェクトに所属するグローバル変数である一方、警笛音を変更できるのは車両スクリプトである。したがって、車両スクリプトから編成のグローバル変数を参照しなければならないが、この際、編成名に依存した絶対参照をすることになる。

この結果どうなるかと言うと、一旦【m4g】サウンドギミックエンジンを組み込んだ後に編成名を変更すると、エラーになって(未定義のオブジェクト参照)ビュワーが起動できなくなる、というお話。これは、特にポータブル編成的な配布を前提とする場合、非常に具合が悪い。名前の変更が出来ない(出来るけど動かなくなる)のがナンセンスなのは当然として、同じ編成を2つレイアウト上に読み込むことも出来なくなる(同上)のもけしからん。

なので、この機能は後日削除するか、或いは別途アドオンとして提供する、つまり、この機能(車内アナウンス等の組み込み)を使いたい人だけが、デメリットを覚悟の上で使う、という性格のモノにすべきか、と思っている。が、現時点では未決断。ご意見のある方は遠慮なくどうぞ。

ちなみに、VRM4の車両スクリプトに、たとえば GetParentTrain <編成オブジェクト変数>みたいな命令が実装されて、動的に車両自身が所属する編成への参照を取得できるようになればこの問題は解決するのだが・・・まぁ、期待せずに書き残しておこう。

・moko殿提案のコンプレッサー音対応

moko氏が超高速に対応してくれたm4g規格サウンドギミックスクロールの組み込み例サンプルには、拙作スクロール由来のスクリプトに加えて、独自のロジックが組み込まれていた。これは、FocusInイベントに連動して、車両のコンプレッサー音(停車中にランダムに発生する音)を再設定するというもの。

本稿時点で実はボク自身が確認できていないんだけれども、前述の“音声リソース巻き戻し問題”がここでは良い方に出ていて、おそらくSetWaveCompressor命令を実行すると、その瞬間に一度コンプレッサー音が鳴るんだと思われる。つまり、アクティブな編成を切り替えた瞬間に、その編成が停車中であればとりあえずコンプレッサー音がなる、という具合。気合の入ったコンプレッサー音は非常に印象的な効果があるので、やや過剰演出気味な気もしつつも、このギミックはスクロールに取り込んでしまおう、と思ってます。

・そして最もやっかいな“音声リソース作成ガイド”

βリリースに際しては、少なくともポータブル編成ギミック一発組み込み並みの詳細な利用ガイドを書こうと思ってるんですが、これが難しい。何が難しいかというと「この音声にはこんな音を割り当てるんですよ」と説明する際の「こんな音」をどう字面で説明するのか、が難しい。本エントリ冒頭にもそれが現れていて「がったんごっとん、がった、がったんごっとん・・・」で、ボクの伝えたいことがすべての読者に伝えるとは到底思えない。そういうこと。

たとえば、m4g規格サウンドギミックでは、通常一種類の低速走行音を、任意の電圧以下で走行する場合に出発時(加速中)と停車時(惰行/制動中)にそれぞれ任意の音声リソースを割り当てることが出来る。作った本人としては、ここには短いループ音ではなく、1分くらいの長さの音声リソースを用意して「ふぃ〜ん、ふぃ〜ん」と重なって音程が上がっていく発車時の走行音であるとか、「ぎぎぃぃぃ・・・」みたいなブレーキ音を入れると良いと思っているのだが、これをどう説明したらいいかが難しいし、あまり詳しく説明し過ぎると、利用者の自由な発想を奪いそうで嫌だ。

以上、いろいろ課題があるワケですが、他にもいろいろありそうな気もするので、思いついた人は(実現性だとか妥当性はとりあえず棚上げして)言っちゃってください。よろしく。
0

2007/2/26  19:08

投稿者:ghost
追記:
http://suchacool.seesaa.net/article/32618586.html
の「アイドル⇔力行の切替を自然にする工夫」を取り込むの忘れてた・・・orz

これもやる。

コメントを書く

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




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