[解決済み]キャラの画像変更時のラグについて

イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

[解決済み]キャラの画像変更時のラグについて

投稿記事by イトマキ » 2018年2月08日(木) 03:51

こんにちは、イトマキと申します。
キャラクターの画像切り替えを行う際のラグについて質問があります

キーの入力によってキャラのモーションを変更しようと思っていました。

以下が例になります。

◆条件分岐:ボタン[決定]が押されている
◆移動ルートの設定:プレイヤー
:        :◇画像:〇〇〇

:分岐終了


しかし、実際は移動ルートの設定で画像変更を行うと、
少なからず、切り替わるまでにラグのようなものが発生します。
これは私のゲームでは致命的なストレスになります。

この切り替わるまでのラグを誤魔化すためにウェイト機能があると思っているのですが、
フェードアウト・インで目隠ししてからのシーン切り替えとは違い、
画面上で切り替えを行うにはラグが目立ちますし、素早い切り替えが期待されると思います。

MOGhunter様のRMV – Character Posesが有力で、プラグインは読めないのですが

メリットとして
●ラグの無いキャラモーションの切り替えが速い
といった点が挙げられ、大変魅力的ですが…、

デメリットとして
●導入に下準備が必要なためデータ容量が増える
●画像名に制約があり、ヒューマンエラーによるバグが忘れたころに多発する
といった点が挙げられ、癖が強く使い勝手が悪いのが私の中の現状です。

ラグの無いキャラモーションの切り替えは可能なのか、今まで長い間模索してきましたが
自力では解決できず質問させていただきました……。

もし解決策などございましたら何卒よろしくお願いいたします。
最後に編集したユーザー イトマキ on 2019年6月13日(木) 15:49 [ 編集 1 回目 ]

アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: キャラの画像変更時のラグについて

投稿記事by しぐれん » 2018年2月08日(木) 04:40

ラグが発生するのは画像の切り替えが発生するためです。
ここで読み込みが発生すると、ラグの原因になります。
画像変更の際ですが、変更前と変更後のグラフィックは同一の画像ファイルの中に納まっていますか?
同一のファイルに収まっていれば、ラグは小さくなると思います。

解決手段ですが、それ用にプラグインを作成すればなんとかなるだろうと思います。
ただ、ゲームの仕様が定かでないと、対応できません。
キー入力でグラフィックを変更するとありますが、どのような内容のゲームなのでしょうか?
現在、プラグイン依頼はお休み中です。
イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

Re: キャラの画像変更時のラグについて

投稿記事by イトマキ » 2018年2月08日(木) 07:27

しぐれん様

>画像変更の際ですが、
変更前と変更後のグラフィックは同一の画像ファイルの中に納まっていますか?



たぶん同一の画像ファイルの中には納まってないと思います。
(同一のファイルの意味はデフォルトで入っている画像(Actor1)の形式
だと思って書いてますが違ったらすみません)

通常時は移動用の画像($+name.png)です。

そこで、例えば一定時間入力が確認されなかった場合に私は
待機中のモーション(足踏みなど)をする画像に切り替えます。
この時に使うのは
待機中の画像($+name2.png)です。

$を使ってモーション用の画像を単独で扱っているので意味を私がはき違えてなければ、
モーション用の画像を数種類(4種類以上)使用するので同一の画像ファイルではないです。


>同一のファイルに収まっていれば、ラグは小さくなると思います。
なるほど……と思いましたが、今のところ他のプラグインの仕様上同一にできない理由があります。


>それ用にプラグインを作成すればなんとかなるだろうと思います。
ただ、ゲームの仕様が定かでないと、対応できません。
キー入力でグラフィックを変更するとありますが、
どのような内容のゲームなのでしょうか?


ツクールMVにはフキダシ機能でキャラの表情を表現する、いわばチャット補助機能
のようなものがあると思いますが、
これをキー入力(オンラインゲームだと数字キーとかでしょうか)で
キャラチップを各表情(喜びや怒り)を表現するモーション用画像に変更することで
フキダシの表情をボディ側でも表現できたらいいなと思って質問しました。

