Iceモナカ公国 2024/02/06 18:23

SpriteStudio でアニメ制作テスト - 制作編

前回の記事で SpriteStudio のインストールは完了した。
今回は制作に取り掛かる。

制作環境
SpriteStudio Ver7.1.2
PC:Surface GO (mem 8GB)

※SpriteStudio での制作詳細は目次の後に。


完成したテスト動画
こういうのが完成した。
頑張った所が黒塗りになってしまって…極めて残念だ…
全体的にもう少し大きく動かした方がよかったかな。
乳房がボヨンボヨンできるか試したかったが、胸が無かったわ。

感想
SpriteStudio は UIはかなり独特で、デザインツールの標準的な操作とかけ離れていたり、一般的な感覚とは違う動作をしたりする。
その癖や覚えにくさは克服しなければならない。

また UIの小さな不具合がそれなりにあり、うまく行かずに悩む場面も多いと思われる。
私も遭遇した問題には対処法等を記述した。(自分の備忘の為に)

まだ私の思い描いたアニメが作成できるかは分からない。
もう少し実験してみるつもりだ。


制作開始

とりあえず「何か制作して動画で出力してみる」を目標に定める。
現在は SpriteStudio Ver7 だが、この最新版でのチュートリアルが少ない…というか無い。ほぼ変わらないということか?

以下、参考にしたサイト
公式サイト
https://www.webtech.co.jp/help/ja/spritestudio7/
サンプルデータ(実際の作りが分かる。大いに参考にした)
https://www.webtech.co.jp/help/ja/spritestudio/download/sample/
さらえみさん:OPTPiX SpriteStudioでキャラクターイラストを動かしてみた
https://saraemi.com/2112spstudio-making/



プロジェクト作成

まずはプロジェクトを作成する。

プロジェクトファイルを作成

ファイル > 新規プロジェクト でプロジェクトファイルを作成。
(画面左上のプロジェクトウィンドウに表示される)

互換性の設定

プロジェクトを作成したら、互換性を確認する。
プロジェクト > プロジェクト設定 > 一般:互換性

再生対象プラットフォーム」を設定。
ゲームでSDKで再生する場合は再生対象プラットフォームを設定。
動画再生の場合は「デフォルト」を選択。



セルマップ作成

画像を動かす部位ごとに分けてセルマップを作成する。

画像を用意

部位ごとに切り取りやすいように分けた画像を用意する。
とりあえずこんな感じで。(一部黒塗り)

画像サイズは 512, 1024, 2048等の正方形。透明を記録できるPNGで保存。
(Photoshop用に自動ツールが用意されているが、私はクリスタなので自力で作成)

セルマップファイルを作成

プロジェクトウィンドウの「セルマップ」を右クリック > 新規作成
先の画像を選択して、セルマップファイル(.ssce)を作成する。

セルの作成

セルマップウィンドウ(画面中央上ウィンドウ「セルマップ」タブ選択)で矩形に囲って、囲った中をダブルクリックでセル登録する。(画面左下のセルリストに表示)
セル編集ウィンドウが開くので、問題なければ閉じる。



アニメーションの作成

アニメーションさせる前に、アニメーションファイルの作成と 動かすパーツのセットアップを行う。

アニメーションファイルを作成

プロジェクトウィンドウの「アニメーション」を右クリック > 新規作成
でアニメーションファイル(.ssae)を作成する。

セットアップ

プロジェクトウィンドウでアニメーションの Setup を選択すると編集できる。
レイアウトウィンドウ(画面中央上ウィンドウ「レイアウト」タブ選択)の
基準枠 が赤くなる。

基準枠サイズは適当でよい。(パーツ配置の目安に使用する)
基準枠サイズはレイアウト情報ウィンドウ(画面右ウィンドウ「レイアウト情報」タブ選択)で設定する。

パーツ登録

セルリストからレイアウトウィンドウへ セル をドラッグドロップしてパーツ登録する。
フレームコントロールウィンドウ(画面中央下ウィンドウ「フレームコントロール」タブ選択)に登録パーツが表示される。

親子関係設定

フレームコントロールウィンドウでパーツ名をドラッグドロップして親子関係を構築する。
今回、body > face > hair を親子にした。

表示順序調整

パーツの表示順序は以下で決まる
1:アトリビュートの優先度(高い値が前)
2:フレームコントロールでの並び順(下の方が前)

