【Unity】アニメ作ったことないけど3日間でアニメ作った話

3月9日にTwitterに投稿したショートアニメの制作に関するお話です。

※[こちらのTwitter動画](https://twitter.com/Maron_Vtuber/status/1236990119472594946?s=20)です

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">3月9日なのでエモいショートアニメを作りました。<br><br>ボイスは巳ノ瀬かなでさん(<a href="https://twitter.com/minose_kanade?ref_src=twsrc%5Etfw">@minose_kanade</a> )<br>歌は星乃めぐりさん(<a href="https://twitter.com/hoshi_no_meguri?ref_src=twsrc%5Etfw">@hoshi_no_meguri</a> )<br><br>(詳細はリプへ続く) <a href="https://t.co/xBMTTS6lN1">pic.twitter.com/xBMTTS6lN1</a></p>&mdash; 八ツ橋まろん🌰VirtualMarket4Staff🌰Vケット4運営 (@Maron_Vtuber) <a href="https://twitter.com/Maron_Vtuber/status/1236990119472594946?ref_src=twsrc%5Etfw">March 9, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



>Unityでの3Dの映像制作で使ったものや、スピードアップを図ったことなどを書いていきます。3日間でアニメ制作とかいうふざけた日程での制作工程を綴ります。

##企画概要
**3月9日といえば、レミオロメンの「3月9日」ですよね。**「1リットルの涙」のドラマの挿入歌で、その後は卒業シーズンなどのエモい場面で聞くことが多い曲です。ということで、**「3月9日に合わせてエモいショートアニメTwitterに流したら超エモくね？」**という安直かつ軽率な思考の下、3月6日のお昼頃にこの企画はスタートしました。




##仕様決め　
**30分くらいで構想を練り、動画の概要を以下のように設定しました**

 - 1分程度の動画（映画のトレーラー的なやつ）
 - 3Dアニメにする(登場キャラは1体)
 - 3月9日をBGMとして使う
 - 前半は「エモい手紙を朗読する」シーン
 - 後半は「アニメの世界観を提示する」シーン

**さらに30分ほど考えて、アニメ本編の世界観を設定しました**


 - 卒業式の日に少女が別世界に飛ばされる
 - 別世界は見知らぬ学校で、人も虫も動物もおらず、敷地外には出られない
 - 学校に電気や水道は通っていて、非常食や調理室の冷蔵庫などに多少の食料がある
 - 元の世界に帰る方法を探していると、青いポストと手紙を見つける
 - 理屈はわからないが、どうやら手紙を投函すると翌朝に返事が返ってくるようだ
 - このアニメは、少女が別世界から帰還するために試行錯誤するお話

**この設定を使ってショートアニメの内容を以下のように作りこみました**

 - 前半は、少女が別世界に来て1か月が経ったときに出した手紙を朗読する
 - 後半は、劇中のセリフを詰め込むことにする
 - 「誰か助けて、、、」で終わらせる



##声優募集
アニメ作るなら声を募集しようかなって思ってTwitterでゆるーく募集かけました。知り合いが1人か2人くらい声をかけてくれることを期待していましたが、なんと総勢22名もの方が応募してくださいました。いろいろ悩んだ結果、今回は[巳ノ瀬かなで](https://twitter.com/minose_kanade)さんにお願いしました。


##BGM募集
3月9日をBGMとして流したかったのですが、歌付きでBGMとして使って良い音源って転がってないのでTwitterで募集したら、[星乃めぐり](https://twitter.com/hoshi_no_meguri)さんが提供してくださいました。

##Unityでの作業①：環境&3Dモデル選択とセットアップ
やっとこさUnityでの作業です。今回の制作に関する制限や願望は以下です。

 1. とにかく時間がない
 2. でも見た目のクオリティは下げたくない
 3. 卒業式感を出す(前半のブラフ強化のため)
 
1 が最もネックですが、それ故に選択肢が少ないため取捨選択は早かったです。
**(全て買ったアセットのみでシンプルに作る、アニメーションはモーションキャプチャで作る、モーションの修正をしない等)**

お手軽に 2 を実現するため、今回は**Unity2019.2.17 HDRP**を使いました。HDRPでは高品質なグラフィックが簡単にできるため、映像制作にもってこいだと思います。

そして 3 のために、**背景用アセットと女の子の3Dモデルを購入。**背景用にはアセットストアで学校([Snaps Art HD School](https://assetstore.unity.com/packages/templates/packs/snaps-art-hd-school-158106))を、女の子はBoothで[かなちゃん](https://booth.pm/ja/items/1582724)を購入して使いました。


かなちゃんはシェーダーにUTS2.0を指定しておりHDRP対応はしていないため、HDRPで使えるトゥーンシェーダーを使って可愛くみえるようにセットアップします。今回は**[IsuzuToonShader](https://booth.pm/ja/items/1705179)のHDRP用のものを使いました。**
~~(ちなみに、HDRP用のビルトインシェーダーを使ってもいいですが、アニメ調のキャラはやはりトゥーンシェーダーの方がしっくりきます)~~
HDRP/Lit シェーダーでも適切に設定することで良いルックを作ることができます。[参考例こちら](https://youtu.be/jdKMPPDXg_I)(2021年3月追記)


また、DynamicBoneで髪とスカートの揺れを設定し、スカートは脚が貫通しないようにDynamicBoneColliderを設定しました。(DynamicBoneColliderの調整難しい。。。)

(↓↓このシーンのスカートが貫通しないように調整した)
![qiita2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478685/1724dbf0-fcab-dc67-8ef6-d6ae8b8486a8.png)



##Unityでの作業②：カット毎にオブジェクトを分ける
作業を効率よく行うためにとても大事な作業です。
撮影は主にTimelineとCinemachineを使って行いますが、ショートアニメながら多くのカメラワークやアニメーションが必要になります。**カット毎にCinemachineのバーチャルカメラが都度必要 & 3Dモデルとアニメーションも必要 & ポストプロセスも必要**なため、カット毎(今回は歌詞ごと)にフォルダ分けをします。

🌟Hierarchyを歌詞ごとに分ける。空のゲームオブジェクトでフォルダ分けするような感じ
![qiita3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478685/164683e0-003d-604c-aca3-f4247a58149f.png)


🌟TimelineのTrack Groupをを歌詞ごとに作る。中身は上でフォルダ分けしたゲームオブジェクトのアクティブ制御とモデルのアニメーション、Cinemachineのカメラです。
![qiita4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478685/71af0bee-3c1d-5f9e-4453-386e322c95c8.png)


🌟大量のポストプロセス設定
カット毎に微妙に調整が必要なのでカット毎に作ります(特に被写界深度)。オーソドックスな設定を作って複製しておくと良いです。
![qiita5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478685/bbb3a003-48c0-18a7-1cae-ec2fb9d0b23a.png)



##Unityでの作業③：カメラワークの作成
カット毎に構図を考え、モデルとカメラを配置します。モデルは適当な静止モーションを適用して仮置きしておきます。カット毎のポストプロセスもここで調整します。


##Unityでの作業④：モーションの作成

アニメのモーションをキーフレームの手打ちでやっていては時間が全く足りないので、モーションキャプチャで自分の動きを収録しました。使ったのは[VR Motion Recorder](https://www.pixiv.net/fanbox/creator/16717003/post/643893)です。「HTC Viveとトラッカーで自宅で簡単モーション収録」な環境が揃っているのでとても時間短縮になります。ここでは全身+ゆびのモーションを取り、表情と口パクのみ後から手付けしています。

(↓↓VR Motion Recorderを入れたUnity。HDRP対応はしていないので通常のUnity2017以降で使用)
![note1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478685/8d4ff714-3fc3-5568-60d4-a9984aba8731.png)


##Unityでの作業⑤：モーションの修正
時間の都合によりすべてのモーションを修正なしにしました。また、修正しなくてもさほど気にならない部分のみ映すなどして回避しています。もしモーションの修正をするならU Motion Proがおすすめです。


##Unityでの作業⑥：FPS変更
よりアニメっぽくするために、キャラクターが動くシーンはFPSを下げて10FPSで撮影しています。FPSを下げるのは以下のコード(参考：[Unity fpsを変更する](https://sleepygamersmemo.blogspot.com/2017/05/unity-fixed-frame-rate.html))

```c#:SetFrameRate.cs
using UnityEngine;

public class SetFrameRate : MonoBehaviour {
 
   public int targetFrameRate = 10;
   void Awake() {
      if(targetFrameRate > 0) {
      QualitySettings.vSyncCount = 0;
      Application.targetFrameRate = targetFrameRate;
      }
   }
}
```


##Unityでの作業⑦：録画
~~UnityRecorderを使いたいところでしたが、HDRPで使えなかったため(なぜ？)Game画面を最大化して、OBSのウインドウキャプチャで撮りました。Twitter動画なのでまぁ、ヨシ。
※追記：HDRPでUniry Recorderを使う場合はドロップダウンメニューでGame Viewを指定してやる必要があるそうです。使い方の問題だった。~~
現在はUnityRecorderきちんと使えます。(2021年3月追記)

##動画編集ソフトでの作業：音声の調整と動画の切り貼り
Unityで一気に撮影してしまい、動画編集ソフト側で映像と音のカット&配置作業をします。
これにて動画の完成です。


##あとがき
Unityでスピーディに作業するには環境構築がとっても大事だとわかりました。
空のゲームオブジェクトを使って疑似的にフォルダ分けすることで、**今どのカットを編集しているのかを迷わなくなります。**個人的には、**「あとはカメラワーク作ればOK」**とか、**「あとはモーション撮ればOK」**というように、都度やることを1つだけにすることで迷わず作業ができました。

あと、**HDRPはとても手軽にビジュアルアップになるのでおすすめです。**(既存のシェーダーが全て使えないため、対応していない3Dモデルは全て1からセットアップが必要ですが)

**Twitterでの募集はとても有効**。声の応募が多かったのは、私がバーチャルYouTuberなためにフォロワーにその傾向が多少あったことも一因ですが、元々こういう募集情報に感度の高い方が多く、Twitter募集は有効な手段です。


以上、『アニメ作ったことないけど3日間でアニメ作った話』でした🌟
それではまた👋


八ツ橋まろん