[Blender]GreasePencilを使ってPrevisを作ってみた[まとめ]
※この記事はBlenderのグリースペンシルに関する過去記事をまとめたものです。
テスト的にこんなのを作りました。
この時のグリースペンシルの使い方について記事を残しておこうと思います。手法はまだ手探り中なので今後変わっていくと思います。
グリースペンシルオブジェクトを動かすか否か
オブジェクトを動かさず3Dカーソルを移動しながら描く場合
・作画が2コマ、3コマ打ちで、カメラがフルフレームで動く場合、フリッカーが起きます。
※フリッカーについては後述。
・オニオンスキンは描いた場所(ワールド位置)に表示されます。
・原点とストロークの位置が離れている場合、最前面表示に設定したグリースペンシルオブジェクト同士の重なりがうまく表示されません。
・原点とストロークの位置が離れている場合、ブラーやグロー等のグリースペンシルエフェクトは原点を参照する為、効果が不正確になります。
オブジェクトを移動しながら描く場合
・カメラがフルフレームで動く時、グリースペンシルオブジェクトもフルフレームで動かすとフリッカーが起きにくいです。
・オニオンスキンはローカル位置に重なって表示されます。
・原点とストロークが同一平面上にあるので、最前面表示が正確です。
・上と同じ理由で、ブラーやグロー等のグリースペンシルエフェクトの効果が正確になります。
この様に違いを並べると後者一択に思えますが、YouTube等のチュートリアルでは前者が多い気がします。
オニオンスキンは後者の様に一カ所に重なるより、前者の様に描いた位置に出た方が描きやすかったりしますし、カメラの移動量にもよるので、状況で使い分けた方が良さそうです。
今回は空中をフルフレームで飛び回るので、後者のグリースペンシルオブジェクトを動かす方法にしました。
因みにグリースペンシルオブジェクトを移動してもオニオンスキンがワールドスペースに表示されるアドオンがあります。割と動作が重くなるので状況に合わせて使うのが良いと思います
アタリ
基準がない状態で描くと、いつの間にか小さくなったり大きくなったりしてしまうので、スケールやパース感を保つためのアタリを用意すると便利です。
方法はいくつかあります。
キャンパスを利用したアタリ
簡易的にスケールを把握するにはグリーペンシルのキャンパスが利用出来ます。デフォルトのキャンパスの大きさはデフォルトのキューブと同じ2mなので、170cmのキャラならキャンパスのスケールを0.85にすればキャラと同じになります。細分化の数値を調整すれば頭身の目安に出来ますが、割りは偶数にしか設定出来ません。
グリースペンシルや画像を利用したアタリ
棒立ちキャラを描いたレイヤーをロックして、必要に応じて見える様にしておけばスケールのアタリになります。
もしキャラデザが決まっていて、身長の対比図なんかもあればそれをイメージプレーンに貼って3D内での大きさをあわせればアタリになります。
ジオメトリノードのプリミティブを利用したアタリ
ジオメトリノードを使ったキューブを用意して、分割とスケールをプロパティから操作できるようにすれば融通の利くキューブが出来ます。キャラの頭身と分割を合わせれば、結構使えるアタリになります。
簡易的なキャラモデルでアタリ
今回はこれです。
3Dのポーズに時間をかけてしまうと本末転倒なので、腕は無し、足は末端だけで必要最低限の情報量になる様にしています。
ほとんどのキャラの手首は股の高さ、肘はクビレ辺り、膝は股と足首の中間位と覚えておけば、案外手足が無い方がイメージしやすかったりします。
他のオブジェクトと一緒に動かせる様にアーマチュアは入れていません。
描き始めはこのモデルを目安にして、途中で非表示にします。
これを使ってアニマティクスを作り、そのままアタリにしました。
コンストレイント
位置コピーコンストレイント
位置コピーコンストレイントでアタリモデルとグリースペンシルオブジェクトが一緒に動く様にします。この時、どこを原点にするかが大事です。理由は後述。
トラックコンストレイント
グリースペンシルオブジェクトが常にカメラ方向を向く様にトラックコンストレイントします。
上記のコンストレイントをつけたエンプティを用意して、グリースペンシルオブジェクトはその子供にしておくと調整が楽になります。
何故カメラの方を向く様にするかというと、カメラが移動した時に板っぽさが出ない様にする為です。
板っぽいがどういう事かというと、極端ですが下の様な感じです。
これはトラックコンストレイントの効果で板っぽくない例です。
板っぽくならない様にするには絵を割る必要がありますが、グリースペンシルがカメラの方を向いていれば、割る枚数が少なくて済む、という事です。(プリビズなので板っぽくても構わないのですが)
このために原点位置が重要になります。
グリースペンシルオブジェクトは常にカメラ方向に回転するので、原点から離れたところがズレて見えてしまいます。接地がある場合は足元を原点にして、カメラ前を顔が大きく通過する場合は顔を原点にすると、板である事がバレにくいです。
カメラやアタリを動かす
描く前にこんな感じで動かします。
あとは上記で仕込んだグリースペンシルオブジェクトに描くだけです。
フリッカー対策
グリースペンシルオブジェクトはアタリモデルにコンストレイントしているので、3D空間をフルフレームで移動しています。フルフレームならフリッカーが起きにくいと書きましたが、絵はフルフレームでは描かない(描いても良いですが)ので、体の動き次第ではフリッカーがおきます。特にカメラ前などで移動が速い場合に起きやすいです。
その時のデータが残っていないので、ちょっと再現してみたんですが、地味ですね。もっと酷かったと思うんですが汗
分かるでしょうか?
これを回避する方法は5つ考えられます。
フルコマで描く
フリッカーは起きませんが地味な動きだと大変です。
絵の変化が激しいアクションならこれでいけます。
キャラの素材を別出しして、合成時にフリッカーのコマを抜く
ビューレイヤーやシーンのリンクコピーを使った素材出しのフローがどうもうまくいきませんでした。要調査。
画ブレが後付けになる為、オーバースキャンで大きめの素材を出す必要があります。
下のアドオンが良さげなのでちょっと調べてみようと思います。
フリッカーでズレた分戻す
トランスフォームにカウンターのキーを打つ必要があるので開発が必要です。下記はその為のアドオンですが、ちょっと改善の余地があります。
作画とカメラの割りを合わせる
あくまでプリビズなので、これが一番合理的です。例えば作画が3コマならカメラも3コマにすればフリッカーはおこりません。
ただ今回は技術検証も兼ねているのでやっていません。
グリースペンシルオブジェクトをカメラに貼り付ける
一時的にチャイルドコンストレイントを使って、グリースペンシルをカメラツリーの子供にします。
3D画ブレを使う場合はコンストレイントする階層を画ブレの階層より上にする必要があります。
今回はこの方法にしました。
色々面倒ではありますが、プリビズの実務ではそんなにこだわりません。
フルフレで描くのは大変と書きましたが、逆にもっと少ない枚数であればブロッキングとして認識出来るし、必ずしもカメラがフルフレである必要もないので、困ったら画面全体をブロッキングにすれば大抵は切り抜けられると思います。
描く時に注意したい事
・先にも書きましたが、今回の様にグリースペンシルオブジェクト自体を動かして描く場合、オニオンスキンは現在とは違う場所で描かれた絵が現在の位置に表示される事になります。
という事はパースも別の位置のものになる可能性があるので、オニオンスキンに引っ張られて描いてしまうとパースに違和感が出てしまう場合があります。
・前後のオニオンスキンが一カ所に集まっていると、描く時に拡大しすぎてしまい、カメラから離れているのに近くにあるかの様なパースをつけてしまいがちです。
・立体的に動いている画のキーフレームの時間をズラすと、パースが合わなくなります。
塗り
使いこなしていないだけかも知れませんが、標準のフィルツールはシンプルな線画じゃないと上手くいきません。
マテリアルをフィルにして線画に沿って囲む必要があるのですが、これが結構しんどいです。
少し楽にする方法を自分なりに考えたので書いておきます。
線の周りを塗りの色で太らせる
こんな感じで、線を白く太らせておくと多少ラフに塗っても気にならず、どんなBGにのっても見づらくなりません。
塗らなくても良いくらいです。下の動画は実際塗ってませんが見やすくなっていると思います。実務ではこうするかもしれません。
方法ですが、下の画像の様に影エフェクトの設定で太らせています。
ブラーXの大きさにキーが入っているのは距離に応じて調節するためです。
ブラーYは、Xの値と同じになる様にドライバーが入っています。
このエフェクト1つだけだと薄いので、複製して4つくらい重ねます。
それぞれのブラー値を調整するのは面倒なので、複製したエフェクトにドライバーを入れて、全て最初のエフェクトのブラー値を参照する様にすると楽です。その際、元の数値の2倍、4倍となる様に式を入れておくと良い感じになりました。
BGを白地と線画にする
紙に描く様に、白地に線画のBGがあって、その上にキャラを描くのであればキャラにとって邪魔なBGの線を消すだけで済みます。
その手法を探っている所なので貼っておきます。
塗りに便利なアドオン
下記のアドオンを使うと塗りが楽になります。これと上記の方法を組み合わせると塗りの負担がかなり減ると思います。(現状、GreasePencil v3未対応)
ツール
絵を描く時やアニメーションをつける時に(個人的に)便利なツールのリンクを貼っておきます。chatGPT産が多いです。スクリプトを使う場合はアドオン化する事をお勧めします。