表示の優先が正しくない場合、アトリビュートウィンドウ(画面右ウィンドウ「アトリビュート」タブ選択)の 優先度 で調整する。

基本配置設定

基本の位置・回転・スケールを設定。
表示:ギズモ」(画像の赤丸)を使用すると操作しやすい。


これでセットアップは完了。

アニメーションの編集

編集するアニメーションを選択し、キーを打って動かすことでアニメーションさせる。
プロジェクトウィンドウの「アニメーション」で設定するアニメーションを選択。

基準枠、再生時間、fpsを設定

ここでも 基準枠 を設定する。(あくまで目安として使用)
フレームコントロールで フレーム数fps を設定する。
fps は1秒間の再生フレーム数である。(ゲームだと概ね30らしい)
フレーム数 は、例えば2秒のアニメを作りたい場合 2秒 × fps30 = 60フレーム必要。(※便宜上+1して61)
フレーム数を設定時「キーフレームの位置を調整しますか?」で「いいえ」を押すとキーは変化せずフレーム数のみ設定できる。

キーを打つ

動かしたいパーツのキーを打ちたいフレームを選択しダブルクリックでキーを打つ。
(※アトリビュートの値を変えると自動でキーが打たれる)
Setupの配置でキーを打ちたい場合は、右クリック「Setupからキー作成」を使う。

アトリビュートで変化する項目毎に補間方法を設定できるが、
面倒なので全項目一度に設定する、キーを右クリック「補間方法を変更」を使う。
(カーブエディタも使えるが、まだ良く分かっていない&意外と面倒なので割愛)

再生して動きを確認。
キーを前後に移すにはドラッグドロップでOK。

キーを打っても反映されない

まれにキーの打ち方の問題か編集した値が反映されない場合がある。
アトリビュートの項目の●が青くなっているか確認する。灰色のままならクリックして青くすると反映される。



メッシュ・ボーンを使ったアニメーション

体を ボーン を使って制御するように変更する。
ボーンで制御するにはセルをメッシュ化し、
頂点ごとにボーンへの追従割合を設定する必要がある。

セルのメッシュ化

セルリストから セル を選んで右クリック「メッシュ編集
これでセルをメッシュ化できる。(セルリストにメッシュと表示される)

メッシュ編集ウィンドウ


最初はオートモードで自動メッシュが表示されている。
オートモード(表示:オート)

自動でメッシュを形成できる。
「オート:粗さ」の数値を操作して「適用」で決定。
以降はマニュアルモードに移行する。

マニュアルモード(表示:マニュアル)

手動でメッシュを形成できる。
ここでは外側の点を 頂点 、中にある点を 分割点 と呼んでいる。
頂点や分割点を追加するにはこのモードで行う。

範囲選択モード(表示:範囲選択)

点を編集するのに便利。
点を選択して移動や右クリック「削除」等の編集ができる。
Ctrl を押しながら点を選択すると選択の追加ができる。
複数の点を選択すると「ツール」や「拡大縮小」が使える。

編集が終わったらウィンドウを閉じる。

通常パーツのメッシュパーツ化

faceセルをメッシュ化しても、faceパーツは通常パーツのままである。
パーツのアトリビュート「パーツ情報:パーツ種別」を通常からメッシュに変えるとメッシュパーツに変更できる。
(恐らくSetupモードで行った方がよい)

ジョイントとボーン追加

ボーンを使用するにはジョイントが必要になる。
Setup画面にした後、(これをせずに追加したボーンが正しく表示されなかった)
フレームコントロールでジョイントを追加、子にメッシュボーンを追加。

レイアウトウィンドウの「表示:ボーンパーツ」でボーンが表示され「表示:フォーカス枠」でボーンの回転用操作子が表示される。
(ボーンの長さと回転の操作子が被った場合、ズームインアウトで解消できる)

コンストレイントパーツ

公式にコンストレイントパーツを説明している記述がなさそう…
パーツ情報を見ると、IKの影響範囲と曲がる方向を指定できる。
IKで膝が逆に曲がるのを防ぐのに使用するとか。

ボーンポイントパーツ

