【解決】アニメーションの画像指定に連番機能を追加

アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

【解決】アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月09日(月) 02:37

いつもありがとうございます。
今回ご希望させて頂きますプラグインは
アニメーション画像指定に連番機能の追加 です。

デフォルトでは、アニメーション画像はスプライトシートにて表示されています。

これを例えば10枚の連番画像で再生する様にしたいのです。
と言うのも、現在アニメーション画像のコマサイズを大きくするプラグインを使い1コマ800×800で40コマのアニメーション画像を作っています。
これをスプライトシート化すると5×8で4000×6400と大きいサイズになり表示に遅延が発生します。

もし連番で表示する事が出来たならこの問題もクリアする事が出来るのかなと思った次第です。
(しかも1コマのサイズも関係なくなる?)

何卒よろしくお願いいたします。
また、今回のご希望するプラグインが既に存在するのであれば、教えて頂ければ幸いです。
最後に編集したユーザー 進撃のエレン on 2020年3月18日(水) 07:23 [ 編集 5 回目 ]

アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月16日(月) 02:20

下がってきましたので、アゲさせて頂きます。
何卒よろしくお願い致します。
biv36htspH7k5cC
記事: 35
登録日時: 2020年2月17日(月) 20:21

Re: アニメーションの画像指定に連番機能を追加

投稿記事by biv36htspH7k5cC » 2020年3月16日(月) 14:54

進撃のエレン さんが書きました:いつもありがとうございます。
今回ご希望させて頂きますプラグインは
アニメーション画像指定に連番機能の追加 です。

デフォルトでは、アニメーション画像はスプライトシートにて表示されています。

これを例えば10枚の連番画像で再生する様にしたいのです。
と言うのも、現在アニメーション画像のコマサイズを大きくするプラグインを使い1コマ800×800で40コマのアニメーション画像を作っています。
これをスプライトシート化すると5×8で4000×6400と大きいサイズになり表示に遅延が発生します。

もし連番で表示する事が出来たならこの問題もクリアする事が出来るのかなと思った次第です。
(しかも1コマのサイズも関係なくなる?)

何卒よろしくお願いいたします。
また、今回のご希望するプラグインが既に存在するのであれば、教えて頂ければ幸いです。


状況は
・大きい画像をアニメーションにするプラグインを使用している。(解像度を上げる為?)
・このため、画像サイズが大きくなり、読み込み遅延が起こる。
・読み込み遅延を防ぎたい。
・読み込み遅延対策のアイディアとして「連番の画像で再生できるようにしたい」
ということで合っていますか?

参考までに教えていただきたいのですが、今使ってるプラグインは何でしょうか?
入手元をお知らせいただければ幸いです。

連番の画像でアニメーションというとトリアコンタンさんのピクチャのアニメーションプラグインを思い起こしますが、これではダメなんですよね?
https://triacontane.blogspot.com/2015/1 ... st_20.html

また、アニメーションとして設定するのにツクールの編集画面は使わないということでしょうか?

下記のようなプラグインでは防げないでしょうか?

並列プリロード
https://triacontane.blogspot.jp/2016/04 ... st_24.html

アニメーション画像先読み
http://woodpenguin.web.fc2.com/MV_Plugi ... Anime.html

戦闘画像先読み込み
http://woodpenguin.web.fc2.com/MV_Plugi ... Image.html
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月16日(月) 15:57

ご返信、誠にありがとうございます。


状況は
・大きい画像をアニメーションにするプラグインを使用している。(解像度を上げる為?)
・このため、画像サイズが大きくなり、読み込み遅延が起こる。
・読み込み遅延を防ぎたい。
・読み込み遅延対策のアイディアとして「連番の画像で再生できるようにしたい」
ということで合っていますか?



寸分の狂いも無く、その状況です。


参考までに教えていただきたいのですが、今使ってるプラグインは何でしょうか?
入手元をお知らせいただければ幸いです。


やな様の「アニメサイズ変更」プラグインとなります。
https://w.atwiki.jp/pokotan/pages/3.html


連番の画像でアニメーションというとトリアコンタンさんの
ピクチャのアニメーションプラグインを思い起こしますが、これではダメなんですよね?


そうなんです。
こちらはピクチャを画面上にアニメーションさせるだけで
エネミーの位置にアニメーションさせる事は出来ませんので……。
(もし出来たら、それはそれでこのトピックは解決しますが・・; )

また、並列プリロードは現状のVer1.6.2での利用を非推奨となっている為使用しておりません。
アニメーション画像先読み及び、戦闘画像先読み込みも試しましたが
そもそもの画像サイズが大きい為、思った効果は得られませんでした。


また、アニメーションとして設定するのにツクールの編集画面は使わないということでしょうか?


