Blender 2.80 Beta による動物画像制作記

投稿日時 2019年01月10日 | カテゴリ: Blender 2.8

 毎年元旦に干支の動物を作成しているのですが、今回は Blender の新しい UI と左クリック選択キーマップになれるため、Blender 2.80 Beta と EEVEE レンダーで作成してみました。

 時間を節約するため、すでに2.7x で作成した牛のモデルデータがあったので、それを流用することにしましたが、仕様変更やらクラッシュやらで、結局ギリギリとなってしまいました。

 せっかくなので、BI からの乗り換えと、従来ファイルの流用で躓きそうな点を挙げていきたいと思います。

2.7x ファイルのシーンレイヤーの整理


 従来の .blend ファイルでは、シーンレイヤー(ビューの下側にあるドットがたくさん並んだUI)でオブジェクトをまとめ、用途別に分離していました。
 Blender 2.8ではご存じのようにシーンレイヤーはグループとともに「コレクション(Collection)」に統合され、タグのような感じで利用できるようになりました。

 問題は、2.7x の .blend ファイルを読み込む場合です。もしシーンレイヤーを細かく分けていた場合、大量のコレクションができてしまいます(ただしオブジェクトのないシーンレイヤーは変換されない)。これを回避するには、2.7x であらかじめまとめておく必要があります。

 幸い、今回はレイヤー分けしていなかったので特に問題はありませんでしたが、頻繁にシーンレイヤーを利用していた方は注意が必要です。


EEVEE でのマテリアル設定


 次は Blender 内部レンダー(Blender Internal、以下 BI)用のマテリアルを EEVEE 用に変更します。

 基本的に従来の BI のマテリアルは、ひとつのノードで大半の表現に対応している Principled(プリンシプル)BSDF ノードと、出力先の Material Output(マテリアル出力)ノードがつながったノードツリーに変換され、色が継承されます。ただし透過やら鏡面反射やらの設定は自分でしないといけません。
 また、後述しますが従来の影のみをレンダリングする機能など、BI にあったいくつかのオプションが現時点では未実装です。

 さらに設定されていたテクスチャはすべて解除されますので、新たに自分でテクスチャノードを追加する必要があります。なお、旧プロシージャルテクスチャ(Cloud(雲)や Voronoi(ボロノイ)など)に対応するテクスチャノードはありますが、違う名前になっていたり(Cloud → Noise)、挙動自体が変わっている物もありますので、注意が必要です。

 入力されるテクスチャ座標は、Texture Coordinate(テクスチャ座標)ノードを使用しますが、執筆時点では Object(オブジェクト)が動作していないようです。



典型的なマテリアルノードツリー



ノードエディターのリンクカットについて


 ノードエディターは元々左クリックでしたので、新しいデフォルトの左クリック選択キーマップでも普通に利用できますが、執筆時点ではリンクカット([Ctrl]+左ドラッグ)が、利用できません(右クリック選択用キーマップで左クリックにリンクカットを割り当てておくことは可能)。
 今後変更される可能性はありますが、左クリック選択キーマップではプラグをドラッグするか、スペースキーからメニューで切り替えるのが早いと思われます。


ミラーモデリングについて


 ミラーモディファイアーを使用している場合、パーティクルヘアーは片側にしか生えません。両側に生やすためには、いったんミラーモディファイアーを「適用(Apply)」し、実モデルに変換する必要があります。

 従来はこの後、編集オプションで「Xミラー(X Mirror)」をONにし、左右対称にモデリングできるようにしながら作業を進めていくのですが、右上の「メッシュオプション」にはあるものの、執筆時点では動作はしていないようでした。
 実装までしばらくは[Z]キーのパイメニューや Transparent ボタンなどでしのぐしかなさそうです。



Transparent ボタン



ヘアーについて


 ヘアーは従来どおり、パーティクルで作成できます。ただし EEVEE のヘアーのマテリアルには Principle Hair BSDF シェーダーは利用できず、Principled BSDF を利用するしかないようで、ストランド形状も変更できません。
 「▼Hair Shape」がパーティクルプロパティにあるのですが、各パラメーターを変更してもレンダリング画像には一切反映されていないようです。


