MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

アバター
BumbleB
記事: 16
登録日時: 2017年2月27日(月) 05:28

MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

投稿記事by BumbleB » 2020年4月06日(月) 17:11

競合とは少し違うのですが、プラグインの利用で困っていることがあるのでご質問します。

プレイ中にキャラクターエディットができる木星ペンギン氏のMPP_CharacterMake.jsですが、非常に革新的なプラグインでぜひ活用したいと思っています。
今ツクっているゲームでは、上記とは別にしおいぬ氏のPD_8DirDash.jsを使っているのですが、これの8方向歩行の斜め歩きの画像変更機能と合わせて使えないかと考えています。

【解決したい内容】
しおいぬ氏のPD_8DirDash.jsは、TV(MAPキャラ)画像のファイル名に'_Q'をつけることで機能が適用されるので、
MPP_CharacterMake.jsが出力する(実際のところ、画像が出力されているのかわかっていません…)MAPキャラ画像のファイル名の文末に上記の文字列を挿入したいと考えています。
ただ、MPP_CharacterMake.jsの仕組みが理解できず、どこでキャラクターの画像名を設定しているのかわかりませんでした。どなたか、ご教授いただけないでしょうか。

アバター
Plasma Dark
記事: 674
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

投稿記事by Plasma Dark » 2020年4月07日(火) 22:54

ただ、 MPP_CharacterMake.js の仕組みが理解できず、どこでキャラクターの画像名を設定しているのかわかりませんでした。どなたか、ご教授いただけないでしょうか。


MPP_CharacterMake.js は CharGene.json という、キャラクター生成情報を記録したファイルを出力します。
そのファイルに書かれた生成情報を元に、ゲーム実行中にキャラグラを生成するようです。

PD_8DirDash.js で用いるファイル名に相当する内容も、ゲーム実行中に生成情報を元に生成するように見えます。
同じロジックでファイル名を作れば対応できないこともないでしょうが、動的に歩行グラフィックを生成する以上、斜め方向の歩行グラフィックも同様にしないと奇妙な表示になってしまいそうです。
アバター
BumbleB
記事: 16
登録日時: 2017年2月27日(月) 05:28

Re: MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

投稿記事by BumbleB » 2020年4月08日(水) 10:07

DarkPlasma様

両プラグインの解説、ありがとうございます。なるほど、どちらのプラグインも、プレイ中に動的にグラフィックを生成しているのですね…
通常のキャラジェネレータのように、合成された画像がどこにも出力されないので、そこで躓いていました。

実は、DarkPlasma様のアドバイスのおかげもあり、(かなり力技だと思うのですが)いろいろ試した結果、一応解決できましたので、ご参考までに報告いたします。MPP_CharacterMake.js側の書き換えだけでうまくいくようです。

コード: 全て選択

//まず生成される画像の名前を変更する
//PD_8DirDash.jsは歩行グラの画像名に'$'がついている(1画像に1キャラの設定)と機能しないのでこれを消す
//斜め歩きの画像変更機能は、歩行キャラ画像名の末尾に'_Q'をつける必要があるのでこれを付加する
//1776行目
this._characterName = 'MPP_Gene' + charaType + dataStr + '_Q';
//1930行目
var characterName = 'MPP_Gene' + charaType + dataStr + '_Q';

//画像ファイル読み込み?に関する箇所を書き換える。'$MPP'を'MPP'へ
//1516行目 1595行目 1646行目
if (/^\MPP_Gene(TVD|TV)/.test(filename))

//'$'を消したので生成される画像は8キャラ分のものになる。生成される画像サイズを変更
Bitmap.generate = function(type) {
    var bitmap = new Bitmap();
   
    bitmap._geneType = type;
    bitmap._geneData = [];
    bitmap._geneCount = 0;
    switch (type) {
        case 'TVD': case 'TV':
            bitmap.resize(144, 192); //ここを(576, 384)に変更
            break;
        case 'SV':
            bitmap.resize(576, 384); //ここを指定してあげればLib氏のBattlemotionなどとも併用できる?
            break;
        case 'FG':
            bitmap.resize(144 * 4, 144 * 2);
            break;
    }
    return bitmap;
};

以上の変更を行ったあと、MPP_CharacterMake.jsの実行のために、ゲームフォルダ内に移してあるはずの'Generater'フォルダの'TV'('TVD'も?)の画像サイズを、全て(576, 384)にする。
追加する画像は、次のように左詰めで1キャラ配置すればよい。(残りの枠は使われないので)
歩き画像の右側にダッシュ画像を追加すれば、PD_8DirDash.jsのダッシュ中画像変更機能もそのままつかえるかと思います。
添付ファイル
test.png
test.png (34.73 KiB) 閲覧数: 3205 回
アバター
Plasma Dark
記事: 674
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

投稿記事by Plasma Dark » 2020年4月08日(水) 10:45

なるほど、どちらのプラグインも、プレイ中に動的にグラフィックを生成しているのですね…


紛らわしい書き方をしてしまってすみません。動的に生成しているのは MPP_CharacterMake.js のみです。

MPP_CharacterMake.js側の書き換えだけでうまくいくようです。


確かに仰るような変更で PD_8DirDash.js で読み込めるような画像を生成できそうですが、 Generator/TV(D) フォルダ内のあらゆるパーツについて斜め方向を向いたものを用意する必要があり、まともに表示するためにはかなりの作業量になるんじゃないかと思います。

単純に(歩行グラフィックが上下左右を向いたままでも)斜め移動したいだけであれば、トリアコンタンさんの HalfMove.js など別の選択肢もあります。

https://github.com/triacontane/RPGMakerMV/blob/master/HalfMove.js
アバター
BumbleB
記事: 16
登録日時: 2017年2月27日(月) 05:28

Re: MPP_CharacterMake.jsとPD_8DirDash.jsを併用したい

投稿記事by BumbleB » 2020年4月08日(水) 11:06

DarkPlasma様

たしかに仰るとおりですね…。アクターのメモタグで指定があるときだけ'_Q'をつけて生成するとか、何か切り替えの仕組みを取り入れるほうが利便性が出てよいのかもしれません。今後も色々試してみたいと思います。

一応、自分の作っているゲームでは、むしろ斜め歩き時の画像変更がしたいがためにPD_8DirDash.jsを採用したので、その点は問題ないです。(仰るとおり、ドット打ちは大変ですが…)ご心配いただきありがとうございます。
PD_8DirDash.jsには半歩歩きと斜め歩き時の減速機能がないので、実はすでにHalfMove.jsも一緒に採用しているのですが、こちらも素晴らしいプラグインですよね。

“MV:質問” へ戻る