ツクールの編集画面を使いたいと思っております。
今回のご希望プラグインの肝はエネミーの場所に連番アニメーションを再生させる事なので、
アニメーションの位置を設定出来なければ、トリアコンタン様のピクチャアニメーションでも問題無いのです。


考えました仕様は以下の通りです。

1:ファイル名の末尾に「_xx」数字を付ける。
  ※anime_00 anime_01 anime_02……

2:フレーム数をファイル名の末尾数字と同じにする。
  ※連番画像が10枚ならフレーム数は10

3:アニメーションIDをプラグインパラメータで指定する。
  指定されたアニメーションIDの画像が連番画像にて再生される
 or
4:アニメの名前の末尾に[anime]と記載があればそのアニメは連番で再生される。

3より4の方が設定は簡易かもしれません。

もし上記の仕様より「そっちよりこっちの作り方の方が良い」などがございましたら
そちらで問題ございません。

以上となります。
ご検討頂ければ幸いです。
何卒宜しくお願い致します。
biv36htspH7k5cC
記事: 35
登録日時: 2020年2月17日(月) 20:21

Re: アニメーションの画像指定に連番機能を追加

投稿記事by biv36htspH7k5cC » 2020年3月16日(月) 16:51

進撃のエレン さんが書きました:ご返信、誠にありがとうございます。


状況は
・大きい画像をアニメーションにするプラグインを使用している。(解像度を上げる為?)
・このため、画像サイズが大きくなり、読み込み遅延が起こる。
・読み込み遅延を防ぎたい。
・読み込み遅延対策のアイディアとして「連番の画像で再生できるようにしたい」
ということで合っていますか?



寸分の狂いも無く、その状況です。


参考までに教えていただきたいのですが、今使ってるプラグインは何でしょうか?
入手元をお知らせいただければ幸いです。


やな様の「アニメサイズ変更」プラグインとなります。
https://w.atwiki.jp/pokotan/pages/3.html


連番の画像でアニメーションというとトリアコンタンさんの
ピクチャのアニメーションプラグインを思い起こしますが、これではダメなんですよね?


そうなんです。
こちらはピクチャを画面上にアニメーションさせるだけで
エネミーの位置にアニメーションさせる事は出来ませんので……。
(もし出来たら、それはそれでこのトピックは解決しますが・・; )

また、並列プリロードは現状のVer1.6.2での利用を非推奨となっている為使用しておりません。
アニメーション画像先読み及び、戦闘画像先読み込みも試しましたが
そもそもの画像サイズが大きい為、思った効果は得られませんでした。


また、アニメーションとして設定するのにツクールの編集画面は使わないということでしょうか?


ツクールの編集画面を使いたいと思っております。
今回のご希望プラグインの肝はエネミーの場所に連番アニメーションを再生させる事なので、
アニメーションの位置を設定出来なければ、トリアコンタン様のピクチャアニメーションでも問題無いのです。


考えました仕様は以下の通りです。

1:ファイル名の末尾に「_xx」数字を付ける。
  ※anime_00 anime_01 anime_02……

2:フレーム数をファイル名の末尾数字と同じにする。
  ※連番画像が10枚ならフレーム数は10

3:アニメーションIDをプラグインパラメータで指定する。
  指定されたアニメーションIDの画像が連番画像にて再生される
 or
4:アニメの名前の末尾に[anime]と記載があればそのアニメは連番で再生される。

3より4の方が設定は簡易かもしれません。

もし上記の仕様より「そっちよりこっちの作り方の方が良い」などがございましたら
そちらで問題ございません。

以上となります。
ご検討頂ければ幸いです。
何卒宜しくお願い致します。


今ひとつ、ファイルを小さく個別にする事で読み込み遅延を防ぐのか疑問が残っています。

というのは、WEB業界などでは、小さなファイルを1ファイルにまとめておき、その一部だけを表示する「CSSスプライト」と呼ばれるテクニックを使います。
ファイルを分けるとファイルサイズが小さくなることもありますが、読み込むファイル数が増えるとリクエストが増えた分、結果的に表示が遅くなるのを防ぐためのテクニックです。
アニメーションの規格がCSSスプライトとよく似ています。
(基本的なアプローチは同じでしょう)

また、分割したファイルをアニメーション実行時に読み込むとなると、アニメーション再生途中で遅延が起こるのではないか?という疑問が残ります。

お試し済みでしたら失礼ですが、一度ピクチャのアニメーションプラグインを使って、お手元の素材を分割連番にして、いくつか再生を試していただきたいのです。
これで遅延が起こらないのであれば、その手法は効果があるかもしれません。

自分は、戦闘開始時に使用アニメーションの画像をプリロードする形式の方が効果があると思います。

