広告
広告

Blender でセルルックを作る方法まとめ

カテゴリ:blender

線画の描画は輪郭抽出する方法まとめを参照。

目次

概要

ビュー変換の設定

Matcap

法線のスムージング

シェーダで法線の編集

影パカ対策

任意の場所に影を作る

マテリアルでセルルックを作る

Workbench

Eevee

Blender レンダー

Cycles

コンポジター

コンポジターを使う方法

UV をレンダリングする

水彩・イラストタッチ

プロシージャルトーン

アドオン・マテリアル

外部リンク

概要

セルルックを作る方法は大きく分けてふたつある。ひとつはマテリアルでセルルックを作成する方法で、もうひとつはディフューズ等のマテリアルでレンダリングした結果をコンポジターでセルルックに変換する方法だ。Blender レンダーや Eevee はマテリアルでセルルックを作成したほうが、レンダリングが高速かつ管理が容易なので基本的にはそちらを推奨する。しかし Cycles はマテリアルでセルルックを作る方法が制限されているので、コンポジターでセルルックを作ることになる。

ビュー変換の設定

バージョン 2.80 からビュー変換のデフォルト(標準)が Filmic になった。Filmic はダイナミックレンジが広がるため、フォトリアルなルックでは重要だ。しかしアーティストが直接色を指定するセルルックでは、コントラストの低下や色の変化が起こるため推奨しない。セルルックではビュー変換をデフォルト(標準)にした方がよい。

flimic VS. default
Filmic とデフォルト(標準)との比較

Matcap

バージョン 2.80 からは自作の Matcap が使える。Matcap 画像の格納ディレクトリは「Blenderのインストールディレクトリ/2.80/datafiles/studiolights/matcap」。Matcap 画像は 512 x 512 の画像ファイルで、exr だけでなく jpg や png も使える。Matcap 画像を生成する .blend ファイルも配布されている。

外部リンク

Workbench

デフォルトのセルルックの Matcap を使うか、Matcap を自作する。もしくは以下の方法が使える。

  1. 照明を Matcap にする
  2. アウトラインとキャビティを有効にする
  3. カラーマネジメントのビュー変換を「False Color」にする
  4. カラーマネジメントのガンマを0、露出を7あたりにする
workbench cell look
Workbench の設定

Eevee

Eevee のセルルック技法まとめ

Blender Render

Blender レンダーでセルルック

Cycles

バージョン 2.90 からは影の境界に出るアーティファクトを隠せるようになった。

shadow terminator offset
影の終端オフセット

OSL を使ったセルルック

OSL と放射(Emission)ノードとを使えば Cycles でもセルルックができる。OSL のランバートシェーダは以下のようになる。このランバートシェーダはライトの位置を入力する必要がある。ライトの位置は Combine XYZ とドライバーとで指定できる。

OSL を使うと GPU を使ったレンダリングはできないことに注意する。OSL を有効にするには「プロパティパネル > シーン > パフォーマンスの Open Shading Language」にチェックを入れる。

osl
OSL を有効にする
shader lambert(
    vector light_location = vector(0,0,0),
    float threshold = 0.2,
    float strength = 1.0,
    output color Color = color(1,1,1)
)
{
    vector to_light = light_location - P;
    vector lay_dir = normalize(to_light);
    float val = dot(N, lay_dir);
    if( val < threshold ){
        // invisible from light location
        Color = color(0,0,0);
        return;
    }
    
    float distance_to_light = length(to_light);
    int is_shadow = trace(P, lay_dir, "maxdist", distance_to_light);
    if( is_shadow > 0 ){
        // shadow area
        Color = color(0,0,0);
        return;
    }
    
    Color = strength * val/(distance_to_light*distance_to_light);
}
result
ノードと実行結果

複数ライトを使う場合は Add を使う。

multi light
光源を複数使う場合

.blend ファイルダウンロード

放射ノードの間接光を無効にする

ライトパスの「カメラレイか?(Is Camera Ray)」を使うと間接光を無効化できる。放射ノードの強さにつなぐ場合は影ができる。透過ノードと組み合わせると影も消せる。

emit direct
放射ノードに直接つなぐ場合
emit transparent
透過ノードと組み合わせる場合

トゥーン BSDF と放射を使う方法

この方法は色を正確に制御できない。

cycles toon node
ノード

外部リンク

Toonkit for Cycles($40)は輪郭抽出やフォンシェーダのような便利なノードが使える。

任意の場所に影を作る(Cycles)

法線のスムージング

法線を手動で編集する方法はBlender で法線を編集するアドオンを参照。この項目では、データ転送モディフィアを使って球ポリゴンの法線をコピーする方法を紹介する。

データ転送モディフィアはカスタム法線を転送する。なので法線転送元メッシュの法線を頂点単位で編集することもできる。

法線の表示

