本当はUE4とJenkinsの連携を記事にしようかなと思っていましたがお仕事やプライベートが思っていた以上に忙しくなりあまり進捗がなかったので書くのを断念しました。
申し訳ありません・・・・・・
またアドベントカレンダー遅刻して大変申し訳ございませんでした。
仕事でUE4上でSpriteStudioを使う機会があったので導入方法とかを簡単に書いてみました。
##プラグインの導入
まず公式のGutHubからプラグインを落としてきます。
UE4用プラグイン
※必ずブランチのタグから自分のUE4のバージョンに対応したものを選択して落としてきてください
落としたらファイルを解凍して中にある
\SS6PlayerForUnrealEngine4-master\Ss6PlayerExamples
直下にあるPluginsを自分のプロジェクト直下(contentフォルダとかがある場所)にコピペしてください
その状態で再度UE4を起動し、編集タブからプラグインを選択しSpriteStudio6のプラグインがあるかチェックしてください。
これでプラグインの導入は完了です。
##SSPJファイルのインポート
インポート自体はずごく簡単でSSPJファイルをコンテンツブラウザ上にドラッグ&ドロップするだけです。
コンテンツブラウザのインポートボタンからも可能です。
インポートしたSSPJファイルをダブルクリックするとViewerを起動することができます。
AnimPackでアニメーションのパックを選択して隣のAnimationから再生したいアニメーションを選択することで実際のアニメーションを確認できます。
##実際に表示してみる
次は実際に表示してみましょう。
こんな感じでパーツを配置してます。
ボタンでアニメーションの切り替え、ポーズができるようにしてます。
SpriteStudioのウィジェットは「SsPlayerWidget」と検索で入力すると出てきます。
パーツを配置した後に
・詳細の中のSpriteStudioAssetでSSPJファイルを選択できます。
・SpriteStudioPlaySettingsで再生するアニメーションパック(AutoPlayAnimPackName)、アニメーション(AutoPlayAnimationName)を設定できます。インデックスでも指定できます。
ブループリントはこんな感じで組んでみました。
GetNumAnimPacksでSSPJファイル内のアニメーションパックの総数を取得できます。
PlayByIndexでアニメーションパック、アニメーションのインデックスを指定してアニメーションを再生できます。
Playノードを使ってアニメーションパック名、アニメーション名を指定しての再生もできます。
changeEffect関数とそんなに変わらないです。
GetNumAnimationsbyIndexノードで指定したアニメーションパック内のアニメーション数を取得できます。
再生方法は変わらないです。
PauseAnim関数
ポーズ用の関数です。
IsPlayingノードでアニメーションが再生中か取得できます。
再生中ならPauseノードでアニメーション停止、停止中ならResumeノードで再生という感じです。
再生するとこんな感じになると思います。
サクッと pic.twitter.com/4oqzshNapd
— フミッツ (@fumittu) April 29, 2020
公式からプラグインが用意されているので結構簡単にUE4上でSpriteStudioのアニメーションを再生させることができます。
他にもいろいろなノードが用意されているので是非試してみていただけたらと思います。
##参考にさせていただいたサイト
公式チュートリアル