【解決済み】APNGピクチャプラグインをAltMenuScreen2MZで使いたい

aohige10

ユーザー
はじめまして。
今年からRPGツクールMZを触り始めました。
初めての投稿となりますが、マナー等に失礼な点があったらごめんなさい。

さて、表題の件ですが、トリアコンタン様が作成してくださっている「ApngPicture.js」を、RPGツクールMZ準公式プラグインである「AltMenuScreen2MZ.js」のメインメニューに表示する立ち絵で使いたいと考えていますが、上手くいきません。

【やったこと】
・ApngPicture.jsおよび、PixiApngAndGif.jsのDLとインポート
・AltMenuScreen2MZ.jsのインポートおよび立ち絵の設定

【確認済】
・ApngPicture.jsがMZ向けのものである事の確認
・新規プロジェクトでそれら以外なにも入ってない状態での確認
・Apngファイルは、ネットでApngとして正しく動作しているものをサンプルとして拝借して確認

参考までに、上記状態のプロジェクトファイルをDropboxに置いておきます。
Project6.zip (dropbox.com)

【やりたい事、質問】
・AltMenuScreen2MZで利用できるメインメニューの立ち絵で、Apngを動かすことは可能でしょうか?
・上記プロジェクトでの設定方法にミスはありますか?
・もしプラグインの仕様上使えない場合、改変方法をご教授頂ける事は可能でしょうか?

どうか、よろしくお願いします。
余談ではありますが、トリアコンタン様や他の方々のプラグインには本当にお世話になりっぱなしです。
いつもありがとうございます。
 

Attachments

  • ta.png
    ta.png
    289.9 KB · 閲覧: 12
どうも。AltMenuScreen2MZ.js 作者です。

ご要望の件ですが、対処すべきなら、僕の方になるのかもしれませんが、
あいにく、APNGについて、僕が完全な無知な事と、プラグイン側の処理によって、
対応が可能な同課は微妙な状態にあります。

まず、APNGですが、僕はAPNG画像を一枚も持っていないので、
まずは、使いたいというAPNG画像を、こちらにアップしていただけないでしょうか。

それに加え、このプラグインでは、画像を直接表示するのではなく、
画像のビット転送(Bitmap.blt)という処理を使って表示しています。
これは、画像サイズ調整の為に、トリミングして表示しているからです。

現状では、画像表示時に1回だけ、ビット転送を行っているため、
アニメーションが起きないのは当然と言えば当然のこととなります。

ただし、前述のように、画像表示ではなく、ビット転送での表示の為、
APNGで表示する際に、各フレームの画像を、毎フレーム、ビット転送する方法……というのが、
全く見通しが立たない状況になります。

このあたりの処理が何とかなれば、「画像にAPNGが指定されたら、毎フレーム更新を行う」といった
処理を追加して、対処は可能になる可能性があるのですが、果たして、どうでしょうかねえ。

APNG対応プラグインを作られたトリアコンタンさんなどのご意見も拝受すれば、
可能になるかもしれません。
 

aohige10

ユーザー
どうも。AltMenuScreen2MZ.js 作者です。

ご要望の件ですが、対処すべきなら、僕の方になるのかもしれませんが、
あいにく、APNGについて、僕が完全な無知な事と、プラグイン側の処理によって、
対応が可能な同課は微妙な状態にあります。

まず、APNGですが、僕はAPNG画像を一枚も持っていないので、
まずは、使いたいというAPNG画像を、こちらにアップしていただけないでしょうか。

それに加え、このプラグインでは、画像を直接表示するのではなく、
画像のビット転送(Bitmap.blt)という処理を使って表示しています。
これは、画像サイズ調整の為に、トリミングして表示しているからです。

現状では、画像表示時に1回だけ、ビット転送を行っているため、
アニメーションが起きないのは当然と言えば当然のこととなります。

ただし、前述のように、画像表示ではなく、ビット転送での表示の為、
APNGで表示する際に、各フレームの画像を、毎フレーム、ビット転送する方法……というのが、
全く見通しが立たない状況になります。

このあたりの処理が何とかなれば、「画像にAPNGが指定されたら、毎フレーム更新を行う」といった
処理を追加して、対処は可能になる可能性があるのですが、果たして、どうでしょうかねえ。

