こんにちは。コツコツ(ゆっくり)とRPGツクールMZでフリーゲームを制作中。
制作の過程でちょくちょくテストプレーをしているのですが、マップシーンでアニメーションが実行されるときに読込みに時間がかかったりするときがあります。
前々から気になってはいたのですがデプロイメントしたら普通に動作するんじゃないかと後回しにしていました。
※RPGツクールにおけるデプロイメントとはプロジェクトファイルからゲームファイルにすることで、該当箇所をクリックするだけで簡単にできます。
高を括っていたのは他に何のイベントも無いアニメーション単発の動作ですら読込みに時間がかかることがあるためで、自分のPCの問題かプロジェクトファイルの状態だからだろうと思っているからです。確信はありません。(-∀-○)
とはいえ、他のイベントが動いているような場面でもアニメーションを実行することもありますし、テストの段階で問題が解消できればそれに越したことは無いですよね。
アニメーション再生が遅れるのは決まって初回実行の時で、逆に2回目以降は何度実行してもスムーズ。
であれば意図しているタイミングの前に1度読み込ませてしまえば解決しますね。
前作のRPGツクールMVではアニメーションをバックグラウンドで読み込むプラグインもあるようで、やはり遅延問題を解決するために作られているようです。
つまり解決のための考え方は間違ってなさそう。ということ。
しかしこのプラグインはRPGツクールMZではおそらく使用不可でしょう。なぜなら"MV" と"MZ" ではアニメーションに関するプログラムの中身が根本的に異なっているから(らしい)。
バックグラウンド再生のプラグインを作るなんてことは初心者の私には到底無理ですので「表示している画面外でアニメーションを無音で再生する」ことで解決を図ります。
画面外の再生は簡単ですが問題は"無音で"というところです。
通常のイベント編集画面ではアニメーションのSE音量は操作できません。データベースから変更しなければなりませんがそうすると実際にアニメーションを表示させたい場面でも音が鳴らなくなってしまいます。
一時的に消音するにはスクリプトか追加プラグインを使うか、あるいはデフォルトプラグインを書き換えるしかなさそう。
ということで、下記のように予想を立ててデフォルトプラグインの該当箇所を探すことにしました↓
「SEのデータベースで音量を編集できるのでアニメーションを実行するコード(クラス)では引数にデータベースの音量情報を代入する形になっているのでは?ならばそこを書き換えてゲーム内の変数が入るようにしてやればコントロール可能!」と。
探し方はプラグインを作ってみたときと同じ方法。
結果。
・・・みつかりませんでした(≡人≡;)
推測ですけどデータベースのSE情報は通常の編集画面で編集した内容で完成され(変数へ代入などしていない?)、アニメーション実行時はそれをそっくりそのまま再生しているような感じ?
ど素人の見解なので間違っていると思った方が良いでしょう。とにかく私はSEの音量に使われていそうな変数が見つからなかったのです(あるのかも知れません)。
//5月27日追記//
公式プラグイン講座によりますとデータベースの入力情報を全て取得できるとの事ですのでスクリプトによるデータの書き換えは出来るハズです。具体的なやり方がわかったらまた記事にします。
やっぱりこの辺り勉強したほうがいいのかなぁ。9割理解不能ですからw
どうしたものかとスクリプトで検索してたら(全部の)SE音量を変更するスクリプトを見つけました↓
ConfigManager['seVolume'] = ○○ (○○のところは音量(%)なので0~100を入れる。初期値は100。)
案外あっさり解決してしまった・・・最初からこっち方面で探ればよかった(´・ω・`)
いちおうスクリプトの記事も貼っておこう↓
アニメーション実行の前にこのスクリプトでSE音量をゼロにして最後にまたスクリプトで戻すようにします。
テストプレーしてみたらスムーズになったのでこれで解決。
なんか付け焼刃な感じは否めませんがw
まぁこのブログはそんな感じで行きます。
”初心者でも”、"手軽に"、"それっぽく" がテーマです(今決めた)。
らくがき貼っておしまい。
ランキング参加中です。下のバナーをクリックして頂けるとやる気値が増幅します!!