絵が描けないのに手描きアニメーションをつくる
昔「グリー・スペンシル」だと思ってた
新しく出た v2.83 はグリースペンシルが1から作り直されたそうで、いい感じになってるらしいですね。でも、グリースペンシルで絵を描くには、絵を描かないといけないわけです!(当たり前)
でも、Blenderには昔から 3Dオブジェクトモデルの輪郭を描いてくれる Freestyle という機能がありました。これを使えば、絵が描けなくてもイラストちっくなものが描けてしまうわけです。すごい。
その Freestyle なんですが、これまた v2.83 から「レンダーパス」に単体で抽出できるようになったようです。つまり、オブジェクトの線画だけで出力できるようになったと。これを使ってみようと思います。
まずは、サルの周りに円形カーブをおいて、カメラがサルを撮りながらカーブに沿って1周するステージを作成。
Freestyleを設定していく 手描き風で
Freestyleを使うには、レンダープロパティの「Freestyle」左のチェックを入れる。
これでレンダリングしてみるとこうなる。モデルに線画がついているけど、この線画だけを抽出しようと思うと、今まではマテリアルを透明にするなどして調整が必要だった。これが、今回簡単になる。
次に、ビューレイヤプロパティで線画のスタイルを設定する。いろいろできること多くて、細かい設定方法は全然理解できてないので、またそのうち…。
手描き風にするために、ストロークの形状を変えてみる。Freestyle Line Style
を開き、Stroke
~Texture
のボタンが並んでる中で、Geometry
を選ぶ。ここだけUIが他と違う感じでわかりづらいけども、これはタブみたいなもの。選ぶと下部にオプション設定が出てくる。
Add Modifier
ドロップダウンから、Bezier Curve
とSpatial Noise
を選んでみた。他のもいろいろおもしろい効果が出てくるので試してみるといい。Spatial Noise
のAmplitu
は振れ幅。デフォルトの5.000
だとちょっと大きすぎるので、3.000
にした。
またレンダリングしてみる。
ランダム性のあるふわっとした線画になり、手描き風になった。むしろ手描きのほうが線がきれいなぐらいにw
ここまでは、今までのバージョンでもできた。ここから先が v2.83 からの機能。
レンダリングで線画だけを抽出する
レンダーパスに登場させるためのオプションをチェックする。ビューレイヤプロパティの「Freestyle」に As Render Pass
というオプションが v2.83 から追加されているのでこれをオンにする。これで、説明にある通り、レンダリングが別のパスとして行われる。
では、レンダリングしてコンポジット画面を見てみる。Render Layers
に今までなかった Freestyle
という出力ができている。ビューアで見ると、(画像では見えづらいけども)ちゃんと線画だけが抽出されているのがわかる。
あとは好きにコンポジットすればいい。このままレンダリングすると、線画以外の部分は黒地で、ただのマックロ画像になってしまうので、Alpha Over
で緑色の下地につないだ。
で、アニメーションレンダリングしてみたものがコレ。
モノの噂によると、TVアニメは24fpsで3フレームごとというのが多いらしいので、同じ設定にしてみた。なかなか手描き風アニメっぽい感じじゃないでしょうか(フリースタイルの線幅は 1px だと細すぎたので 2px にした)。
比較用に、サルにsubdivかけてFreestyleのノイズなど消して24fpsフルフレームでも作ってみました。ぬるっとしてて、CG感がある。やっぱりアナログ感が残る方がいいな。