APNG対応プラグインを作られたトリアコンタンさんなどのご意見も拝受すれば、
可能になるかもしれません。

神無月サスケ様

返信ありがとうございます!
まさかAltMenuScreen2MZの作者様から返信いただけるとは…。

ご返信内容を熟読しまして、対応が難しそう or 望みが薄い状態である事を理解し納得致しました。
頂いた内容のお陰で、問題の切り分けと特定が出来ただけでも個人的には大きな収穫です。ありがとうございました。

添付ファイルに、APNG画像を二枚添付しておきます。
(実際にアクターとして表示する画像はまだ製作途中で無いため、他のAPNG画像を添付します)

【スライム.png】 ※青い耳の生えたスライムの画像です
 ・実際のプロジェクトで使用しているAPNG画像です
 ・敵の画像としての使用となり、実際に戦闘画面でAPNGとして動作しているファイルとなります

【サンプル.png】 ※青い象の画像です
 ・ネットでAPNGのサンプルとして公開されている物を拝借したものです
 ・上記のスライム.pngだとトリミングの必要がない程小さい画像でしたので、大きい画像サイズのものがあればデバッグしやすいのかな?と考え、念のために添付させて頂きました

【APNGの動作確認方法】
 ・Chrome等のAPNG対応ブラウザに直接ドラッグアンドドロップしてGIFのようにアニメーションが動いてる事をご確認ください

よろしくお願いします!


ーーー以下、完全な余談です。
神無月サスケ様やトリアコンタン様が沢山プラグインやTipsをあげてくれているおかげで、RPGツクールでしっかりしたゲームを作ってみようと決意できました。大変な事も多いと思いますが、本当に応援していますし、感謝しています!
また、フォーラムの過去ログも沢山漁っている中で、神無月サスケ様のRPGに対する情熱の籠ったレスを見つけるたびに嬉しくなって拝読させて頂いています。
ついついこうしてレスを貰って嬉しくなり変な事を口走っている気もしますが、重ねて詳細な状況を教えて頂きありがとうございました。
 

aohige10

ユーザー
本件につきまして、一応は自力で動かす事に成功し解決できたので、その方法を記載しておきます。

【やったこと】
・トリアコンタン様の「CharacterPictureManager.js」を導入
・「AltMenuScreen2MZ.js」の方の立ち絵機能を使わないように変更

上記方法で、メインメニューに立ち絵のAPNGを動かす事はできました。
恐らくそもそも「ApngPicture.js」が「CharacterPictureManager.js」とのセットでの導入を想定したもの?な気がするので、私の方の設定・認識ミスかなと思います。お騒がせしました。
なので、一旦このスレッドのメインの趣旨は「解決した」というステータスです。

しかし、最初に「一応は」と書いた理由は、立ち絵をAPNG化する事には成功したが、その他の問題が生じたためです。
私のプロジェクト固有の問題も多いですが、後学のため記載しておきます。

【その他生じた問題】
①アクターの立ち絵を座標指定するため、並び替え等に対応できない
 ※これもまた、私の方での設定・認識ミスにより出来てない可能性も高いです
②「AltMenuScreen2MZ.js」で立ち絵を表示しないように設定すると、アイテム使用時のアクター選択UIでも立ち絵が表示されなくなる
 ※「AltMenuScreen2MZ.js」を拡張するスクリプトを作成し、メインメニュー時のみ立ち絵を表示しないように修正しました
③pixi.jsでエラーを吐いてしまう
 ※私のプロジェクト起因のエラーかもしれませんが、自力で対処しました
④かなりニッチな話ですが、「ZinTween.js」のトゥイーン機能が使えなくなる(厳密には使いづらくなる)
 ※こちらは「CharacterPictureManager.js」を改修することで対応できました

もしかしたら書き忘れてる問題点があったかもしれません… 色々力業でなんとか…という感じですね…。
①に関しては、問題そのものは解決できないものの、プロジェクトの方をPTメンバー固定にするなどで対処できるので、一旦はそれで進めようと考えています。

当スレッドに反応してくれた神無月サスケ様、ありがとうございました。
また、もし対応を進めて頂いたのであれば、お詫びとお礼を申し上げます。

------------------
また、上の方のレスでサンプル画像として公開したものは実プロジェクトで使用するものであるため、後日削除させていただきます。
 
最後に編集:
トップ