第4次スーパーロボット大戦ではコン・バトラーVダンクーガ、ザンボット3といった合体後に複数パイロットが乗るようになる機体のサブパイロットの台詞を反映させる機能はありませんが、以前作成したゲッターチームの仕様変更のシステムを応用すれば「F」以降のコン・バトラーVのように合体後専用の特殊台詞を反映させる事が可能であると判明しました。 具体的な手法は「特定のパイロットが特定の機体に搭乗している場合はSRAM上のパイロットIDを保持したままRAM上のパイロットIDを入れ替える」というもので、これは以前にも少し触れたハイパーモードや暴走システムの手法と同じものですが、これを応用すれば、例えばバトルジェット搭乗時の豹馬とコン・バトラーV搭乗時の豹馬のパイロットIDを個別に用意する事で異なる台詞パターンを適用できるという事も可能になります。また、同時に複数精神コマンドのサブパイロット適用パターンも変更できるため、非分離型のコン・バトラーVを用意するといった必要もなくなります。但しこの方法には欠点もあり、例えば敗北条件に豹馬の撃墜が設定されている場合にこのパイロットIDが合体前と合体後で別々であると、パイロットIDが合致しなくなってしまった途端に敗北条件を満たしてゲームオーバーとなってしまいます(これはハイパーモードや暴走の再現時にも当てはまる問題です)。そのため、台詞の変更のみに留めるのであれば特殊サブルーチンを組んで特定のパイロットが特定の機体に搭乗している場合は台詞の参照IDを変更(例えば、豹馬がコン・バトラーV搭乗の場合は通常の台詞IDではなく専用の台詞IDを参照)するという手法の方がいいのかもしれません。もっとも、シナリオ上での敗北条件を設定する際にそれら両方のパイロットIDを全て確認できなかった場合にのみ敗北とすれば問題はないので、あくまで好みの問題とも言えそうです。
色々と試してみたのですが残念ながら現在の私の知識では完全にオフセットを分割できないので、悔しいですが一旦グラフィックオフセットの増設は諦めて別の方面の解析に移ります。
第2次Gのグラフィック処理は基本的に攻撃アニメの際は機体グラフィックをBGレイヤーに、武器アニメーションをスプライトレイヤーに書き込む処理をしているのですが、パラメーター画面では逆にスプライトレイヤーに機体グラフィックを書き込む処理を行います。これだけであればそれぞれの処理に合わせて読み込むオフセットを分割できるのですが、問題は戦闘中にBGレイヤーとスプライトレイヤーの両方にリアルタイムで機体グラフィックを表示して入れ替える処理をするアニメがあるという事です。
例えば上の写真ではビームサーベルのエフェクトはスプライトレイヤーに、機体グラフィックはBGレイヤーに書き込まれています(シャッコーと背景のグラフィックがグチャグチャなのはオフセット切り替えが働いているためです)が、この後に避けるなりダメージを受けるなりして後退するVガンダムのグラフィックが問題で、それが下の写真です。
これがBGとスプライトの切り替えのないアニメ同士であればそれぞれに分割したオフセットの内容がきちんと反映されるのですが、現状では途中でレイヤー間のアニメ描写切り替えが発生するものに対して専用処理を用いてオフセットを分割適用する手段が思いつきません。少し冷静に考えをまとめつつ、いつか必ず再チャレンジしたいところです。
コメント
コメントを投稿