はじめに
Composite を使った残像をつける興味深い例があったのでメモ
左がレンダリング結果、右がレンダリング結果にコンポジットで残像をつけた図
Composite で残像をつける
参照元
Blender Compositor ノードエディタでの小ネタ・小技集
Composite ノード設定
- Render Layers はいつも存在しているレンダリング結果が格納されているノード
- 下は Image Sequence ノード
- ファイルのアドレスは最後にある File Output により出力されたファイルを参照している
- Offset -1 とすることで例えば Frame 5 をレンダリングする時、Frame 4の出力結果を読み込んでくる
- Frames はこのアニメーション自体のフレーム数
- Image Sequence のアルファ値を0.5で掛けて、元画像が半透明になるようにしている
- Set Alphaノードを使用し透過度を設定
- Alpha Overで合成
- Convert Premul にチェックを入れる事でImage1のアルファ値を使用する事を示している
- Composeノードは最終出力結果
- File Outputノードはここでの結果を作業フォルダ内の Result2 フォルダ配下にも格納する事を示している
- ここで出力されたファイルは Image Sequenceノードから次のフレーム出力時に参照される
- 上記の真ん中の列がImage Sequenceで読み込む内容
- Render Result と Image Sequence の内容が組み合わされ、一番右側の列の出力結果となる
- ここで出力されたファイルは Image Sequenceノードから次のフレーム出力時に参照される
- 上記以外にもディスプレイスする例もありましたので記事を見てみる事をおすすめします!
Sverchok で残像をつける
Sverchokでも同様のことができます
少し違いますが以前このような動画をTwitterにアップしました。
Play with free games material. 無料のゲーム素材で遊ぶ #Blender #Sverchok pic.twitter.com/beM0OYhiTY
— けんじろ (@ken26u_tw) 2020年7月18日
こちらは参照元なしです。
手順
Image As Planeを使って画像を読み込む
- 背景が透過されている画像である必要があります
- Emit で取り込めばライティング不要でオリジナルの明るさのままレンダリングできるためチェックを入れています
- Align Z+ にしておけばXY平面に仰向けの状態で読み込まれます
Sverchok ノード設定
- Sverchok で Objects In を配置し画像がすべて選択されている事を確認した上でGet Selectionを押す
- List Lengthノードで画像の個数を調べる
- Number Range で画像1 ~ n を 0 ~ 1 に正規化する
- Frame Info を配置
- Evaluate ピンを使うことで最終フレームがいくつであっても 0 ~ 1 に正規化されます
- Logic → Logic Function の不等号演算を使うことでカレントフレーム数に対応して複数の画像がTrueになるようにする
- Vector Inを配置して XYZ に入力する
- Vector Inを配置して Number Range の結果をZに接続
- 空から見下ろす様に見たときに数値の高い画像ほど前面に来るようになる
- Matrix In を配置して画像のとおり接続する
- Object Remote に接続し、Matrix Inの情報を参照しているオブジェクトに適用する
カメラ設定
- カメラを空から地面を見下ろすように設定
- 平行投影カメラに設定
- Orthgraphic Scaleを画像サイズと同じになるように調整
あとはレンダリングで完了です。
背景が欲しい場合は -Z に配置しましょう
最後に
CompositeとSverchokどちらも見ましたが、Compositeのほうがずっと簡単ですね。
しかしツイッターの例では画像の位置をSverchokから指定しており、それによって川を飛び越えるように見せています。
細かく指定したい場合はSverchokのがいいかもしれませんね。
- 作業イメージ
後サンプル画像も配布できればよかったですが、スライムなんでさすがにやめておきます😅
メモ
スライムの移動アニメーション作成時に参照
Blender 2.8: Bouncing Ball – Squash & Stretch Rigging and Animation
www.youtube.com