2018年10月10日水曜日

Blenderのカメラマップで背景動画の話(1)

私は何年か Blenderで絵をカメラマップ(カメラプロジェクション)する関連の仕事をしていたのですが
少しまとめておいた方がいいかと思い立ち メイキング的なものを使って手法の解説をしてみます

カメラマップとは?

3D形状に対してカメラ方向から画像を貼り付けるする手法で
手描き背景のテイストを維持して立体的な動きをつけれるので 特にアニメで利用されます

Blenderにはカメラマップで動画を作ったりするのに便利な機能があります
こちらでは この画像を元にその機能について解説していきたいと思います。

下絵の読み込みとカメラ設定

Blenderではカメラビューに「下絵」となる画像を表示機能があります
この下絵となる画像を読み込んでカメラの設定を合わせます
はじめに 3Dビューのプロパティパネルを表示して 下絵の「画像を追加」ボタンを押し「開く」でファイル選択画面になるので画像を選択します

カメラビューで見ると 読み込んだ画像が半透明表示されるかと思います
カメラの縦横比はレンダリング設定で決まるので 設定の縦横の数値を読み込んだ画像と同じにします。


次に絵の中と3Dが 重なるようにカメラを調整します
基準になるような形状を作成してそれに合わせるようにするといいかと思います
今回は、地面にあたる部分に平面を配置して グリッド状にポリゴンを分割しています
3Dビューをポリゴン表示モードにして 下絵内の主要な線とポリゴンの線を合わせていきます

この時 下絵の中のキモになる部分が基準形状と重なるようにカメラを移動させたあとに
そこを基準にカメラを回転させるとよいと思います
3Dカーソルをその合わせた地点に移動させ その3Dカーソルをピボットポイントにして
カメラを回転移動させます 回転の時にXキーを押すなど回転軸の制限をするとやりやすいかと思います


因みに この操作を簡単にできる 画像中の目印になるものを線で指定してそれに合わせたカメラ設定をする BLAMというアドオンもあります


UV展開

UV展開とはポリゴンの”この面にテクスチャのこの部分を使う”と対応づけるための操作です
カメラマップではカメラ方向からの見た目を元に設定します

これにはいくつかの方法があります。
まずは他のサイトでも解説されている方法でやってみます

 
ビューをカメラビューにして エディットモードに入り Aキーを押して全ての面を選択した状態にして
U キーを押すか メニュのメッシュUV展開の項目を開き 「プロジェクション」を実行します


デフォルトではタイムラインが表示されている下側のビューを
UV/画像エディッタに変更して 下絵として読み込んだ画像を表示してみます
写真風のアイコンを押すことで シーンにリンクした(読み込んでいる)画像の一覧で選択できます
他のパネル等の画像選択部分でも同じ操作になるので覚えておいてください


カメラビューと同じ見た目でメッシュが表示された状態になるかと思います
(今回は細かい調整をしないためUVの操作の話は割愛します)

マテリアルの作成

平面にマテリアルとテクスチャを割り当てます
Blenderはマテリアル(色や透明の設定)>マテリアルに関係するテクスチャ設定 という順の設定になります

まずプロパティエディタのマテリアル タブを表示して「新規」で新しいマテリアルを作成します
テクスチャそのままの見た目にしたいので シェーディングの「陰影なし」のチェックを入れます


次にテクスチャタブに移って 「新規」で新しいテクスチャを作成して
タイプのプルダウンが「画像または動画」    画像のパネルで部分を読み込み済の下絵画像を指定
マッピングパネルの 座標を「UV」に  マップをUVMapに指定します 


ここで一旦レンダリングしてみました
設定がうまくいっていれば 元の画像によく似た見た目の画像が生成されると思います

3Dビューをマテリアル表示にして回転させるとこんな感じです


もしかしたら 元の画像に比べて少し歪んで見えるかもしれませんね
面の分割をさらに細かくし直して UV展開を再度実行することで 誤差が小さくなって歪みが改善しますがちょっと面倒です

また、このままだと平面1枚なので、3Dソフトを使うからには凹凸をつけて立体的にしたいところですが
面を編集してUV展開を何度も繰り返すことになるのでやはり面倒ですね
ここから別の手法を使った作業を紹介していきます


モデファイアを使う

Blenderにはモデファイアという 便利な編集機能があり 元のポリゴン等の設定を変更することなく変形をかけたりできます


まずは「追加」のプルダウンから「細分割曲面」を選択します
これはレンダリング時にポリゴンを細かく分割してなめらかな曲面になるように計算させる機能ですが
今回は カメラマップの誤差を少なくするために使うので
なめらかな曲線にはしないような「シンプル」のオプションを選択しておきます


UV投影
UV展開の「プロジェクション」と 同じことができる機能です
オレンジ色のキューブのアイコンのある部分で 投影の元になるカメラを指定して
変更対象のUVマップを選択して
そのままでは縦横比1:1になってしまうので 縦横で長い方の比率を指定します


Blenderは入力ボックスに数式を入力して指定できるので
XYで長い方の辺の入力ボックスに”長辺の長さ/短辺の長さ”と入力するといいかと思います
(因みにこの機能は今あるUVマップに対して作用するのでUVマップを指定していない状態だと機能しません)
投影の元になる形状を選択したことからも分かるように
UV投影のモデファイアは必ずしもレンダリングで使っているカメラである必要はありませんが
形状をカメラビューで確認することが多いためモデリング時にはシーンのアクティブカメラの状態にした方がいいかと思います

ここで3Dビューの表示方式をマテリアルにしてみます
カメラビューで適当に平面を動かしてみると カメラから見たテクスチャはの位置は変わらず形状だけ移動するかと思います

これで何ができるかというと 
カメラ以外の方向からもテクスチャの適応結果を見ながらモデリングができるのです

今回のものでは 谷間の淵に合わせてナイフツールでエッジを作成して谷の方に押し出してみてます
リアルタイムで調整できてる感じが分かるでしょうか

ここまででBlenderのカメラマップについて使用している機能について解説してきましたが
画像も多く長くなったので記事を分けたいと思います
Blenderのカメラマップで背景動画の話(2) に続く

0 件のコメント:

コメントを投稿