そこで使用するのがMoreCharacterFrames(公式js)です。
これを使ってループパターンを変えてモーションを作れると考えましたが、
このプラグインはモーションパターンを拡張するものでサイズがバラバラになるので
これを使う場合、現状どうしても、ファイルの先頭に$をつけないといけません。

移動ルートから画像変更した場合ラグのせいで遅延を感じます。

MOGhunter様の上記のプラグインも$がついた個々のファイルを読み込みますが、
どういう仕組みなのか何故かこっちは遅延もなく、画像の切り替えは素早く行われます。

●キー入力またはコマンドでラグを起こさず画像を変更できるプラグイン
が希望ですが制作は可能でしょうか?
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: キャラの画像変更時のラグについて

投稿記事by 剣崎 宗二 » 2018年2月09日(金) 09:37

横から失礼します。

コード: 全て選択

キー入力またはコマンドでラグを起こさず画像を変更できるプラグイン

の仕組みについては、既にしぐれんさんが説明した通りですが、もう少し詳しく説明させていただきます。

ラグが起こるタイミングと言うのは、要は画像の読み込み待ちです。
つまり、これを無くす為には、「事前に読み込んでおく」しか御座いません。
その方法については、以下の何種類かがあります。

1.使用する全ての画像を同じbitmapファイルに詰め込んで配置し、プラグイン側で画像の一部を切り取って画面上に表示する
しぐれんさんが前のレスで提案しているのはコレかと思われます。
利点としては、ファイル名の指定が1個で済み、指定ミスによるヒューマンエラーの可能性が低いです。
問題点としてはそちらご指摘のとおり、ロードした画像をそのまま使う事ができないので共用している他のプラグインと干渉する可能性が発生する事。

2.事前に使用する全てのファイルを、ゲーム起動の際にロードしておく
MogHunter氏作のプラグインはコレを使っているものが多いです。
利点として、他のプラグインと衝突しにくく画像が再利用可能であること。
問題点として、この方法でロードする全ての画像の名前をプラグインパラメーターなりで1つずつ指定しなければならず、ヒューマンエラーが起こりやすい事。
(ロード関係の仕様上、例えば「このフォルダにある全ての、名前がAxで始まるファイルをロード」が不可能です)

上記のように、それぞれの方法に利弊が御座いますので、「何が許容できて何がダメか」を述べていただけないと、各プラグイン作者共に動きにくいかと思われます…
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: キャラの画像変更時のラグについて

投稿記事by しぐれん » 2018年2月09日(金) 10:01

少し雑ですが書いてみました。
プラグインパラメータで指定したファイルを起動時に読み込むようになります。
これで読み込みによるラグはなくなるかもしれません。

読み込んだ後で解放する方法は用意していません。
ゲームの内容的に、読み込んだママが最適と判断しています。
添付ファイル
senkou_yomikomi.js
(833 バイト) ダウンロード数: 37 回
現在、プラグイン依頼はお休み中です。
イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

Re: キャラの画像変更時のラグについて

投稿記事by イトマキ » 2018年2月09日(金) 19:36

剣崎 宗二様
>上記のように、それぞれの方法に利弊が御座いますので、「何が許容できて何がダメか」を述べていただけないと、各プラグイン作者共に動きにくいかと思われます…

返信ありがとうございます。
失礼いたしました、質問が不親切でした。
前々から画像切り替えが遅い理由がわからなくて大雑把な状態なのにも関わらず
よく調べずに質問してしまいました…

プラグイン作者に混乱を招いてしまい申し訳ありません。
以後丁寧な詳細を書けるよう気を付けます。

しぐれん様

こうやってあらかじめ読み込めればラグは解決できそうです。
プラグイン制作ありがとうございます。助かりました!


お二方のおかげで画像切り替えのラグが
事前に読み込みしているかどうかの違いであることがわかりました。
私のつたない文章にもかかわらず問題解決に力を貸していただき
ありがとうございました。
今後ともよろしくおねがいいたします。

イトマキ

“MV:質問” へ戻る