公式にボーンポイントパーツを説明している記述はなさそう…
散見される記述では、ボーンの子にのみ作成でき、座標取得等に使ってとの事。
NULLパーツをボーン専用にした様なものか?(パーツ情報もNULLと大差ない)
ボーンポイントはレイアウトウィンドウに「×」が表示され、ボーンの非表示で表示制御できるのでNULLより便利。

ウエイト設定

ウエイトとはボーンの動きにメッシュをどれだけ追従させるかの割合。
レイアウトウィンドウでSetup画面にして「表示:ウエイト表示」をONに。
初期状態はメッシュは真っ黒(ウエイト設定なし)。
設定するメッシュパーツを選択し「ウエイト:ウエイト再設定」を押すと近くのボーンのウエイトが自動設定される。
(※「ウエイト:ウエイト編集」はウエイト設定をしてからでないと行えない)

ウエイト編集

ボーンを動かしてメッシュが変に動く場合は ウエイト編集 する。
Setup画面にして編集するメッシュパーツを選択し「ウエイト:ウエイト編集」でウエイト編集ウィンドウが出る。
まず編集する点を選択する。Ctrlで追加選択。Shift+ドラッグで範囲選択できる。
選択するとボーンごとのウエイトが表示される。


faceメッシュは bone_3 のみで制御したいので「数値入力」を選択し、bone_3 以外のチェックを外して「ウエイト再設定」を押す。
これで選択ボーンのみのウエイトが設定される。
他にも「ブラシペイント」による編集などもある。

ボーンをアニメーション

ウエイト設定後は、ボーンを動かすとメッシュがウエイト分動く。
IKを使用してボーンを動かす事もできる。(その他:IKの項目で解説)

メッシュのデフォーム(変形)アニメーション

メッシュを頂点単位で変形することが可能。
レイアウトウィンドウで「編集:デフォーム編集」にする。
変形したいメッシュパーツのフレームを選択してデフォームする。
変形を戻したい場合はアトリビュート「高度な機能:デフォーム」の「リセット」を行う。
(※上手くアニメしない場合、アトリビュート「高度な機能:デフォーム」の●が青いか確認)




マスク機能

今回の製作には使用しないが、表示物の一部分を非表示にするマスクが使える。

互換性を確認

プロジェクト > プロジェクト設定 > 一般:互換性
拡張機能の有効:マスク機能を使用する」が有効か確認。

マスクパーツの作成

通常パーツと同じようにマスクにするセルをSetup画面に追加する。
レイアウトウィンドウの「表示:マスクの有効化」がONになっているか確認。
パーツのアトリビュート「パーツ情報:パーツ種別」を「マスク」に変えるとマスクパーツになる。
(※マスクから通常パーツに戻すのもここを変えるだけでOK)

マスクパーツの強度設定

マスクパーツのアトリビュート「高度な機能:マスク強度」を255に設定する。
強度+画像α値が256以上ならマスクされる。
簡単に言うと、強度255ならマスクされ、0ならマスクされない。

パーツをマスクさせるための設定を行う

各パーツがマスクされるかは、アトリビュート「パーツ情報:マスク対象」と「優先度」で決まる。
マスク対象」がチェックされており、「優先度」がマスクパーツの優先度以下ならマスクされる。

その他に

マスクパーツの重ね掛け

マスクパーツを重ねた場合、マスクパーツの「マスク対象」チェックによって効果が変わる。
マスク対象チェックあり:重なった部分はマスクの打ち消し、つまりマスクされない。
マスク対象チェックなし:重なった部分もマスクされる。

マスクパーツを可視化したい

レイアウトウィンドウの「表示:マスクの有効化」をON/OFFする。



インスタンス機能

インスタンスは別のアニメを呼び出して配置できるパーツ。
群衆などはアニメを1つ作って、それをインスタンスで複製すると良いらしい。

インスタンスパーツ作成

インスタンス設定先アニメーションのSetupを選択する。
(※Setupで行うのが一番問題が少ない)
インスタンスリスト(左下ウィンドウ「インスタンスリスト」タブ選択)から「インスタンス」をレイアウトウィンドウにドラッグドロップ。
(※インスタンスリストに何もない場合は、別のアニメーションが無い状態)

再生設定

インスタンスパーツにキーを打つと再生設定が行える。
アトリビュート「高度な機能:インスタンス」の「編集」を押す。
再生区間や再生速度、再生回数等が設定できる。
(フレームコントロールに再生される区間が[ ]で表示される)

