MV用プラグイン

Spineアニメーション表示

投稿日:2019-05-15 更新日:

日本語名称:Spineアニメーション表示

ふりがな:すぱいんあにめーしょんひょうじ

機能概要:Spineアニメーションの表示を行うプラグイン

作者:奏ねこま(おとぶきねこま)

作者サイト:https://twitter.com/koma_neko

使用条件:転載禁止

ダウンロード元:http://makonet.sakura.ne.jp/rpg_tkool/

解説ページ:http://makonet.sakura.ne.jp/rpg_tkool/

ファイル名:MpiShowSpine.js

プラグインのヘルプ:

/*:
 * @plugindesc Spineアニメーションの表示を行うプラグイン
 * @author 奏ねこま(おとぶき ねこま)
 * 
 * @param Spine File
 * @type string[]
 * @default 
 * @desc Spineファイル(*.json)の場所を指定してください。
 *
 * @help
 * [概要]
 *  Esoteric Software社のSpineアニメーションファイルを読み込み、表示する機能を提
 *  供します。
 * 
 * [使い方]
 *  ※[事前準備]、[制限事項]、[プラグインパラメータ]、[プラグインコマンド]をよく
 *    お読みになった上でご使用ください。
 * 
 *  [Spineアニメーションを表示する]
 *   プラグインコマンド'ShowSpine'を使用します。
 *   当コマンド実行後にイベントコマンド「ピクチャの表示」を実行すると、ピクチャ
 *   の表示で設定した座標、拡大率、不透明度でSpineアニメーションを表示します。
 *   なお、「原点」「合成方法」の設定は無効となります。また、不透明度については
 *   パーツごとに半透明となるため、期待した表示結果にならない可能性があります。
 * 
 *  [アニメーション内容を変更する]
 *   プラグインコマンド'SetSpineAnimation'、'AddSpineAnimation'を使用します。
 *   コマンドを実行した時点で即座に変更したい場合はSetSpineAnimationを、表示中の
 *   アニメーションが1ループ分終わったあとに変更したい場合はAddSpineAnimationを
 *   使用してください。
 * 
 *  [複数のアニメーションを連続して再生する]
 *   プラグインコマンド'AddSpineAnimation'を使用します。
 *   当コマンドを一度に複数設定すると、設定したアニメーションを順次再生します。
 * 
 *  [アニメーションの切り替わりを滑らかにする]
 *   プラグインコマンド'SetSpineMix'を使用します。
 * 
 * [事前準備]
 *  'https://github.com/pixijs'から'pixi-spine.js'を取得してください。
 *  (「pixi-spin」→「bin」→「pixi-spine.js」)
 *  取得した'pixi-spine.js'を、'js/libs'フォルダ内に置いてください。
 *  'img'フォルダ内に、'spines'フォルダを作成してください。
 *  作成した'spines'フォルダの中に、json形式でエクスポートしたSpineアニメーショ
 *  ンファイル一式(jsonファイル以外のファイルを含む)を入れてください。
 *  なお、エクスポートの際は「アトラス作成(Create atlas)」をONにしてください。
 *  atlasファイルはjsonファイルと同名でなければなりません。
 *  エクスポートした結果、ファイル名が異なっていた場合は同名に変更してください。
 * 
 * [制限事項]
 *  デプロイメントの際に「未使用ファイルを含まない」をONにしていると、'spines'フ
 *  ォルダおよびその中のファイルは未使用ファイルと判断され、デプロイメントの対象
 *  から外されてしまいます。お手数ですがデプロイメント後に'spines'フォルダをデプ
 *  ロイメント先にコピーするなど、個別に対応をお願いします。
 * 
 * [プラグインパラメータ]
 *  Spine File
 *   Spineアニメーションファイル(*.json)を指定してください。ファイルは複数指定
 *   できます。jsonファイル以外のファイルは指定する必要はありません。
 *   また、拡張子(.json)は書く必要はありません。(書いても問題ありません)。
 * 
 *   [例] 'img/spines'フォルダにある'spineboy.json'ファイルを指定する場合
 * 
 *     spineboy
 * 
 *   [例] 'img/spines'フォルダに'spineboy'フォルダがあり、
 *          その中に'spineboy.json'ファイルがある場合
 * 
 *     spineboy/spineboy
 * 
 * [プラグインコマンド]
 *  ShowSpine <ファイル名> <アニメーション名> <ループの有無>
 *   <ファイル名>       Spineアニメーションファイルのファイル名(拡張子不要)
 *   <アニメーション名> Spineアニメーションに設定されているアニメーション名
 *   <ループの有無>     アニメーションを繰り返すかどうか。(true/false)
 * 
 *   表示したいSpineアニメーションを設定します。コマンド実行後、イベントコマンド
 *   「ピクチャの表示」実行時に、設定したSpineアニメーションが表示されます。
 *   ループの有無は省略可能です。省略した場合、'true'を指定した扱いとなります。
 * 
 *   [例] ShowSpine spineboy walk true
 *   [例] ShowSpine spineboy jump false
 * ........
 *  SetSpineAnimation <ピクチャ番号> <アニメーション名> <ループの有無>
 *   <ピクチャ番号>     アニメーションを設定する対象となるピクチャ番号
 *   <アニメーション名> Spineアニメーションに設定されているアニメーション名
 *   <ループの有無>     アニメーションを繰り返すかどうか。(true/false)
 * 
 *   表示中のSpineアニメーションのアニメーション内容を変更します。コマンド実行直
 *   後に現在のアニメーションは中断され、新しいアニメーションが開始されます。
 *   ループの有無は省略可能です。省略した場合、'true'を指定した扱いとなります。
 * 
 *   [例] SetSpineAnimation 1 walk true
 *   [例] SetSpineAnimation 2 jump false
 * ........
 *  AddSpineAnimation <ピクチャ番号> <アニメーション名> <ループの有無>
 *   <ピクチャ番号>     アニメーションを追加する対象となるピクチャ番号
 *   <アニメーション名> Spineアニメーションに設定されているアニメーション名
 *   <ループの有無>     アニメーションを繰り返すかどうか。(true/false)
 * 
 *   表示中のSpineアニメーションにアニメーション内容を追加します。コマンドを実行
 *   しても即座にアニメーションは開始せず、現在再生中のアニメーションが1ループ分
 *   完了したのちに再生を開始します。また、複数のAddSpineAnimationを重ねて実行し
 *   た場合、実行した順にアニメーションを順次再生していきます。
 *   ループの有無は省略可能です。省略した場合、'true'を指定した扱いとなります。
 *   なお、複数のAddSpineAnimationを重ねて実行した場合、ループの有無の指定は最後
 *   のコマンドのみ有効となります。
 * 
 *   [例] AddSpineAnimation 1 walk true
 *   [例] AddSpineAnimation 2 jump false
 * ........
 *  SetSpineMix <ピクチャ番号> <アニメーション名> <次アニメーション名> <合成時間>
 *   <ピクチャ番号>       アニメーション合成を設定する対象となるピクチャ番号
 *   <アニメーション名>   Spineアニメーションに設定されているアニメーション名
 *   <次アニメーション名> Spineアニメーションに設定されているアニメーション名
 *   <合成時間>           アニメーション間の合成部分の時間
 * 
 *   アニメーションを切り替える際の、アニメーション間の合成部分の時間を設定しま
 *   す。本設定を行うと、アニメーションが切り替わるとき、切り替え前のアニメーシ
 *   ョンから切り替え後のアニメーションへ、指定した合成時間をかけて滑らかに移行
 *   します。
 * 
 *   [例] SetSpineMix 1 walk run 0.2
 * 
 *    walk から run へ切り替わるとき、0.2秒かけて滑らかに切り替わる
 * 
 *   [例] SetSpineMix 2 run jump 0.4
 * 
 *    run から jump へ切り替わるとき、0.4秒かけて滑らかに切り替わる
 * ........
 *  SetSpineSkin <ピクチャ番号> <スキン名>
 *   <ピクチャ番号> スキンを設定する対象となるピクチャ番号
 *   <スキン名>     Spineアニメーションに設定されているスキン名
 * 
 *   表示中のSpineアニメーションのスキンを変更します。
 * 
 *   [例] SetSpineSkin 1 goblin
 *   [例] SetSpineSkin 2 goblingirl
 * 
 * ........
 *  SetSpineTimeScale <ピクチャ番号> <タイムスケール値>
 *   <ピクチャ番号>     タイムスケールを設定する対象となるピクチャ番号
 *   <タイムスケール値> 設定するタイムスケールの値
 * 
 *   表示中のSpineアニメーションのタイムスケールを変更します。デフォルトのタイム
 *   スケールは1です。例えばタイムスケール値に2を指定した場合、アニメーション速
 *   度が2倍になります。タイムスケール値に0は指定できません。アニメーションが停
 *   止したような演出をしたい場合は、0に近い0以外の値を指定してください。
 * 
 *   [例] SetSpineTimeScale 1 2
 *   [例] SetSpineTimeScale 2 4
 *   [例] SetSpineTimeScale 3 0.0000001
 * 
 * ........
 *  SetSpineColor <ピクチャ番号> <赤> <緑> <青> <不透明度>
 *   <ピクチャ番号> 色を設定する対象となるピクチャ番号
 *   <赤>           係数(赤)
 *   <緑>           係数(緑)
 *   <青>           係数(青)
 *   <不透明度>     係数(不透明度)
 * 
 *   表示中のSpineアニメーションの色を変更します。色そのものを指定するのではなく
 *   元の色に各係数を掛けたものが表示される色となります。
 *   例えば元の色がRGBA=(100,100,100,255)だった場合、係数(赤)に1.5を指定し、他
 *   はすべて1.0とすると、表示される色はRGBA=(150,100,100,255)となります。
 *   要するに1.0は元の色のまま、1.0より小さいとその色味は弱くなり、1.0より大きい
 *   と強くなります。
 * 
 *   [例] SetSpineTimeScale 1 1.5 1.0 1.0 1.0
 *   [例] SetSpineTimeScale 2 1.0 1.0 1.0 0.5
 * 
 * [利用規約] ..................................................................
 *  - 本プラグインの利用は、RPGツクールMV/RPGMakerMVの正規ユーザーに限られます。
 *  - 商用、非商用、有償、無償、一般向け、成人向けを問わず、利用可能です。
 *  - 利用の際、連絡や報告は必要ありません。また、製作者名の記載等も不要です。
 *  - プラグインを導入した作品に同梱する形以外での再配布、転載はご遠慮ください。
 *  - 本プラグインにより生じたいかなる問題についても、一切の責任を負いかねます。
 * [改訂履歴] ..................................................................
 *   Version 1.06  2019/03/29  セーブ時に表示していたSpineアニメーションが
 *                             ロード後に表示されなくなっていた不具合を修正
 *                             スキン変更が正しく行われていなかった不具合を修正
 *   Version 1.05  2019/03/17  競合対策
 *   Version 1.04  2018/12/13  カラー変更機能追加
 *   Version 1.03  2018/10/31  Spineファイル読み込み処理改善
 *   Version 1.02  2018/10/24  タイムスケール変更機能追加
 *   Version 1.01  2018/06/11  スキンに対応
 *   Version 1.00  2018/06/11  初版
 * -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 *  Web Site: http://makonet.sakura.ne.jp/rpg_tkool/
 *  Twitter : https://twitter.com/koma_neko
 *  Copylight (c) 2018 Nekoma Otobuki
 */
0