アニメーション付き武器の作り方
私自身の覚書を兼ねたアニメーション付きの武器作成手順の解説記事です。
目次
目的
ドワーフの戦鎚にアニメーションを付けてバニラのメッシュと置き換えます。
成果物の挙動は動画をみてください。
本手順で以下のことができます。
- 武器メッシュ(.nif)にNiTransformInterpolaterを使用したアニメーション(並進移動、回転移動、拡大縮小)をつける
- オリジナルBehaviorファイル(.hkx)でアニメーションの再生を制御する
SE版を前提としていますが、LE版でも同様の手順で実装できます。LE版のほうが若干手順が少ないです。
また、今回は意図的に血糊メッシュを除いています。
Nifskope上では血糊メッシュをアニメーションさせることも可能ですが、ゲーム中では上手く表示できなかったためです。
付録
成果物を付録としてダウンロードできるようにしておきます。
記事を読みつつ、眺めたり、いじったりしてみてください。
- アニメーションをつけたblendファイル
- ToolsPack to work with Blender 2.7で作成したアニメーション関連ファイルとアニメーション付きnifファイル
- Behavior files creatorへのインプットファイル
- バニラのドワーフの戦鎚をアニメーション付きのモデルに差し替えるmod(LE版/SE版)
ツールの準備
今回のチュートリアルでは以下のツールを使用します。
BSA Brower
bsaファイルの展開ができるツールです。今回はバニラのファイルを取り出すのに使います。
Nifskope2.0
nifファイルを表示、編集できるツールです。今回のチュートリアルで一番使うツールかもしれないです。
Blender2.7x&nifプラグイン
無償の3DCG統合ソフトとnifファイルを入出力できるようになるプラグイン。
今回はバニラモデルを読み込んでアニメーションを設定するのに使用します。
本記事では導入手順やnifファイルの入出力手順を詳細には説明しませんので、SkyrimMod作成Wikiを確認してください。
Skyrim Mod作成 Wikiでoppracoさん作の改良版nifプラグインが配布されていますので、そちらを利用するのが良いと思います。
Blender2.8以降に対応したnifプラグインも現在開発中ですが、この記事を書いている2021/1/3時点では残念ながら正常に入出力することができない状態でした。プラグインが正常に動作するようになるまではBlender2.7xを使いましょう。
SSE NIF Optimizer
メッシュのSE版→LE版の変換、LE版→SE版の変換を行うツールです。
上述のnifプラグインではSE版のBSTrishapeを使ったnifファイルは読み込めないので、SE版のnifファイルを利用する場合はBlenderで読み込む前にこのツールを使用するようにしましょう。
不要なStringsの整理などの最適化処理も行ってくれるので、LE版で作業される方も、Nifskopeで編集した後に「あれ、思ったように動かないな」と思ったときは一度このツールの最適化処理を一度通してみると良いかも知れません。
ToolsPack to work with Blender 2.7
AntonさんのBlenderツールパック。
今回は「Animation Tools N4 – Mesh Animator」のみ使用して、Blenderからアニメーション関連の情報を出力します。
Behavior files creator
AntonさんによるBehaviorファイル作成ツール。
Behaviorファイルはこのツールに頼らず作成することもできますが、簡単なものならばこのツール使うのが楽だと思います。
武器メッシュにアニメーションをつける
武器メッシュにNiTransformInterpolaterを使用したアニメーション(並進移動、回転移動、拡大縮小)をつける手順です。
ドワーフの戦鎚のnifファイルを展開する
BSA Browerを使ってバニラのSkyrim – Meshes0.bsaから以下のファイルを展開します。展開場所は適当な作業用フォルダで構いません。
meshes\weapons\dwarven\1stpersondwarvenwarhammer.nif
nifファイルを変換する(SE版→LE版)
ポイント
LE版で作業される方はnifファイルの変換は不要です。
SSE Nif Optimizerを使い、以下の手順で1stpersondwarvenwarhammer.nifをLE版に変換します。
先述の通り、現時点ではSE版のメッシュを直接Blenderに読み込むことができないためです。
- 1stpersondwarvenwarhammer.nifをコピーして1stpersondwarvenwarhammer4blender.nifにリネーム。(コピー元は後で使います)
- SSE NIF Optimizer.exeに1stpersondwarvenwarhammer4blender.nifをドラッグアンドドロップ。
- GUIが表示されるので右下のラジオボタンで「LE」を選択して「Optimize」ボタンを押下。
この手順で1stpersondwarvenwarhammer4blender.nifがLE版に変換(ファイル上書き)されます。
Blenderでnifファイルを読み込む
読み込み前の整形
1stpersondwarvenwarhammer4blender.nifをBlender2.79に読み込むための下準備としてNifskopeで整形していきます。
まず、コリジョンと血糊メッシュのブロックを削除します。
1stpersondwarvenwarhammer4blender.nifをNifskopeで開いて赤枠のブロックを一つずつCtrl+Delで削除します。
ドワーフの戦鎚メッシュは移動、縮小された状態になっているので、確定しておきます。
NiTriShapeを選択して、右クリック→Transform→Applyを実行します。
実行できたら、Ctrl+Sでファイルを保存してNifskopeを閉じます。
これで読み込み準備は完了です。
Dummy.blendを開く
ToolsPack to work with Blender 2.7に付属しているDummy.blendを適当な作業フォルダにコピーしてBlenderで開きます。
Dummy.blendはダウンロードしたToolsPack to work with Blender 2.7を解凍したフォルダ配下の以下のパスにあります。
ToolsPack to work with Blender 2_7-62065-1-00\Animation Tools N4 – Mesh Animator\Example\Dummy.blend
Dummy.blendを開くとこんな画面が表示されます。
例として用意されているDummy_Modelは使わないので、オブジェクトモードで右クリックで選択→Xで削除します。
Armatureはこの後使うので誤って削除しないように注意しましょう。
nifファイルをインポートする
Dummy.blendに1stpersondwarvenwarhammer4blender.nifをインポートします。
インポート時の注意点として、今回に関してはScale Correction Importは「1.00」に設定しましょう。こうしておかないと後でアニメーション関連情報を出力する際に不具合が出てしまいます。
等倍でインポートしているので大きいですね。
結構説明を省略してしまっているので、nifファイルのインポート手順が不安な方はSkyrimMod作成Wikiを参考にしてください。
武器作成のチュートリアルでドワーフの戦鎚モデルを読み込んでいます。
前述の通りインポート時にScale Correction Importを「1.00」にする点だけ特殊ですので注意してください。
注意!
ToolsPack to work with Blender 2.7を使用して自作のモデルにアニメーションを付ける場合も個人的には一度nifファイルに出力したモデルを再度Blenderに読み込んで作業することをおすすめします。
Blenderからnifファイルに出力した際にメッシュの頂点数が変わると、Animation Tools N4 – Mesh Animatorで出力するウェイト情報を使えなくなってしまうためです。
ボーン設定、ウェイトペイント、アニメーション設定
Blenderの機能でボーンを入れてウェイトを塗り、アニメーションを作ります。
下準備
Armatureが読み込んだモデルで隠れてしまって見にくいので、設定を弄ります。
Armatureを選択して人形のメニューを選択。
DisplayのNames、Axes、X-Rayのチェックボックスをオンにします。
これでボーン名表示、編集モードでの座標系表示、モデルの透過表示が有効になります。
ついでに真っ黒になってしまったドワーフの戦鎚メッシュの表示方法を変えます。
ビューポート表示をソリッドに変更し、3Dビューの右側にあるプロパティシェルフでMatcapのチェックをオンにするとモデルが見やすくなります。
ボーンの設定
編集モードでボーンを押し出して作成していきます。
Eで押し出し、Gで移動、Rで回転、Sで拡大縮小のBlender基本操作がわかっていれば大丈夫だと思います。
注意!
元からあるControler_BASE、NPC Root [Root]の2つのボーンはボーンを編集する際に触らないようにしましょう。Bone_01は自由に編集してしまって問題ありません。削除してNPC Root [Root]から新しいボーンを押し出しても大丈夫です。
どんな風にアニメーションさせるかを考えつつ、ボーンを設定しましょう。
今回はハンマーの頭の部分を動かしたかったので、こんな感じでボーンを設定しました。
Blenderの操作方法を詳しく知りたい方はチュートリアルを探してみてください。
ポイント
後でアニメーション付けるときにボーンの名前はわかりやすい方が良いので、好みで編集しましょう。
ただし、Controller_BASEとNPC Root [Root]は変えないように注意。
ポイント
ボーンの接続を外してしまっても問題ありません。Connectedのチェックを外すとボーンの始点を自由に移動させることができます。
ウェイトペイント
作成したボーンをドワーフの戦鎚メッシュの親に設定し、ウェイトを塗っていきます。
ドワーフの戦鎚メッシュ→Armatureの順に選択し、Ctrl+P。
With Empty Groupを選択して親子関係設定とともに頂点グループを作成します。
こんな感じにウェイトを塗りました。
ウェイトペイントの手順が不安な方はBlenderのチュートリアルを探してみてください。
SkyrimMod作成Wikiの記事も参考になるかと思います。
アニメーションの設定
ボーンを設定できたので、アニメーションを作っていきます。
画面構成をアニメーション用のものに変更します。
Dummy.blendに元からあったBone_01を残した場合、サンプルのアニメーションが付いています。
私の場合はBone_01を残してBone_Rodにリネームしていたので、再生ボタンを押すとBone_Rodとドワーフの戦鎚メッシュが動きました。
不要なので、最初から付いているキーフレームは削除してしまいましょう。
今回は複数のアニメーション作成するので、アクションエディターを使ってアニメーションに名前をつけて管理します。
Newを押下して、新しいアクションを作成します。
名前は自由なので自分がわかりやすいものをつけましょう。
更にアクションを追加したい場合は+ボタンを押下します。
今回は5つのアニメーションを作りました。
- Idle:待機状態。
- Begin:抜刀時に再生するアニメーション。
- Loop:抜刀状態のアニメーション。繰り返し再生する。
- End:納刀時に再生するアニメーション。
- Attack:攻撃時に再生するアニメーション。
あとは各アクション毎に好きなアニメーションを設定していきます。この辺りの操作を全て書くと長くなってしまうので省略します。
詳しく知りたい方はBlenderのチュートリアルを探してみてください。SkyrimMod作成Wikiの記事もおすすめです。
アニメーションに関する情報を出力する
情報を出力する前に、メッシュの名前を変更します。
Blenderに読み込むときに使った1stpersondwarvenwarhammer4blender.nifのNiTriShapeブロックのNameに合わせ「1stPersonDwarvenWarhammer:0」に変更します。
注意!
この後出力するアニメーション関連情報にメッシュの名前が含まれます。
名前を一致させておかないと、nifファイルにアニメーションをくっつける際に失敗してしまうので注意してください。
一致してさえすればいいので、NiTriShapeブロックのNameを編集するのでもOKです。
ToolsPack to work with Blender 2.7に付属するスクリプトを使って、作成したアニメーション関連の情報をBlenderから出力します。
画面構成をスクリプト用のものに変更します。
Blenderのテキストエディタで実行するスクリプトファイルを開きます。
各スクリプトはダウンロードしたToolsPack to work with Blender 2.7を解凍したフォルダ配下の以下のパスにあります。
3ファイルとも開きましょう。
ToolsPack to work with Blender 2_7-62065-1-00.7z\Animation Tools N4 – Mesh Animator\02. Scripts\Script1 = Export Skeleton.txt
ToolsPack to work with Blender 2_7-62065-1-00.7z\Animation Tools N4 – Mesh Animator\02. Scripts\Script2 = Export Skin.txt
ToolsPack to work with Blender 2_7-62065-1-00.7z\Animation Tools N4 – Mesh Animator\02. Scripts\Script3 = Export Animation.txt
一度開いたファイルはBlender上で選択できるようになります。
1つずつスクリプトを選択して実行します。
注意!
Script3 = Export Animation.txtは、Armatureを選択した状態且つポーズモードで実行してください。
また、アニメーションの終了時間が正しくセットされているか確認しておきましょう。アニメーションの最後のキーフレームに合わせておかないとアニメーションが途中で途切れたりしてしまいます。
3つのスクリプトをそれぞれ実行すると、Blenderのインストールフォルダ(blender.exeと同じフォルダ)に3つのファイルが出力されます。
スクリプトと出力ファイルは以下の通り。
- Script1 = Export Skeleton.txt → Skeleton.txt:各ボーンの座標系。
- Script2 = Export Skin.txt → Weights.txt:ウェイトペイント情報
- Script3 = Export Animation.txt → zBoneKeys.txt:アニメーション情報
zBoneKeys.txtに含まれるアニメーション情報は、スクリプト実行時にアクションエディターで選択されているものになります。
アクションを切り替えつつ、Script3 = Export Animation.txtを繰り返し実行しましょう。
zBoneKeys.txtは上書きされないようにリネームして退避しておきます。
注意!
この記事を書いていて気づきましたが、Script3 = Export Animation.txtで拡大縮小するアニメーションを出力すると不具合がでます。拡大縮小するアニメーションを出力したい場合は、95行目の下に以下の1行を追加してください。
BoneCoordinates /= Bone.parent.scale.y
Pythonなのでインデントも画像のとおりになるようにしてください。
nifファイルに出力した情報を統合する
すべての情報を出力し終えたらnifファイルに統合していきます。
まずは下準備。
ToolsPack to work with Blender 2.7に付属しているDummy.nifを適当な作業フォルダにコピーしてNifskopeで開きます。
Dummy.nifはダウンロードしたToolsPack to work with Blender 2.7を解凍したフォルダ配下の以下のパスにあります。
ToolsPack to work with Blender 2_7-62065-1-00.7z\Animation Tools N4 – Mesh Animator\Example\Dummy.nif
赤枠のブロックは不要なので削除します。
先程Blenderに読み込んだ1stpersondwarvenwarhammer4blender.nifからDummy.nifに以下のようにブロックをコピーします。
更にBSLightShaderPropertyブロックのShader Flags1でSkinnedをオンにしておきます。
これを忘れるとゲーム内でアニメーションが再生されないので注意です。
ここまでで、下準備は完了です。
ToolsPack to work with Blender 2.7に付属しているBodyAnimator.exeを使用して、Dummy.nifに先程出力したアニメーション関連情報をくっつけていきます。
Dummy.nifと先ほどBlenderから出力したファイルをBodyAnimatior.exeと同じフォルダに配置します。
配置したらコマンドプロンプトを起動。BodyAnimator.exeが格納されているフォルダに移動して、以下のコマンドを実行します。BodyAnimator.exeで作成されるDummy_new.nifをリネームして退避しています。
後でゲーム内で確認しつつ、調整のために何度か出力し直すことになると思いますので、バッチファイルを作成しておくのをおすすめします。
BodyAnimator.exe Dummy.nif Skeleton.txt Weights.txt zBoneKeys_Begin.txt
move Dummy_new.nif Dummy_Begin.nif
BodyAnimator.exe Dummy.nif Skeleton.txt Weights.txt zBoneKeys_Loop.txt
move Dummy_new.nif Dummy_Loop.nif
BodyAnimator.exe Dummy.nif Skeleton.txt Weights.txt zBoneKeys_End.txt
move Dummy_new.nif Dummy_End.nif
BodyAnimator.exe Dummy.nif Skeleton.txt Weights.txt zBoneKeys_Idle.txt
move Dummy_new.nif Dummy_Idle.nif
BodyAnimator.exe Dummy.nif Skeleton.txt Weights.txt zBoneKeys_Attack.txt
move Dummy_new.nif Dummy_Attack.nif
処理が正常終了すると、BodyAnimator.exeと同じフォルダにアニメーション付きのnifファイルが作成されます。
すべてのアニメーション付きnifファイルの作成が完了したら、一つのファイルに統合します。
Dummy_Begin.nifをコピーし、統合用nifファイルDummy_Animation.nifを作成します。
Dummy_Animation.nifをNifskopeで開き、NiControllerSequenceブロックを選択、NameをSpecialIdleからBeginに変更します。
次に、Dummy_Loop.nifファイルをNifskopeで開き、NiControllerSequenceブロックをDummy_Animation.nifにコピーします。
コピーしたNiContorollerSequenceブロックのNameをSpecialIdleからLoopに変更します。
同様に他のnifファイルのNiContorollerSequenceブロックもDummy_Animation.nifにコピーしてNameをアニメーションの名前に変更します。
続いて、コピーしたNiContorollerSequenceブロックをNiControllerManagerブロックの配下に移動します。
NiControllerManagerブロックを選択してNum Controller Sequencesを1から5に変更。緑色の更新ボタンを押してController Sequencesの入力枠を増やします。
増えた入力枠に、先ほどコピーしたNiContorollerSequenceブロックの左側に表示されている番号を入力していきます。
これですべてのNiContorollerSequenceブロックがNiControllerManagerブロックの配下に移動しました。
結構派手にnifファイルを弄ったので、上部メニューのSpells→Sanitize→Reoder Blocksを実行しておきます。
ここまでの作業ですべてのアニメーションをDummy_Animation.nifに統合することができました。
Nifskopeでアニメーションを確認したい場合は上部メニューのPlay Animationボタンを押します。アニメーションの繰り返し、連続再生も可能です。
コリジョンが機能するようにnifファイルを編集する
作成したDummy_Animation.nifをゲームに持ち込んだ際、コリジョンが機能するようにnifファイルを編集しておきます。
一番最初に展開した1stpersondwarvenwarhammer.nifからDummy_Animation.nifへbhkCollisionObjectをコピーします。
BSFadeNode配下にコピーするようにしましょう。
続いて、ドワーフの戦鎚モデルのNiTriShapeをNinodeの外に出します。
手順はいくつかありますが、NiTriShapeをNonodeの外にコピーして、不要となったNiNodeブロックを階層ごと削除してしまうのが早いかと思います。
ブロックを階層ごと削除するときはCtrl+Delです。
修正が完了したらNifskopeでの作業は一段落です。忘れずに保存しておきましょう。
オリジナルBehaviorファイルを作成する
ゲーム内でアニメーションの再生を制御するBehaviorファイルを作成します。
アニメーション再生契機となるAnim Eventを決める
nifファイルに設定したアニメーションの再生契機となるAnim Eventを決めます。
Anim Event名はCKのGamePlay → Animations → 各アクターのツリー → Anim Eventで確認できる他、tktk先生が一部ブログにまとめてくれています。
ありがたい……!
おすすめリンク
今回は以下のAnim Eventを使うことにします。
- WeaponDraw:武器を抜くときに発生
- WeaponSheathe:武器を納めるときに発生
- weaponSwing:武器を振ったときに発生(通常攻撃、パワーアタックどちらでも発生します)
アニメーションの遷移イメージはこんな感じ。
endはAnim Event契機ではなく、アニメーションの再生が完了したタイミングで遷移することを意味しています。
Behaviorファイルを作成する
Behavior files creatorを使用してBahaviorファイルを作成します。
Behavior files creatorを解凍したフォルダに格納されているTestBehaviour.txtをコピーし、autoplaybehavior.txtを作成します。
先程の遷移イメージに合わせて、autoplaybehavior.txtをテキストエディタで編集しましょう。
[Begin]
[===Animation===]Idle
WeaponDraw Begin
[===Animation===]Begin
end Loop
[===Animation===]Loop
WeaponSheathe End
weaponSwing Attack
[===Animation===]End
end Idle
EndAnim [***]
[===Animation===]Attack
end Loop
[End]
ゲーム内では、まず[Begin]のすぐ下に記載されているIdleアニメーションの再生が開始され、その後左側に記載されているAnim Event名発生時、右側に記載されているアニメーションに遷移していくことになります。
Behavior files creatorを解凍したフォルダに格納されている_Create_One_.batに先程作成したautoplaybehavior.txtをドラッグアンドドロップすると、Behaviorファイルautoplaybehavior.hkxが出力されます。
LEでは_Create_One_.batをそのまま使用すれば問題ありませんが、SEとは互換性がないため、バッチファイルを修正しましょう。
_Create_One_.batをコピーして_Create_One_SE_.batを作成します。
_Create_One_SE_.batをテキストエディタで開き、以下の太字の箇所を修正して保存してください。
修正前
@echo off
BHVcreator.exe %~n1.txt -q
hkxcmd.exe convert -v:Win32 %~n1.xml %~n1.hkx
del %~n1.xml
pause
修正後
@echo off
BHVcreator.exe %~n1.txt -q
hkxcmd.exe convert -v:Amd64 %~n1.xml %~n1.hkx
del %~n1.xml
pause
_Create_One_SE_.batにautoplaybehavior.txtをドラッグアンドドロップすればSEで使用できるautoplaybehavior.hkxが出力されます。
NifskopeでBehaviorファイルを指定する
NifskopeでDummy_Animation.nifを開き、BSFadeNode配下にBSBehaviorGraphExtraDataブロックを挿入します。
BSFadeNodeを選択して右クリック。Block→Insert→Bethesda→BSBehaviorGraphExtraDataを選択。
挿入したBSBehaviorGraphExtraDataブロックを選択し、Behaviour Graph Fileに以下のパスを入力します。
data\meshes\weapons\dwarven\autoplay.hkx
このパスはどういう意味でしょうか?
data\meshes\weapons\dwarvenはスカイリムのインストールフォルダからの相対パスで、1stpersondwarvenwarhammer.nifが格納されているフォルダです。つまり、先程のパスは1stpersondwarvenwarhammer.nifと同じフォルダのautoplay.hkxを参照していることになります。
先程Behavior files creatorで作成したautoplaybehavior.hkxはここで指定しているautoplay.hkxとは別のファイルです。実はautoplaybehavior.hkxは単体では機能しません。
autoplaybehavior.hkxを動かすには、他に以下の3ファイルが必要となります。
meshes\genericbehaviors\autoplay.hkx
meshes\genericbehaviors\characterassets\singleboneskeleton.hkx
meshes\genericbehaviors\characters\autoplay\autoplaycharacter.hkx
BSA Browerを使ってバニラのSkyrim – Animations.bsaから以下のファイルを展開します。
機能させるにはautoplay.hkxの配置場所からの相対パスを維持する必要があるので、meshes\genericbehaviors\behaviors\autoplay\autoplaybehavior.hkxも一緒に選択して、Extract Foldersでフォルダ構成毎展開しておくと、便利かと思います。展開先はひとまず任意の作業フォルダでOKです。
ポイント
hkxファイルをxmlファイルに変換して中を覗いてみると、autoplay.hkxからcharacters\autoplay\autoplaycharacter.hkxが参照され、autoplaycharacter.hkxからcharacterassets\singleboneskeleton.hkxとbehaviors\autoplay\autoplaybehavior.hkxが参照されています。
アニメーションの遷移についての記載があるのはautoplaybehavior.hkxだけなので、今回のケースでは他ファイルはバニラのものをそのまま使えます。
nifファイルを変換する(LE版→SE版)
SSE Nif Optimizerを使い、以下の手順でDummy_Animation.nifをSE版メッシュに変換します。
- SSE NIF Optimizer.exeにDummy_Animation.nifをドラッグアンドドロップ。
- GUIが表示されるので右下のラジオボタンで「SSE」を選択して「Optimize」ボタンを押下。
ポイント
LE版で作業される方はnifファイルの変換は不要ですが、色々nifファイルを編集しているので、一度ツールを通しておいたほうが良いかも知れません。
バニラのドワーフの戦鎚と置き換える
アニメーションを確認するためにバニラのドワーフの戦鎚とメッシュを置き換えてみましょう。
Dummy_Animation.nifをリネームして、1stpersondwarvenwarhammer.nifとdwarvenwarhammer.nifを作成します。
どちらも同じファイルで問題ありません。
スカイリムのインストールフォルダからの相対パスで、以下のようにファイルを配置します。
hkxファイルはautoplaybehavior.hkxファイルのみBehavior files creatorで自作したもので、その他は先程展開したバニラのものです。
data\meshes\weapons\dwarven\1stpersondwarvenwarhammer.nif
data\meshes\weapons\dwarven\dwarvenwarhammer.nif
data\meshes\weapons\dwarven\autoplay.hkx
data\meshes\weapons\dwarven\characters\autoplay\autoplaycharacter.hkx
data\meshes\weapons\dwarven\characterassets\singleboneskeleton.hkx
data\meshes\weapons\dwarven\behaviors\autoplay\autoplaybehavior.hkx
ゲーム内で確認する
ファイルの配置が完了したらゲーム内で動作を確認してみましょう。
Nifskopeでは動作するのにゲーム内ではアニメーションが再生されない場合は以下を確認します。
- BSLightShaderPropertyブロックのShader Flags1でSkinnedオプションにチェックは入っているか
- nifファイルに設定したBehaviour Graph Fileのパスは正しいか
- behaviorファイルのフォルダ構成は適切か
- Anim Event名は正しいか
後は納得いくまでアニメーションを調整するだけです。
アニメーションの長さは最終的にはゲーム内で確認しながら調整していきましょう。無闇に長く設定すると想定外の遷移をしてしまうので注意です。
最後に
アニメーション付きの武器を作成する過程で、tktkさんにご助力を頂きました。改めて感謝申し上げます。