メッシュのエディットモードでビューポートオーバーレイの分割法線を有効にする。

show normal
分割法線の表示

Mapcap を使って法線を可視化する方法もある。プロパティパネル > シェーディング > Matcap にチェックを入れ、虹色の球を選択する。

matcap
Matcap による法線表示

法線転写の手順

1. 頭を包むような球を作成し、その球のシェーディングをスムーズにする。

sphere
顔を包む球

2. 頭ポリゴン(球ではない)の自動スムーズにチェックを入れる。

auto smooth
自動スムーズ

3. 最後に頭ポリゴンにデータ転送モディフィアをつける

これにはショートカットも用意されており、転送先メッシュ(頭のメッシュ)、転送元メッシュ(球のメッシュ)と選択した後に「オブジェクト > 関係 > メッシュデータの転送(Ctrl + Shift + T)> カスタム法線」を選択する。

data transfer setting
データ転送の設定

ショートカットを使う場合は頂点グループで法線の転写先(頭のメッシュ)をマスクする機能が使えないデメリットがある。

shortcut
Ctrl + Shift + T を使う場合

カスタム法線が不要になった場合は形状データから削除できる。

delete cusom normals
カスタム法線の削除

法線メッシュの編集

コピーした頭を使う

球の法線に違和感を覚えるときはコピーした頭ポリゴンを使う方法もある。コピーした頭ポリゴンにポリゴン数削減モディフィアと細分割曲面モディフィアとを適用してデータ転送する。

バージョン 2.83 以降

コピーした頭メッシュにボクセルリメッシュまたは四角面リメッシュをかけ、スカルプトモードでメッシュフィルターのサーフェススムーズやリラックスを使ってスムージングをかける方法もある。リメッシュはメッシュにある穴を自動的に塞いでくれるので、法線を転写する際に都合がいい。

surface smooth
サーフェススムーズ

カプセルポリゴン

カプセル型のポリゴンの法線をコピーする方法もある。

capsule polygon
カプセル型のポリゴン

影の中にライトを入れる

影になっている頬に三角形のハイライトを入れるには、シェイプキーで三角形メッシュを出し入れする方法が簡単だ。三角形の形にメッシュループを作成して法線を編集する方法もある。

シェーダで法線の編集

外部リンク

Blenderでの法線転写のやり方(2.79)




服や胸の法線の修正

Fixing dress edges shading

Fixing breast shading

影パカ対策

ハードサーフェスをセルルックにすると、広い面積の平面が一瞬で影になったり、明るくなったりすることがある。これを影パカと呼ぶ。

サンライトを使うと影パカが発生する。これはサンライトに明るさの距離減衰がないことが原因で起こる。これに対処するにはサンライトではないライトを遠方に配置する。もしくは以下のように法線を使う方法で対処できる。

任意の場所に影を作る

メッシュを使う方法

テクスチャを使う方法

シェイプキーで影メッシュを出し入れする方法もある。

コンポジターで陰色を付ける方法

Cycles や Eevee はディフューズの色とシェーディングとを分離して取得できる。これとテクスチャを参照できる UV マッピング(Map UV)ノードとを使えば、コンポジター側でシェーディングが可能だ。

composite cycles

UV をレンダリングする方法

UV をレンダリングする方法はレンダリングされた UV をもとにコンポジターでテクスチャを参照する。これはマテリアルオーバーライドを使う方法よりも高速でセットアップの手間が少ない。加えて UV 座標が変更されない限りテクスチャを編集しても再レンダリングする必要がない。

ただし透過マテリアルを処理できず、複数のオブジェクトがある場合はマスクする手間がかかる欠点がある。

設定

「レンダーレイヤー > パス > UV」にチェックを入れる。

enable uv
UV の有効化

透過を無効にする。

disable transparent
透過を無効にする

そしてグレーでレンダリングする。このグレーのレンダリング結果をもとに、陰にする場所をきめる。マテリアルオーバーライドを使うと、いちいちマテリアルからテクスチャをはがす手間が省ける。

コンポジター

通常のテクスチャと影色のテクスチャとを用意して、コンポジターで合成する。

uv-node
コンポジターノード

マテリアルインデックスやオブジェクトインデックスでマスクする

オブジェクトやマテリアルごとに参照するテクスチャが異なる場合は、オブジェクトインデックスやマテリアルインデックスでマスクする。マテリアルオーバーライドを使ってシェーディングした場合、マテリアルインデックスは取得できない。そこでマテリアルインデックスのみを出力するレンダーレイヤーを作成し、そのレンダーレイヤーからマテリアルインデックスを取得する。

水彩・イラストタッチ

再現:スタジオジブリさんの水彩コンポジット

blender 3d『水彩調の3DCGテスト設定』

有料アドオン

Blender Illustration Shader($2+)

イラストタッチのシェーダグループ。

プロシージャルトーン