ウェイトペインティングの変更


 リギングは従来と同じで(ミラー反転もこちらは普通に可能)、作成後にアーマチュアとメッシュをペアレントして頂点ウェイトを作成し、その後ウェイトペインティングモードで調整するつもりでした。

 メッシュオブジェクトを選択し、ウェイトペイントモードにすると、自動的に関連付けられているアーマチュアオブジェクトがポーズモードに入り、ウェイトペイント可能になります。

 しかしここでボーンを選択する方法がないことに気づきました。左クリック選択キーマップでは、右クリックはメニューになっており、従来の右クリック選択のようにはいかず、ステータスバーにも表記されていませんでした。
 その後検索した結果、[Ctrl]+左クリックでボーンを選択できることがわかり、ようやく作業を進めることができました。


ポーズモードでの他のオブジェクトの選択


 その後ポーズをつけながら作業を進めていきましたが、今度はポーズモード中、他のオブジェクトが一切選択できないことに気づきました。
 こちらも何らかのショートカットキーがあるかもしれませんが、とりあえず[Ctrl]+[Tab]キーで切り替えてしのぎました。


EEVEE でのコンポジティングの制限


 背景をどうしようかと思っていましたが、CC0のHDRI を配布しているサイトがありますので、そちらから利用させていただくことにしました。
 地面は影だけ落とそうと…と思い、受けた影のみを表示するオプションを探してみましたが、どこにも見当たりません。もちろんシャドウキャッチャーは EEVEE には未対応。

 それならと、レンダーレイヤーで影だけを表示して合成することを考えましたが、そもそも影成分の出力はしていませんでした。Lightpath(ライトパス)ノードでも影のパスは動作していないようです。

 結局、今後に期待することにし、新たに地面などを追加することにしました。


透過と屈折と鏡面反射


 地面だけではつまらないので、水辺に脚を突っ込んでいる絵にしようと、水面を作り、透過と屈折を設定してみます。

1. Principled(プリンシプル)BSDF ノードの Transmission(透過)を「1.0」にします。好みで Roughness(粗さ)も下げます。
2. マテリアルプロパティか、ノードエディターの右端のサイドバー([N]キーで表示)の、▼Settings(設定)→ Blend Mode(ブレンドモード)を 「Alpha Hashed」に、Screen Space Refraction をONに切り替えます。厚みのあるオブジェクトであれば、Refraction も上げます。
3. Render(レンダー)プロパティの、▼Screen Space Reflections を ON にし、中の Refraction(屈折)も ON にします。

 しかし、ここで問題が発生しました。マテリアルの屈折(Screen Space Refraction)と、「オブジェクト」の鏡面反射(Reflection)は両立できないのです(ワールドは鏡面反射されます)。仕方ないので、今回は不透明な水ということにし、屈折は諦めました。今後実装されるかどうかは不明です。



屈折設定



その他のトラブル


 最初に書いたとおり、ベータ版とはいえバグが大量に残っていたため、作業は難航しました。
 例えば、ワイヤーフレームモードや隠面処理OFF時にクリックした場所と選択される物がずれてきたり(オブジェクトモードに抜けることで回避、現在は修正済)、Undo でシェーディングがおかしくなったり(ワールドデータか環境ライティングの問題?)、ポーズモードを抜けた後、子ヘアーをなしにしたらいきなりメッシュの一部が消えたり(ポーズモードでボーンを全選択したら元に戻った)、ヘアー編集モードを抜けた瞬間に落ちたり(修正済かも)と、ずいぶんと自動保存のお世話になりました。

 まだ機能的には足りない部分や問題点も見られますが、現時点でもそこそこ作業は可能になりました。開発は急ピッチで進められており、正式版もまだまだ先ですので、今後に期待したいと思います。



Blender.jpにて更に多くのニュース記事をよむことができます
https://blender.jp

このニュース記事が掲載されているURL:
https://blender.jp/modules/news/index.php?page=article&storyid=4110