【MZプラグイン】疑似3Dバトル

戦闘画面を疑似3Dで表示するプラグインです。

遊びで作った技術公開目的のプラグインなので、機能は最小限にしています。
細かく調整したい方は、MITライセンスの範囲内で勝手に改変して調整してください。

いろんな理由でMV版はありません。


配布ページはこちら
もしくは↓からダウンロード。

このプラグインはMITライセンスのもと公開しています。
  • 製作者: 木星ペンギン
  • 非商用利用: 自由
  • 商用利用: 自由
  • 再配布: OK
  • 加工: OK
  • 加工後の再配布: OK
  • シリーズ: ツクールMZ
 

Attachments

  • MPP_Pseudo3DBattle.js
    45.7 KB · 閲覧: 18

ハルマキ

ユーザー
いつも素晴らしいプラグインをありがとうございます。
これドット絵感が強いグラフィックでやると、
めちゃくちゃ雰囲気出ますね。

戦闘キャラの移動とは相性悪いとのことでしたが、
試しにNew RPG Project(砂川赳様)のDynamic Motionと併用してみたところ、
こちらのプラグインによるモーション動作は問題ないようでした。
(下記、実際のテスト動画です。)
 

HyperSigil

ユーザー
Sorry I don't speak Japanese... But the plugin seems to have a conflict with the Visustella Battlecore plugin; It causes some of the players to appear above the ground, as if the background has been shifted downwards slightly:
screen shifted.png
 
すごいものを見させて頂きました。
これで例えばレーザーなどの指向性エフェクトをバトラー間などで再生させるプラグインが別途あれば、
さらに映えそうですね。
 

モウキ

ユーザー
すみませんが、解像度が1280*720まで変更された場合に、適合しないとなった。今後のアップデートを期待しています。
 

TheTrevisan

ユーザー
彼女の解像度設定と互換性のあるバージョンを楽しみにしています。他のプラグインと完全に連携
 
いろんなご意見ありがとうございます。

試しにNew RPG Project(砂川赳様)のDynamic Motionと併用してみたところ、
こちらのプラグインによるモーション動作は問題ないようでした。
私も確認してみたところ、X軸やY軸の移動くらいであれば対応できていますが、
ジャンプや浮遊といった高さに関してはデフォルトにはないので対応できていないようです。
ただ、違和感を消すくらいの修正は出来そうなので、そのうち更新したいと思います。

影とかゲージとかのプラグインと相性が悪いですね
座標を追ってくれません
今のところ、デフォルトにない表示物は対応してないですね。
かといって、そのプラグインの製作者さんに丸投げするわけにはいかないので、
変数一つで疑似3Dに対応できるようにするか、強制的に対応させるような機構を考えてます。
後者で問題ないと思ったら、後者を採用する予定です。

Sorry I don't speak Japanese... But the plugin seems to have a conflict with the Visustella Battlecore plugin; It causes some of the players to appear above the ground, as if the background has been shifted downwards slightly:
VisuStellaのプラグインは、中身を読まれないように暗号化みたいなことをしているので、対応は無理です。
ですが上にも書いてある通り、高さの計算がされていないだけであれば対応する可能性があります。

The VisuStella plugin does something like encryption to prevent the contents from being read, so it's impossible to handle it.
However, as mentioned above, there is a possibility that it will be supported if the height is not calculated.

これで例えばレーザーなどの指向性エフェクトをバトラー間などで再生させるプラグインが別途あれば、
さらに映えそうですね。
今のところ対応は難しいです。
というのも、今回のように「使う人が多そうなプラグインはあまり複雑な機能を持たないシンプルなものにした方がいい」という過去の教訓があるので、細かな機能はなしにしようと思っているからです。
カメラの移動を細かく設定できないのも、これが理由だったりします。

すみませんが、解像度が1280*720まで変更された場合に、適合しないとなった。今後のアップデートを期待しています。
彼女の解像度設定と互換性のあるバージョンを楽しみにしています。他のプラグインと完全に連携
解像度の変更への対応に関しては検討してみます。
背景がSpriteではなくTilingSpriteを使っており、解像度によって表示範囲が変わるめんどくさい仕様があるため、どうなるかはまだ未定です。
 
こんばんは。素晴らしいプラグインありがとうございます。

ところで、このプラグイン導入後、
マップイベントの「アニメーションの表示」を実行すると、
コード:
TypeError
target.targetGroundX is not a function
が発生するようになってしまいました。

こちらでソースコードを読んだのですが、よく分からなかったので、
587行目辺りに、関数有無チェックする if文を追加することで、エラーの発生はなくなりました。
JavaScript:
if (target.targetGroundX && target.targetGroundY) {
    pos.x += target.targetGroundX();
    pos.y += target.targetGroundY();
}