Experiments with NPR/Toon shading in Eevee

[2.8]プロシージャルテクスチャ:パターンとマスク

最近Blenderでモデリングしていないお話

ハッチング表現マテリアルの作り方【NPR / Eevee / Blender】

Blender(2.80 Beta)シェーダ・ノードグループ「PixelArtIshNode_shade」


circle tone
丸トーンのマテリアルノード

ウインドウのアスペクト比は波テクスチャ(Wave Texture)のスケールで調整する。

tone example
明るさに応じてトーンのサイズを変更する

node
バージョン 2.81 のノード
triangle
三角形

diamond
ひし形

乗算と減算ノードとで、0 -> 1 の UV 座標を 0 -> 1 -> 0 に変換している。




Procedural Nodes


アドオン・マテリアル

Imposter Baker

メッシュを板ポリにベイクできるアドオン。

Bake One Click

光の陰影の計算結果を画像に書き出すベイクをワンクリックで実行するアドオン。

Toonkit for Cycles($40)

Cycles でセルルックや輪郭抽出、フォンシェーダのような便利なノードが使える。

Manga Shader for Blender($10)

セルルックノードに加えハーフトーンノードがついている。Cycles と Eevee に対応。

Toon Shader Pack, Komikaze($30)

Eevee 用のハーフトーンマテリアル。

Cell shading v_001($2+)

Sketch Style Add-On($22)

AO を利用した SketchUp 風のマテリアルを設定するアドオン。線画はフリースタイル。

Kaio Toon 6($0, $2)

Inkwood - Ink Drawing Shader Pack($15)

Motionfx($8~$20)

ジャギーブラーを作るアドオン。

外部リンクの目次

Creating a Stylized Chaparral Environment in UE4

LEARNING RESOURCES

モデリング・シェーディング・輪郭抽出等の NPR に関する情報のリンク集(英語)。



アニメ調3Dキャラクターの作り方(テクスチャ編)

【草原・木・岩など】イラスト風の森の作り方【Blender】

GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS

[Unite]映像制作にも使える高機能シェーダ「ユニティちゃんトゥーンシェーダーVer.2」はどのように作られたのか

もっとアニメらしく!>>ゲーム&アニメのセルルック3D最新事情(2016.09.21)

[CEDEC]「STREET FIGHTER V」のアートディレクションに見るイメージイラストを3Dで再現するカプコンの秘伝

西川善司の「試験に出るゲームグラフィックス」(1)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,前編

西川善司の「試験に出るゲームグラフィックス」(2)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,後編

[Unite]Unityがプリキュアの制作現場を効率化する。

アニメ調3Dキャラクターに変えてみた



天使の輪

specular high light node
最適化したノード

【Unity】【シェーダ】プロシージャルな髪の異方性ハイライト(天使の輪)表現を作る方法

セルアニメ風(トゥーンレンダリング)“天使の輪”〈その1〉

セルアニメ風(トゥーンレンダリング)“天使の輪”〈その2〉

node
ノード例







Blender→AE→PS→Unityでエフェクトを作る

Realtime Smoke Effect Pack 1(Blender 2.8+/Eevee)

Screen-Space effects in EEVEE

Retro Color Quantization (EEVEE/Cycles)($0+)














Cartoon Explosions tutorial



光がキューッって集まるやつ [.blend/CC0]






procedural fire
ノード

node
ノード
















眼鏡の反射

eye glasses node
眼鏡の反射ノード

集中線

集中線はノイズをXまたはY方向に拡大することで作成できる。これを円柱に張り付ける。マッピングの位置Xや位置Yをアニメーションさせられる。

concentration line node
ノード

.blend ファイルダウンロード

Circular Effect

demo
動作デモ

Frame は値ノードで、「#frame」を入力する。

circular effect
Circular Effect

有料ノード

4k Anime Fire Pack

X 線

object
オブジェクトのマテリアル
glass
ガラスマテリアルは IOR を1にする

CRT Filter

奥行きのある平面をコンポジターで合成

そのほか








Several ways to make cracks in a surface. Anime style tutorial

このエフェクトはオブジェクトが原点にあると、再現できない。再現できるオブジェクトの位置は(0, 0, 1)など。

crack effect
ノード

Anime style beam attack FX tutorial



Guilty Gear shader in Blender 2.8――Gumroad($5)




blender2.81 eeveeのシェーダノードでぼかしシェーダをつくる





Blender コンポジターではなくシェーダーノードでフィルターをかけれちゃう  友ちゃんフィルターシェーダーノードセット ver.1.0 公開!

シェーダでテクスチャにフィルターをかけるノード集。

Procedural Toon Water Shader (Blender 2.83+)($0+)

関連記事

任意の場所に影を作る

輪郭抽出する方法まとめ

顔の中に口を埋め込む

Blender 記事の目次


広告
広告