コミュニティ・話題
投稿者 : yamyam 投稿日時: 2021年01月01日 (678 ヒット)

 明けましておめでとうございます。本年もよろしくお願いいたします。

 今年はホルスタインの子牛を作成してみました。ちゃんと調べたわけではないので毎度ながらディテールは甘目です。またみかんっぽい橙が頭に乗っていますが気にしないでください。

以下制作記事です。



■ワークフロー


 2.91にて一からスカルプトでモデリング後に、頂点カラーで着色、パーティクルでヘアーを生成。シャドウキャッチャーで HDRI 画像と合成して Cycles レンダーにてレンダリングしています。ポージング用に首だけボーン入れてます。



■スカルプト


 スカルプトは最初にツール設定バーの「X軸対象」「Dyntopo」(ダイナミックトポロジー)を有効にした後、「スネークフック」ブラシで大まかな形を作り、後は「エラスティック変形」「クリース」「インフレート」「スムーズ」ブラシで調整しています。
 ある程度できたら Dyntopo のリファイン方法を「辺を細分化」に変更し、細部を作り込んでいます。

 なお、後述の「頂点ペイント」を使用した後に Dyntopo を使用すると、せっかく塗った頂点カラーデータが消えてしまうことがあります(要はデータの維持が保証されない)。他にも細分化などで面が増えると、その部分の頂点カラーを新たに塗らないといけなくなることにも注意してください。


■質感付け


●頂点ペイントによる着色


 上記のようにモデルへの着色は手っ取り早く頂点ペイントで行いました。
 ローポリメッシュへの頂点ペイントでは細かい部分の表現ができないため、テクスチャペイント用に UV 展開と新規画像の追加といった手順が必要ですが、その点、スカルプトモデルのようなハイポリメッシュではあまり気にしなくてもよくて楽です。

 ペイントした頂点カラー情報はシェーダーエディター内の「頂点カラー」ノードから利用します。ただ、2.90以降では名前をちゃんと指定しないと動作しないようで(ヘアー以外では自動的にアクティブな頂点カラーデータが利用される)、筆者はしばらくここで悩んでしまいました。
 図ではさらにノイズテクスチャノードでランダム性を加え、自然な感じにしています。



 ヘアー用のシェーダーは当初「ヘアープリンシプル BSDF」ノードを使用していましたが、光沢のコントロールが思うようにいかなかったので、結局「プリンシプル BSDF」ノードを使用しています。

●マテリアル構成


 マテリアルは本体用とヘアー用の二つを作っています。ただしパーティクル(ヘアー)数を軽減するため、地肌とヘアーに同じ色(頂点カラー)を使用しています。本来は地肌には肌色を使用するべきですが、それを十分に覆うためのヘアーを生成するのに必要なメモリ量がないためこうなりました。
 「パーティクルプロパティ→▼ヘアー形状→直径のスケール」を大きくするとそれなりに隠れるので、ところどころに現れる毛のない部分を修正していけば何とかなりそうです。また機会があれば再挑戦してみたいと思います。


■ヘアーの設定


●ヘアーのワークフロー


 「パーティクルプロパティ」から新規パーティクルシステムを追加後、ヘアーを設定後、鼻や目などの周辺の頂点に「編集モード」で「頂点グループ」を設定し、「パーティクルプロパティ→▼頂点グループ→長さ」に設定後、[⇔]アイコンを ON にしてヘアーが生えるのを防いでいます。
 ただしそれでも発生してしまうことがあるので、その場合は「パーティクル編集モード」にて余計なヘアーをカットしてしまいます。もちろん、ヘアーを「くし」ツールで自然な流れにするのを忘れずに。

●2.90でのヘアーレンダーの変更


 2.90では、ヘアーのレンダリング方法が少し変わり、形状(シェイプ)が「3Dカーブ」「ラウンドリボン」のいずれかになりました。前者は綺麗ですが GPU レンダリングだと遅く、後者はその逆らしいのですが、今回の例ではあまり差が見られなかったため「3Dカーブ」を採用しています。


●パーティクル数と表示設定


 親パーティクル数は5000、子パーティクル200倍です。ヘアー設定後、他の作業を行いたい場合は「パーティクルプロパティ→パーティクルシステム」をOFFにして非表示にすると負荷が減ります。




