Unityから透過PNGにする方法

Blender

商品紹介やポートフォリオなんかに使う時の画像を作ります。
思ったよりムズイ…というか情報が見つけられず。
こんな感じで合ってるかなーとまとめたメモです。

作りたい画像

こんな感じです。
前、後ろ、表情差分何個か。

↑このモデルはliltoonシェーダーが関係ないので
UnityではなくBlenderのほうで書き出しました。
というわけで割と簡単にできました。

一方↑こっちのモデルは、ガッツリliltoonシェーダーなので
Unityで書き出しが必要。

VRChatで、前と後ろと横の写真が撮れるワールドがあるそうです。
簡単にしたい人はそれでもいいかも。

Blenderでポーズアニメーションを作る

Blenderで、完成したファイルをサムネイル用に複製
ポーズモードにした後、「Animation」タブ、「ドープシート」「アクション」で
アニメーションさせたいボーン(または全部?)を選択して
「ポーズアセットを作成」を押す。
ボーンを動かしてキーフレームを打つ。(Iキー)

シェイプキーも動かして、「I」でキーフレームを打つ。
シェイプキーは「アクション」ではなく「シェイプキーエディター」に表示される。

「ドープシート」ではなく「タイムライン」にして、「ビュー」から
「選択したチャンネルのキーフレームのみ」のチェックを外すと
シェイプキーとボーンのキーフレームが同時に表示される。

「アクション」の「新規アクション」で複数作れる。
前後用のポーズと、表情が変わるやつの2つを作っておく。

プロパティ」→「出力プロパティ」でフレームレートを決める。(30とか?)


FBXで書き出す。

今回使わないけど、スムージングは「面」がいいらしい

Unityに持ち込む

FBXファイルを普通にインポートし、アニメーションファイルだけを使う。
FBXファイルを開くとアニメーションが色々出てくる。
何で色々出てくるんだろう?

ここで「プロジェクト」から「作成」→「タイムライン」
新規にタイムラインを作る。ヒエラルキーにドロップする。
開いたタイムラインにFBXのアニメーションをドロップし、更にモデルを入れる。

タイムラインをAssetsから選ぶことでフレームレートを変更できる。Blenderのfpsと合わせる。

カメラの設定をする

フラグを消去→ソリッドカラー
背景→色を透明にする
有効視野を60→20くらいに

ゲームウインドウの左上から書き出しサイズを変更。

ちなみに、空のオブジェクトを作ってモデルの中心に置き、カメラを子にすることで
回転、上下左右移動→空のオブジェクト ズーム→カメラのローカル移動
にするとやりやすいです。

注意点

VRChatの機能と少し相性が悪い気がする。
VRC Avatar Descriptorと、必要あればPhys Boneを切る(揺れも切れるけど)
FBXの設定のヒューマノイドだとうまく動かない時はジェネリックにする

追記:アニメーションのFBXを、元のFBXと同じ設定(ヒューマノイド・ジェネリック)にすると直る

アンチエイリアスをかける場合、カメラにPost-process Layer
を追加するらしいが、残像が残るので使えないかな?
→下記のRecorderのFPSをタイムラインのFPSに合わせれば多分直る?

Recorder

Recorderというパッケージをパッケージマネージャーから入れて、
ウインドウ→一般→Recorderから起動

こんな設定にする。アルファにチェック

三角ボタンを押して書き出す。
ゲーム画面が再生になっていれば書き出される。(一時停止になってたら再生押す)
自分で止めないと永遠に書き出しづつける気がする…。

追記:File Nameに<Frame>を入れなければ、1枚だけ出力される。

こんなかんじで。

カメラを複製、背中からの位置にして、他の使用しないカメラは切る。もう1回録画。

透過PNG化完成

背景透過画像が書き出される!あとは他のソフトで並べて背景を整えたらOKです。


ひとまず完成!

ここまで見て頂きありがとうございました。

追記:アニメーションファイルがUnityに入らない…

Blenderのアクションでキーフレームを作成します。

書き出し方法は

これです。
ボーンだけ書き出さずに色々まぜたFBXにすると、
UnityでFBXの設定を「ヒューマノイド」にしたときにアニメーションが消失する
という現象になる??のでなるべくボーンとかアニメだけ書き出します。

Unityに読み込んだら、FBXの設定を「ヒューマノイド」にします。

ヒューマノイドにしたFBXから、アニメーションファイルをコピーします。
コピーすると編集できるようになります。

何回やってもできないときは上書きが原因かもしれないので
1回Unity側で削除してもう1回インポートします。

あとMA使ってる場合は、モデルを右クリックしてMAをベイクして、そのベイクしたモデルを使います。


これでポーズを取ることができます。

Unityのタイムラインからアニメーションタブを開いたら、そこで鍵マークを押してロック、
録画マークを押しながら、ヒエラルキーでボーンを選んでポーズをつけます。
録画押さないとTポーズに戻っちゃいます。

しかしヒューマノイド設定だと首から上を編集することができない?
録画することができない?
のでアニメーション内のパラメーターをいじる?

アニメーターのAvatarは元のやつをセットしておきます

首から上は動かせないようです
ふぉぉどうすれば…

まだ謎が多い……

これも後で見てみます。

コメント

タイトルとURLをコピーしました