元アニメのフレームにラベルを設定すると、再生区間をラベルで指定できる。
元アニメを修正すると、インスタンスパーツにも即座に反映される。
(※元アニメに飛ぶのに便利なアイコンボタンがフレームコントロールにある)

思い通りに表示されない場合

インスタンスにはUI的に細かな不具合が存在する。
必ず0フレームから[ ]が表示される。
表示されない場合、アトリビュート「非表示」の●を青にして、表示状態に設定すると改善するかも。
アニメしない場合、キーをドラッグ移動しても[ ]が付いてこない場合、アトリビュート「高度な機能:インスタンス」の●を青にすると改善するかも。



シーケンス機能

シーケンスは一連のアニメーションをまとめて再生するデータ。
(※アニメ映像制作では使わないかも)

シーケンスファイル作成

プロジェクトウィンドウの「シーケンス」を右クリック > 新規作成
でシーケンスファイル(.ssqe)を作成する。

シーケンスの編集

プロジェクトウィンドウのシーケンスデータを右クリック > 編集
シーケンスエディタが開くので「追加」で再生するアニメーションとループ回数を設定してOKを押す。
リストの上から再生されるので、再生順を整えたらOKを押してエディタを閉じる。
フレームコントロールに設定されたアニメが表示される。

シーケンスの再生

プロジェクトウィンドウのシーケンスデータを選択。
フレームコントロールで再生ボタンを押す。


シェイプ機能

シェイプは画像なしに矩形パーツを作れる機能。
シェイプはマスクにも使用出来る。
場面転換のフェードイン・アウトに使えそう。

シェイプは「名前の変更」したりアトリビュート変えたりで表示されたり消えたりと
まだちょっと動作が不安定か?

互換性の確認

プロジェクト > プロジェクト設定 > 一般:互換性
拡張機能の有効:シェイプ機能を使用する」が有効か確認。

シェイプの作成

Setup画面にする必要があるかわからないが、念のためSetup画面にする。
フレームコントロールのアイコン「シェイプパーツの追加」をクリックで矩形が表示される。
アトリビュート「サイズ」でシェイプ矩形のサイズを設定できる。

その他に

マスクに使用する

互換性で「マスク機能を使用する」が有効か確認。
アトリビュート「パーツ情報:シェイプ情報:マスク」をチェック。
アトリビュート「高度な機能:マスク強度」を255に設定。(0だとマスク無効)

フェードイン・アウトに使用する

シェイプを描画面全体を覆うサイズに設定。
「優先度」を最前面に(1000とか大きい値に)。
「パーツカラー」を単色で設定してミックスに。
後は「不透明度」にキーを打ってフェードイン・アウトを実現。



エフェクト機能、サウンド機能、テキスト機能

SpriteStudio にはエフェクト機能がある。
これは他の2Dアニメツールには無い機能(だと思う)。
今回はちょっと面倒そうだったので使用しなかったが、何れ解説しようと思う。

他にはサウンドが埋め込めたり、テキストを表示できたりする。



その他

IKで動かす

パーツを選択してALTキーを押しながら動かすとIKで動く。
(※IKというとボーンパーツしか使えない印象があるが、他のパーツでも使用可)
先端にNULLパーツを付け、それを選択して動かすと良いらしい。

レイアウトの「設定:パーツIKの影響リンク数を変更」で影響範囲を設定出来る。
メッシュパーツならコンストレイントパーツを使えるらしい。

ギズモで操作しやすく

レイアウトの「編集:ギズモ」でギズモを出すことができる。
ギズモは小さなパーツの移動・回転・拡縮を行うのに便利。

パーツの移動パスを表示

レイアウトの「表示:移動パス表示」でパーツの移動軌跡が表示される。



制作完了

とりあえずアニメーションが作成できた。
作成したアニメーションを動画で出力する。

動画出力

プロジェクトウィンドウ の アニメーションデータ を右クリックで「レンダリング」をクリック。(シーケンスデータでもレンダリング可)
ウィンドウが出るので出力形式を MP4に(※ビットレートはそのまま)で出力。

隠ぺい処理問題

エロアニメの場合は「誠に残念ながら」制作後にモザイクをかける必要があるが、今回は元画像を黒塗りで対応した。今後の課題だ。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索