■シャドウキャッチャーの設定


 「シャドウキャッチャー」は影だけをレンダリング機能で、実写合成には欠かせません。Blender 2.91現在、Cycles レンダーで利用可能です。

 「オブジェクトプロパティ→▼可視性→マスク」から設定します。同時に「▼レイの可視性」でカメラと影以外すべてをOFFにしておきます。これで「シャドウキャッチャー」から反射した光の影響を他のオブジェクトが受けなくなります。



■レンダリング


 レンダリングは次の環境にて行っています。
・CPU: i7-2600
・GPU: GeForce GTX 1060 (6 GB)
・Blender 2.91の Cycles
・Cycles のサンプル数: 256(適応サンプリング使用)
・画像サイズ:768×1024
・親パーティクル数5000、子パーティクル200

 最近 Eevee が主になっていたので、Cycles だとさぞかし重かろう…と思っていたのですが、上記の環境で1分10秒弱でレンダリングが終了してしまいました。もちろん Eevee にはかないませんが、十分許容範囲であり、試行錯誤も苦痛にならない時間です。

 比較のため同じファイルを2.83.10で実行してみたところ、1分40秒ぐらいかかりました。特に BVH の構築が2.90では10秒弱だったところが、2.83では30秒程度費やしています。これは2.90では採用された Embree コアの恩恵なのかもしれません。
 余談ですが、2.90で保存したファイルを2.83で読み込ませたところ「頂点カラー」ノードがヘアーでうまく動作しなかったので、代わりに「属性」ノードを使用する必要がありました。


■背景画像について


 今回の背景の HDRI 画像は、Blender バイナリにも同梱されている、HDRI Haven の「lilienstein_8k.hdr」を、「背景」ノードの強さを2.0にして利用しています。もっと高解像度な画像では足りないかもしれませんが、今回程度ならこれで十分でした。

■終わりに


 最近ローポリモデル+ Eevee で作業していたため、ハイポリモデル+ Cycles ではもっと時間がかかるだろうと勝手に思っていましたので、今回の結果には驚きました。確かにリアルタイムと比べると遅いのですが、昔に Blender Internal レンダーを使用していたころとそんなに変わらない時間でレンダリングできることが確認できたのがうれしいです。
 今年も Blender の成長が楽しみです。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

クイックリンク

2013/11/15版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- オープンプロジェクト
- 公式ストア

●マニュアルなど
公式マニュアル(途中)
JBDP2.5 Wiki
CGRad Project
Project-6B(6B計画)

●チュートリアルなど
公式チュート等
その他チュートリンク集
公式動画チュートリアル
Blender Cookie
Blenderで3DCG制作日記
BlenderVideos.com
Blender 3D: Noob to Pro
blenderguru

●日本語コミュニティ
Blender@2ch
BLUG.JP(FBページ)
(BLender User Group of JAPAN)

-旧BLUG.JP
-blugjpまとめ
ぶれんだちゃん*(ツイッター)

●実写合成(日本語)
CGCompo

●合成エフェクト(日本語)
tomo@web

●Cycles
Blender Cycles memo

●Freestyle(日本語)
公式マニュアル
使用例
スザンぬクラブ

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org
- フォーラム
- 記事検索
- New feature tests
- Model Repository

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Graphicall.org(非公式)
Buildbot(自動生成)

●開発関連
開発情報
開発ドキュメント
公式開発ブログ
Blender開発者サイト
- バグトラッカー
- 旧バグトラッカー(閲覧用)
- パッチトラッカー
- 旧パッチトラッカー(閲覧用)
SVNコミットログ

●GameBlender
公式マニュアル
専用API
バグトラッカーなど
旧バグトラッカー(閲覧用)
Bullet 物理演算ライブラリ

●外部レンダラ
YafRay
LuxRender 私家版資料
Mitsuba

●アドオン
公式スクリプトカタログ
BlenderArtists::python & plugins

●アドオン開発
最新 PythonAPI
Python Japan User's Group

●モデル&マテリアル
Blender Model Repository
Kator Legaz 3D Model
Blend Swap
blender-materials.org

●日本語化・翻訳サイト
Blender日本語化関連(blugjpまとめ)
日本語化の設定(2.4xのみ)

●2.4x用スクリプトとAPI
公式(日本語:下側参照)
L-System(2.5以降は同梱)
Python API リファレンス(2.4x用)

2.4x以前ではPythonフルセットが別途必要になることがあります。
旧Pythonバージョン

●2.4x用プラグイン(Python以外)
Blender Plugin Repository

ログイン

ユーザ名:

パスワード:



パスワード紛失