ただ、この場合、どのアニメーションを読み込むかを決める妥当な決まりがないと、全てのアニメーションを読み込むしかなくなり、戦闘開始までのローディングが異常に長くなると予想されます。
妥当な仕様になっても、結果的に戦闘開始までのローディングが長くなるのは避けられません。

アニメーション画像先読みプラグインはコマンド選択時にアニメーションを先読みしますが、それで効果が足りないということは、戦闘開始時しかないのではないかと予想します。

また、現状のままとしても、マップ画面で2,3回連続でアニメーション再生をしてみるのも確認手段の1つだと思います。
連続で再生しても遅延が起こる場合、プリロードで回避できる問題ではなく、再生環境(CPU、RAM、ブラウザ、コアといった根本的なもの)の問題になると思います。
つまり、コアがそこまでの規模を想定していないオーバースペックの素材を扱おうとしている可能性があります。

コアにとってオーバースペックであれば、相当な規模のプラグインになりそうです。
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月17日(火) 04:28

ご返信、誠にありがとうございます。

というのは、WEB業界などでは、小さなファイルを1ファイルにまとめておき、その一部だけを表示する「CSSスプライト」と呼ばれるテクニックを使います。


私もWEB業界に在籍しておりますのでCSSスプライトのテクニックは存じております。
今は通信速度の改善や画像主体のWEBサイトが多くなった為にあまり使わなくなったテクニックですが、
確かにアプローチの仕方は似ていますね。

お試し済みでしたら失礼ですが、一度ピクチャのアニメーションプラグインを使って、お手元の素材を分割連番にして、いくつか再生を試していただきたいのです。


こちらですが、既に1280x720のピクチャを100枚でアニメーションさせて遅延が発生していない事を確認しております。
尚、それ以外にテストとして1920x1080のピクチャを30枚アニメーションさせると遅延が発生している事を確認しておりますが、
今回のケースではそこまで大きなサイズのピクチャを再生させる事を想定しておりません。


どのアニメーションを読み込むかを決める妥当な決まりがないと、全てのアニメーションを読み込むしかなくなり、戦闘開始までのローディングが異常に長くなると予想されます。


確かにそうですね。
しかしながらアニメーションと言う事は、前提としてスキル使用により再生され、そのスキルを使用するかどうかはユーザーによって判断されます。その為、先読みを行い戦闘開始のローディングを常に行う事はユーザビリティの観点からも推奨する事は出来かねます。

またユーザーのPC環境によって左右される事は否めませんが、
恐らくこれは同じ様なプラグイン全てにも言える事かと思いますし、
ツクールMVがVer1.6.2までアップデートされた経緯がそれを証明し、
少なくともピクチャ関連の動作に関しては改善されているかと思います。



コアにとってオーバースペックであれば、相当な規模のプラグインになりそうです。


恐れながら私では判断出来かねますので、然るべき方が制作可能かどうかを判断して頂ければ幸いです。
biv36htspH7k5cC
記事: 35
登録日時: 2020年2月17日(月) 20:21

Re: アニメーションの画像指定に連番機能を追加

投稿記事by biv36htspH7k5cC » 2020年3月17日(火) 13:50

進撃のエレン さんが書きました:
連番の画像でアニメーションというとトリアコンタンさんの
ピクチャのアニメーションプラグインを思い起こしますが、これではダメなんですよね?


そうなんです。
こちらはピクチャを画面上にアニメーションさせるだけで
エネミーの位置にアニメーションさせる事は出来ませんので……。
(もし出来たら、それはそれでこのトピックは解決しますが・・; )


ということだったので、エネミーの座標を取得し、

ピクチャのアニメーションプラグイン
https://raw.githubusercontent.com/triac ... imation.js

での実現方法を模索しました。

画像:test100からtest103の4ファイル

コモンイベントに下記を設定しました。
なお、これはアクターが選択した敵の座標を取得するもので、敵がスキルを使用しても動作しません。

コード: 全て選択

◆変数の操作:#0016 x = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].x;
◆変数の操作:#0017 y = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].y;
◆プラグインコマンド:PA_INIT 4 1 連番 0
◆ピクチャの表示:#1, test100, 中央 ({x},{y}), (100%,100%), 255, 通常
◆プラグインコマンド:PA_START_LOOP 1 2
◆プラグインコマンド:PA_STOP 1
◆ピクチャの移動:#1, 中央 ({x},{y}), (100%,100%), 0, 通常, 60フレーム (ウェイト)

最後がピクチャの消去だと、表示やアニメーションを認識できないうちに消えてしまうようなので、移動で透明にしています。

スキルの仕様効果にコモンイベントを追加してみましたが、再生タイミングがダメージを与えた後になってしまうので、下記プラグインを使用して発動前に実行するのが良いと思います。

