[Blender]GreasePencilを使ってPrevisを作ってみた[6.グリースペンシル1]
前回の記事
タイトルが英語とカタカナで変な感じになってしまいました。
今回はグリースペンシルオブジェクトをどう扱うかです。
グリースペンシルのキャラを移動させる時、2通りの方法が考えられます。
グリースペンシルオブジェクトを動かさずに3Dカーソルを移動しながら描く方法と、グリースペンシルオブジェクト自体を移動しながら描く方法です。
下記の違いがあります。
オブジェクトを動かさず3Dカーソルを移動しながら描く場合
・作画が2コマ、3コマ打ちで、カメラがフルフレームで動く場合、フリッカーが起きます。
↓は江面さんの2D動画ですが、これと同じ事が起きます。
・オニオンスキンは描いた位置に表示されます。
・最前面表示に設定したグリースペンシルオブジェクト同士が重なった場合、原点とストロークの位置が離れている為、下の様にうまく表示されません。
・原点とストロークの位置が離れている為、被写界深度のブラーが不正確になります。
グリースペンシルオブジェクトのトランスフォームを移動しながら描く場合
・カメラがフルフレームで動いた時、グリースペンシルオブジェクトもフルフレームで動いているのでフリッカーが起きにくいです。
・オニオンスキンが重なって表示されます。
・原点とストロークが同一平面上にあるので、最前面表示が正確です。
・上と同じ理由で被写界深度のブラーが正確になります。
この様に違いを並べると後者一択に思えますが、YouTube等のチュートリアルでは前者が多い気がします。
オニオンスキンは後者の様に一カ所に重なるより、前者の様に描いた位置に出た方が描きやすかったりしますし、カメラの移動量にもよるので、状況で使い分けた方が良さそうです。
で、今回は空中をフルフレームで飛び回るので、後者のグリースペンシルオブジェクトを動かす方法にしました。
アタリモデルにグリースペンシルオブジェクトを位置コピーコンストレインします。この時、どこを原点にするかが大事です。理由はあとで書きますが、接地があるなら足元、飛ぶなら腰、カメラ前を顔が通過するなら顔を原点にします。
それプラス、グリースペンシルオブジェクトが常にカメラ方向を向く様にトラックコンストレインします。細かくいうと、上記のコンストレインをつけたエンプティを用意して、グリースペンシルオブジェクトはその子供にしておくと調整が楽になります。
何故カメラの方を向く様にするかというと、カメラが移動した時に板っぽさが出ない様にする為です。
板っぽいがどういう事かというと、極端ですが下の様な感じです。
流石にこうなる前に絵を割りますが。
これはトラックコンストレインの効果で板っぽくない例です。
グリースペンシルがカメラの方を向いていれば、絵を割る枚数が少なくて済む、という事です。(プリビズなので板っぽくても構わないのですが)
このために原点位置が重要になります。
グリースペンシルオブジェクトは常にカメラ方向に回転するので、原点から離れたところがズレて見えてしまいます。接地がある場合は足元が一番ズレてほしくないので足元を原点にして、カメラ前を顔が大きく通過する場合はズレてほしくない顔を原点にする、という訳です。
ここまでが仕込みになります。
今回はここまでにします。
余談
フリッカー対策に使えるアドオン。グリースペンシルには対応していないので、メッシュかアーマチュアを間に挟む必要があります。あと複雑な階層構造を組んでいると上手くいかないので使い方を探る必要があります。後で知ったので今回は使ってません。
グリースペンシルオブジェクトを移動してもオニオンスキンがワールドスペースに表示されるアドオン。が、割と動作が重くなるのでこれも状況に合わせて使うのが良いと思います。これも後で知ったので今回は使ってません。
あとはスクリーンスペースで固定されたオニオンスキンがあると良いんですが、今の所無理そうです。パワーでやるなら前のコマをスクショしてカメラ前に貼り付けて…しか思いつきません。もしかしたらBlender4.3以降でジオメトリノードと組み合わせたら出来るかも?