ただ、もっと良い修正方法があるか分からない事と、他の環境でも発生するのではないかと思いますので、ご報告いたします。
 
バージョン1.1に更新しました。

  1. マップで「アニメーションの表示」を実行するとエラーが発生する不具合を修正しました。
    ご報告助かりました。

  2. 画面の解像度変更に対応しました。
    私自身、解像度を大きくすることをしたことがないので、想定外のことがあるかもしれません。

  3. キャラの高さ(地面からの高度)を計算するように修正しました。
    ただし、全てに対応できているわけではありません。
    私が確認した限り、ジャンプには対応できましたが、浮遊には完全に対応できていません。

  4. 疑似3D表示の対象を this._effectsContainer.children 内のスプライトすべてに対して行う仕様に変更しました。
    競合対策してくださった方には申し訳ないですが、仕様が変更されています。
    Spriteset_Battle.prototype.pseudo3dSprites というメソッドにスプライトを追加すれば、疑似3Dに対応できるようになっています。
 

Megrim

ユーザー
素晴らしいですね。
戦闘画面の雰囲気が全く違います。
フロントビューの場合キャラクターをクローズアップしない(立体感の揺れだけになる)ようになると嬉しいです!
 

TheTrevisan

ユーザー
バージョン1.1に更新しました。

  1. マップで「アニメーションの表示」を実行するとエラーが発生する不具合を修正しました。
    ご報告助かりました。

  2. 画面の解像度変更に対応しました。
    私自身、解像度を大きくすることをしたことがないので、想定外のことがあるかもしれません。

  3. キャラの高さ(地面からの高度)を計算するように修正しました。
    ただし、全てに対応できているわけではありません。
    私が確認した限り、ジャンプには対応できましたが、浮遊には完全に対応できていません。

  4. 疑似3D表示の対象を this._effectsContainer.children 内のスプライトすべてに対して行う仕様に変更しました。
    競合対策してくださった方には申し訳ないですが、仕様が変更されています。
    Spriteset_Battle.prototype.pseudo3dSprites というメソッドにスプライトを追加すれば、疑似3Dに対応できるようになっています。

これは、グラフィックとアップデートで得た結果です。
結果は信じられないほどです、それは私が非常にうまく開発したスタイルを組み合わせています。

しかし、Visustellaプラグインとの競合があると思います。
そのため、キャラクターが浮かんでいるような感覚があります。
とにかく、あなたの仕事は素晴らしいです、おめでとうございます。
 
少し修正したい部分があったので、バージョン1.1.1に更新しました。
競合対策として入れた realGroundY メソッドがわかりづらかったので、
pseudo3dAltitude というメソッドに変更しました。

フロントビューの場合キャラクターをクローズアップしない(立体感の揺れだけになる)ようになると嬉しいです!
フロントビューのカメラってどう動くのがいいのか、私もよくわかってません。
なので今のところほとんどサイドビューの動きをそのまま使ってます。
やっぱドラクエあたりを参考にして、そのくらい動きが少ない方がいいのでしょうか?
そういう意見が多いようでしたら修正してみます。

しかし、Visustellaプラグインとの競合があると思います。
Visustellaプラグインの中身が読めないようになっているので、どういう座標計算しているのかわからない以上、対策のしようがないです。
 

mansatu

ユーザー
少し修正したい部分があったので、バージョン1.1.1に更新しました。
競合対策として入れた realGroundY メソッドがわかりづらかったので、
pseudo3dAltitude というメソッドに変更しました。


フロントビューのカメラってどう動くのがいいのか、私もよくわかってません。
なので今のところほとんどサイドビューの動きをそのまま使ってます。
やっぱドラクエあたりを参考にして、そのくらい動きが少ない方がいいのでしょうか?
そういう意見が多いようでしたら修正してみます。


Visustellaプラグインの中身が読めないようになっているので、どういう座標計算しているのかわからない以上、対策のしようがないです。
初めまして
素晴らしいプラグインをありがとうございます。

フロントビュー と サイドビューは カメラの動きが違うのかな?
それでは 二通り必要になるのかな? 一通りでいいのかな? とかを 思いました。
 

Megrim

ユーザー
フロントビューのカメラってどう動くのがいいのか、私もよくわかってません。
なので今のところほとんどサイドビューの動きをそのまま使ってます。
やっぱドラクエあたりを参考にして、そのくらい動きが少ない方がいいのでしょうか?
そういう意見が多いようでしたら修正してみます。
基本的には対象選択時などのカメラムーブがなくなればフロントビュー用に使えると思います。
あとは、中心点となるY座標を指定できるようにして、左右と若干の上下に動く感じになるとより違和感が少なくなりそうです。
 
トップ