発動前コモン
https://www6.atwiki.jp/pokotan/pages/3.html

進撃のエレン様の理想としていそうなプラグインは、私の今の技術では制作できそうもありません。
できるのはここまでくらいかと…

大してお役に立てず、申し訳ございません。
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月17日(火) 14:46

biv36htspH7k5cC 様

実現方法を模索しました。


通常のイベントでプレイヤーの座標をX,Yに入れるテクニックは存じておりましたが
バトル内でもターゲット座標をX,Yに入れるテクニックは考えつきませんでした。
そして、そのJSコードも今回の件が無ければ知る事は出来ませんでした。

確かにこの内容で90枚のピクチャアニメーションを遅延させずに
ターゲットにアニメーションさせる事が出来ました!

まだ試してはいませんが、恐らくコードを拝見するに
単体の使用を想定していると見受けられますが、
今回のケースでは単体使用に対してのご要望だったので特に問題はございません。
そしてピクチャの表示をスクリプトで行う事で座標を+-で細かく指定出来る事も確認できました。

また、当方の環境でYEPのActionSequenceを使用しておりますので、
アニメーション再生時にコモンイベントを指定する事で
教えていただいた「発動前コモン」は使用せずにすみそうです。

biv36htspH7k5cC 様
この度は私のご要望にお付き合い頂き誠にありがとうございました。

私の今の技術では制作できそうもありません。
できるのはここまでくらいかと…

大してお役に立てず、申し訳ございません。


いえいえ、逆に新しいプラグインを入れて競合問題などが発生するよりか
今出来る最善の方法を教えて頂けた事が何よりも嬉しいです。

本当にありがとうございました!!
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: 【解決(保留)】アニメーションの画像指定に連番機能を追加

投稿記事by 進撃のエレン » 2020年3月17日(火) 17:46

アニメーションを指定座標に表示させる事は出来たのですが、
敵グループのエネミーA(画面左)とエネミーB(画面右)がいた場合
一回目にエネミーBにアニメーションを表示させるとエネミーAの場所に表示され、
二回目にエネミーAにアニメーションを表示させるとエネミーBの場所に表示されます。

ちなみに
一回目にエネミーBにアニメーションを表示させるとエネミーAの場所に表示されますが
二回目にエネミーBにアニメーションを表示させると問題なくエネミーBの場所に表示されます。

三回目にエネミーAにアニメーションを表示させるとエネミーBの場所に表示されますが
四回目にエネミーAにアニメーションを表示させると問題なくエネミーAの場所に表示されます。

◆変数の操作:#0016 x = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].x;
◆変数の操作:#0017 y = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].y;


この変数のスクリプトの記述に問題があるのでしょうか?

何か座標を指定するプラグインを入れているせいなのかと思い
CommunityBasic
PictureAnimation
BeforeCommon
この3つだけにしても状況は変わりませんでした。

ここまできたら最後までやり遂げたいと思っておりますので
何卒宜しくお願い致します。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 【解決(保留)】アニメーションの画像指定に連番機能を追加

投稿記事by ムノクラ » 2020年3月17日(火) 19:21

進撃のエレン さんが書きました:アニメーションを指定座標に表示させる事は出来たのですが、
敵グループのエネミーA(画面左)とエネミーB(画面右)がいた場合
一回目にエネミーBにアニメーションを表示させるとエネミーAの場所に表示され、
二回目にエネミーAにアニメーションを表示させるとエネミーBの場所に表示されます。

ちなみに
一回目にエネミーBにアニメーションを表示させるとエネミーAの場所に表示されますが
二回目にエネミーBにアニメーションを表示させると問題なくエネミーBの場所に表示されます。

三回目にエネミーAにアニメーションを表示させるとエネミーBの場所に表示されますが
四回目にエネミーAにアニメーションを表示させると問題なくエネミーAの場所に表示されます。

◆変数の操作:#0016 x = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].x;
◆変数の操作:#0017 y = $dataTroops[$gameTroop._troopId].members[BattleManager._subject._lastTargetIndex].y;


この変数のスクリプトの記述に問題があるのでしょうか?

何か座標を指定するプラグインを入れているせいなのかと思い
CommunityBasic
PictureAnimation
BeforeCommon
この3つだけにしても状況は変わりませんでした。

ここまできたら最後までやり遂げたいと思っておりますので
何卒宜しくお願い致します。


_lastTargetIndex
は最後に対象になった者のインデックスなので、下記でどうでしょうか?(あまり深い検証はできていませんが…)

コード: 全て選択

$dataTroops[$gameTroop._troopId].members[BattleManager._action._targetIndex].x;
$dataTroops[$gameTroop._troopId].members[BattleManager._action._targetIndex].y;
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。

“MV:プラグイン素材のリクエスト” へ戻る