【解決済み】MZでspineアニメーションを表示させるプラグインについて

memetamement
記事: 2
登録日時: 2023年2月15日(水) 20:37

【解決済み】MZでspineアニメーションを表示させるプラグインについて

投稿記事by memetamement » 2023年2月15日(水) 22:22

[環境]
RPGツクールMZ
spinPRO ver.4.1.19


[状況]

http://makonet.sakura.ne.jp/rpg_tkool/

こちらのspineアニメーションを表示させるプラグインを
導入しようとしたところ、テストプレイを起動時に

"Uncaught Error: Unknown texture filter true"

とエラーを吐いてフリーズしてしまい機能せず困っています。
たまに起動するときもあるのですが、その場合はspine関連のものが一切表示されません。

起動時の自動読み込みをオフにすると安定して起動しますが
イベント自体を起動すると同じ上記と同じエラーメッセージが出ます。


解決法を探していたところ、spineの公式フォーラムで
4.0以降のバージョンで機能しない場合、エクスポート時に3.8にダウングレードすると
いいと見ましたので試してみたのですが、その場合上記のエラーメッセージではなく

"Cannot read property 'bones' of null"

と表示され、やはりエラーで停止してしまいます。



当然、導入ミスの疑いがあるので、以下の手順を記述しておきます。

1、配布元のSpineアニメーションプラグインの[Source Code]からjsファイルをダウンロードし
  ツクール内でプラグインをON。

2、[MZ] https://github.com/pixijs/spine/tree/pixi5/dist から[pixi-spine.js]を保存。
  [RPGツクールmz]の[js/libs]内にコピー。同[img]フォルダ内に[spine]フォルダを作成

3、spinePROのサンプルアニメーションである[spineboy-pro]を
  [.json]形式のエクスポートデフォルト画面から[テクスチャアトラス:パック]項目だけチェックをいれ
  上記の[spine]フォルダに直接出力。

4、プラグインパラメータの[json file]内に[spineboy-pro]と記述。


5、イベントエディターで以下の実行内容で作成。
  ◆ピクチャの表示:#5, なし, 左上 (0,0), (100%,100%), 255, 通常
  ◆スクリプト:$gameScreen.spine(5).setSkeleton('spineboy-pro');
  ◆スクリプト:$gameScreen.spine(5).setSkin('clothes');
  ◆スクリプト:$gameScreen.spine(5).setAnimation(0, 'walk');


以上になります。
何かしらの解決策がありましたらご教授よろしくお願いします。
最後に編集したユーザー memetamement on 2023年2月16日(木) 04:42 [ 編集 1 回目 ]

アバター
リクドウ
記事: 84
登録日時: 2019年9月03日(火) 23:21
連絡を取る:

Re: MZでspineアニメーションを表示させるプラグインについて

投稿記事by リクドウ » 2023年2月16日(木) 00:44

こんにちは

Spineを所持しているのでプラグインを導入して試してみましたところ、
私の環境と試した手順ではspineboy-proのwalkアニメーションがマップ上で再生できました。

spineboy-proのデータをエクスポートする際のバージョン指定は3.8で問題なさそうです。
(プラグインの説明ドキュメントの「動作条件」の項目に、Spine 3.8とあるので)

お試しになった導入の手順も問題なさそうなのですが、
下記の、スクリプトの2つ目の記述をまるまる削除して試してみてください。
(設定したいスキンがある場合に実行するスクリプトのようなので)

>5、イベントエディターで以下の実行内容で作成。
> ◆ピクチャの表示:#5, なし, 左上 (0,0), (100%,100%), 255, 通常
> ◆スクリプト:$gameScreen.spine(5).setSkeleton('spineboy-pro');
> ◆スクリプト:$gameScreen.spine(5).setSkin('clothes');
> ◆スクリプト:$gameScreen.spine(5).setAnimation(0, 'walk');

また、アニメーションの原点がspineboyの足元の位置になるので、
ピクチャの原点を左上(0,0)としてしまうと正しく表示されても画面外となって視認できないかと思います。
ピクチャの原点を中央(408,624)等にして試してみてください。

【以下追記です】
若干気になったのが、追加したフォルダ名が「spine」と記載されている点でしょうか。
解説のドキュメント内では「spines」(最後に s が付く)となっていますので、
念のため確認してみていただければと思います。
(自分で試してみたところ、フォルダ名が間違っている場合はそもそもエラー自体が表示されずアニメーションも実行できない状況になったので、多分正しいフォルダ名になっているとは思うのですが)

--------------------------------------------------------------------------------
以下、私の環境と試した実行内容等になります。

OS:Windows11
プラグイン「PictureSpine.js」のバージョン:v1.20
MZ本体(エディタ)のバージョン:v1.6.1
MZのコアスクリプトのバージョン:v1.6.0
Spineのバージョン:v4.1.19

▼エクスポート時の設定
export.png
export.png (48.46 KiB) 閲覧数: 965 回


▼プラグインパラメータの設定
param.png


▼イベントの実行内容
event.png


▼イベントの実行結果
イベントのトリガーを「決定ボタン」とした場合は、問題なく歩行アニメーションが再生されました。
(トリガーを「自動実行」にした場合、データの読み込みが間に合わないのかアニメーションせずに静止の状態になってしまいました)
boy.png
------------------------------------------------------------------------------
リクドウ[Rikudou]
Twitter: https://twitter.com/Rikudou_gdv

下記サイトにて、
制作中の作品紹介や、自作素材の配布などを行っています。
https://kai-rikudou.com/
------------------------------------------------------------------------------
memetamement
記事: 2
登録日時: 2023年2月15日(水) 20:37

Re: MZでspineアニメーションを表示させるプラグインについて

投稿記事by memetamement » 2023年2月16日(木) 03:33

返信及び丁寧な試行・図解説明までして頂きありがとうございます。

アドバイスに習い

1・エクスポートのグレードを3.8に設定
2・ピクチャ表示の原点を中央(408,624)に設定
3・スクリプト二行目の◆スクリプト:$gameScreen.spine(5).setSkin('clothes');を削除

にて試行した所、自分の環境でもちゃんと表示することができました。

やはり主な原因は2と3だったみたいです。
(フォルダ名は質問文時のタイプミスで、実際はちゃんと[spines]になっていました、申し訳ありません。)


いくら検索して調べても、手順をやり直してもどうにもならず
とても困っていたので、すごく助かりました。

本当にありがとうございました。

“MZ:質問” へ戻る