Blenderでレンダリング(Freestyle)

Blenderのエッジレンダリング機能「Freestyle」の解説
当サイトの記事内リンクには広告を含む場合があります。

Freestyle

Freestyleはスタンドアロンのレンダラーでしたが、Blender内蔵機能として開発が進み2.67から公式版に搭載されました。
デフォルトのレンダリングエンジン「Blender Render」内でオブジェクトのエッジを様々なスタイルで描画するオプションとして動作します。

 

Freestyleで輪郭線Base Colorで色の付いた輪郭線ぶれたストローク

 

使用バージョン
Blender2.67b、2.80

 

 

Freestyleの基本

PropetiesShift+F7RenderFreestyleパネルを有効にします。

 

解説では以下のマテリアル設定をしたオブジェクトを使用しています。
トゥーンマテリアルのモンキー

 

Freestyleパネル

ラインの基本設定です。
Blender2.6のFreestyleパネル

 

Line Thicknes
ライン描画のタイプ
Absolute
常にLine Thicknessで指定した太さのラインを描画
Relative
レンダリングサイズに合わせてラインの太さを自動調整
Line Thickness
ラインの太さ

 

パネル右下のボタンでラインの詳細設定(Scene内)に移動できます。

Freestyleの設定

PropetiesShift+F7内の以下で設定を行います。

 

2.8系
View Layer
2.6系
Render Layer

 

現在のレンダーレイヤーにストロークを反映させるにはLayerパネル→IncludeFreestyleを有効にします。
デフォルトで有効になっています。
Blender2.6のLayerパネル

 

Freestyleパネル

オブジェクトのエッジ検出のオプション設定です。
Blender2.6のFreestyleパネル

 

Control mode
Freestyleの制御方法
Parameter Editor Mode
各パネルで詳細パラメーターを設定
Python Scripting Mode
Pythonスクリプトによる制御
Style modules
Addでコントロール用Pythonスクリプト指定欄を追加
(2.7系以降)View Map Cache
既に計算されたビューマップを次のレンダリングに再使用
Edge Detection Options
オブジェクトのエッジ検出のオプション
Crease
クリース辺角度のしきい値
Culling
視野外のエッジを無視
Face Smoothness
スムージングされた面を考慮

無効時、有効時
Face Smoothness無効時Face Smoothness有効時

(2.6系以前)Material Boundaries
マテリアルの境界を検出
Advanced Options
さらに詳細オプションを表示
Sphere Radius
曲率計算用の球半径
Kr Derivative Epsilon
示唆的エッジ計算用

 

Freestyle Line Setパネル

ラインをレンダリングに反映させるには、+でラインのセットを追加します。
追加後にレンダリングすると、ストロークが描画されるようになります。
追加したラインセットごとに設定でき、チェックボタンでレンダリングへの反映の有効無効を切り替えます。
Blender2.6のFreestyle Line Setパネル

 

レンダリング時に選択するエッジのタイプを設定します。

 

Line Set Name
ラインセット名
Selection By
エッジ選択タイプ。設定項目を表示
Visibility
視覚性を元にエッジを選択

Blender2.6のVisibility

 

Visible
見える部分のエッジを選択

Visibility:Visible

Hidden
隠れている部分のエッジを選択

Visibility:Hidden

QI Range
QI値の範囲内のエッジを選択

Visibility:QI Range

Start、End
QI値の範囲
Edge Type
エッジタイプを元に選択

エッジのタイプ右の×で選択から除外します。
Blender2.6のEdge Type

Inclusive
与えられたエッジタイプの条件を満たすエッジを選択
Exclusive
与えられたエッジタイプの条件を満たさないエッジを選択
Logical OR
論理和(いずれか)でエッジの状態を組み合わせる
Logical AND
論理積(全て)でエッジの状態を組み合わせる

 

Silhouette
シルエットのエッジを選択

Edge Type:Silhouette

Border
境界エッジを選択

Edge Type:Border

Contour
輪郭を選択

Edge Type:Contour

Suggestive Contour
示唆的エッジを選択

Edge Type:Suggestive Contour

Ridge & Valley
尾根と谷を選択

Edge Type:Ridge & Valley

Crease
クリース辺を選択
Edge Mark
マークを設定した辺を選択

自動では検出できないエッジのラインを選択または除外できるようにします。
Edit Modeで辺を選択し、Ctrl+EMark Freestyle Edgeを選択します。
Edge Markを付けた辺Edge Type:Edge Mark

External Contour
外部輪郭を選択

Edge Mark:External Contour

Material Boundary
マテリアル境界のエッジを選択

Edge Type:Material Boundary

Face Marks
面マークを元に選択

Edit Modeで面を選択し、Ctrl+FMark Freestyle Faceを選択します。
Blender2.6のFace Marks

Inclusive
与えられた面マークの条件を満たすエッジを選択
Exclusive
与えられた面マークの条件を満たさないエッジを選択
One Face
左右のいずれかの面がマークを持っていればエッジを選択
Both Faces
左右の面がマークを持っていればエッジを選択
Collection(2.7以前はGroup)
オブジェクトグループを元に選択

Blender2.6のGroup

Group
グループ名
Inclusive
対象グループ内のオブジェクトのいずれかに属するオブジェクトのエッジを選択
Exclusive
対象グループ内のオブジェクトに属さないエッジを選択
Image Border
画像境界でエッジを選択。メモリ消費量が少なくなる

 

Freestyle Line Styleパネル

Freestyle Line Setパネルでラインセットを追加すると設定項目が表示されます。
ラインの色やスタイルなどを設定します。
Blender2.6のFreestyle Line Styleパネル

 

データブロックは複数作成できます。

 

各プロパティパネルを選択し、設定項目を切り替えます。
Strokes以外では各種モディファイアを設定できます。

 

モディファイアを設定する前の状態です。
Freestyleで輪郭線

 

Strokes

ストローク設定項目を表示します。
Blender2.6のStrokes

 

Plain
平面でチェーン化
Sketchy
複数タッチでチェーン化
Rounds
タッチのスケッチ回数

 

Chaining
エッジを繋げラインの基本形状にする設定
Enable Chaining
エッジのチェーン化を有効にする
Same Object
同じオブジェクトのエッジを結合

 

Splitting
チェーンの分割
Min 2D Angle
チェーンを最小2D角度未満のポイントで分割
Max 2D Angle
チェーンを最大2D角度以上のポイントで分割
2D Length
チェーンを分割する曲線2Dの長さ
Material Boundary
エッジのチェーンをマテリアル境界で分割
D1~D3
分割用の破線の長さ
G1~G3
分割用の空白の長さ

 

D1・G1:5(他は0)
Splitting:D1・G1:5(他は0)

(2.7系以降)Sorting
ストロークを重ねる順序を変更
Selection
チェーン選択
Min 2D Length
チェーンを選択する最小曲線2Dの長さ
Max 2D Length
チェーンを選択する最大曲線2Dの長さ
(2.7系以降)Chain Count
最初のN個のチェーンを使用
Caps
ストローク終端の形状

(以下はLine Thickness:5)

Butt
平ら

Caps:Butt

Round
丸(端が少し延長される)

Caps:Round

Square
四角(端が少し延長される)

Caps:Square

Dashed Line
破線にする
D1~D3
破線用の実線の長さ
G1~G3
破線用の空白の長さ

 

D1・G1:5(他は0)
Dashed Line:D1・G1:5(他は0)
D1・G1:3、D2・G2:5、D3・G3:10
Dashed Line:D1・G1:3、D2・G2:5、D3・G3:10

 

Color

ラインの色の設定項目を表示します。
Blender2.6のColor

 

Base Color
ラインのベースカラー

 

マゼンタ色を設定
Base Colorで色の付いた輪郭線

 

モディファイアの共通項目
Mixなど
ブレンドのタイプ
Influence
影響度
Color Ramp
カラーランプを使用する

 

Along Strokeモディファイア

カラーバンドで色を編集します。
Along Strokeでカラフルな輪郭線Along Strokeモディファイア

 

(2.8系以降)Crease Angleモディファイア

2つの隣接する面の間の角度に対して効果を与えます。

 

Min/Max Angle
2つの面の角度の最小値と最大値

 

(2.8系以降)Curvature 3Dモディファイア

ベースとなるサーフェイスの曲率に対して効果を与えます。
効果を有効にするにはスムージングが必要です。

 

Min/Max Curvature
2つの面の曲率の最小値と最大値

 

Distance from Cameraモディファイア

カメラとの距離に応じてカラーバンドの色を適用します。
カメラとの距離で色が変化した輪郭線Distance from Cameraモディファイア

 

Range Min/Max
適用される最小/最大距離
Fill Range by Selection
選択オブジェクトとカメラとの距離からRange Min/Maxを自動設定

 

Distance from Objectモディファイア

指定ターゲットオブジェクトとの距離に応じてカラーバンドの色を適用します。
Distance from Objectモディファイア

 

Target
ターゲットオブジェクト名

 

他の設定項目はDistance from Cameraモディファイアと同じです。

 

Materialモディファイア

マテリアルの属性を指定ブレンドタイプでラインカラーに影響させます。
マテリアル属性で色が変化した輪郭線Materialモディファイア

 

Diffuseなど
マテリアルの属性

 

(2.8系以降)Noiseモディファイア

ストロークにランダムな変化を与えます。

 

Amplitude
ノイズの最大値
Period
ノイズの周期
Seed
乱数を生成するシード

 

(2.8系以降)Tangentモディファイア

頂点で評価されるストロークの方向を元に効果を与えます。

Alpha

ラインのアルファ透過用の設定項目を表示します。
FreestyleのAlpha

 

Base Transparency
ラインのアルファ値

 

モディファイアの共通項目
Mixなど
ブレンドのタイプ
Influence
影響度
Mapping
Linear、Curve(反転オプション無効時は効果無し:Crease Angle、3D Curvature、Material、Noise、Tangent)
Invert
マッピング反転

 

Along Strokeモディファイア

ストロークの不透明度に影響させます。
ストロークの不透明度を変える
Along Stroke設定

 

(2.8系以降)Crease Angleモディファイア

2つの隣接する面の間の角度に対して効果を与えます。

 

Min/Max Angle
2つの面の角度の最小値と最大値

 

(2.8系以降)Curvature 3Dモディファイア

ベースとなるサーフェイスの曲率に対して効果を与えます。
効果を有効にするにはスムージングが必要です。

 

Min/Max Curvature
2つの面の曲率の最小値と最大値

 

Distance from Cameraモディファイア

カメラとの距離に応じて不透明度を変えます。
Distance from Cameraモディファイア

 

Range Min、Max
適用される最小、最大距離
Fill Range by Selection
選択オブジェクトとカメラとの距離からRange Min、Maxを自動設定

 

Distance from Objectモディファイア

指定オブジェクトとの距離に応じて不透明度を変えます。
Distance from Objectモディファイア

 

Target
ターゲットオブジェクト名

 

他の設定項目はDistance from Cameraモディファイアと同じです。

 

Materialモディファイア

マテリアルの属性を指定ブレンドタイプで不透明度に影響させます。
FreestyleのMaterialモディファイア

 

Diffuseなど
マテリアルの属性

 

(2.8系以降)Noiseモディファイア

ストロークにランダムな変化を与えます。

 

Amplitude
ノイズの最大値
Period
ノイズの周期
Seed
乱数を生成するシード

 

(2.8系以降)Tangentモディファイア

頂点で評価されるストロークの方向を元に効果を与えます。

 

Thickness

ライン幅設定項目を表示します。
FreestyleのThickness

 

Base Thickness
ベースライン設定
Thickness
ベースラインの幅
Center
ストロークを形状に合わせてセンタリング
Inside
ストロークを形状の内側に描画
Outside
ストロークを形状の外側に描画
Relative
ストローク幅をユーザー定義の割合で分割
Thickness Ratio
ストローク幅の相対位置。0(内側)~1(外側)

 

Along Strokeモディファイア

ストロークの幅に影響させます。
輪郭線の幅を変える
Along Strokeモディファイア

 

Mixなど
ブレンドのタイプ
Linearなど
マッピングのタイプ
Influence
影響度
Invert
Linear選択時、フェードアウトを反転
Value Min、Max
ライン幅の最小、最大値

 

モディファイアの共通項目
Mixなど
ブレンドのタイプ
Influence
影響度

 

Calligraphyモディファイア

ラインに回転と強弱を付けてカリグラフィ風にします。
輪郭線に強弱を付ける
Calligraphyモディファイア

 

Orientation
ライン描画の角度
Min/Max Thickness
ライン幅の最小/最大値

 

(2.8系以降)Crease Angleモディファイア

2つの隣接する面の間の角度に対して効果を与えます。

 

Min/Max Angle
2つの面の角度の最小値と最大値

 

(2.8系以降)Curvature 3Dモディファイア

ベースとなるサーフェイスの曲率に対して効果を与えます。
効果を有効にするにはスムージングが必要です。

 

Min/Max Curvature
2つの面の曲率の最小値と最大値

 

Distance from Cameraモディファイア

カメラとの距離に応じてラインの太さを変えます。
カメラとの距離で輪郭線の太さを変える
Distance from Cameraモディファイア

 

Linearなど
マッピングのタイプ
Range Min/Max
適用される最小、最大距離
Value Min/Max
ライン幅の最小、最大値
Fill Range by Selection
選択オブジェクトとカメラとの距離からRange Min、Maxを自動設定

 

Distance from Objectモディファイア

指定オブジェクトとの距離に応じてラインの太さを変えます。
Distance from Objectモディファイア

 

Target
ターゲットオブジェクト名

 

他の設定項目はDistance from Cameraモディファイアと同じです。

 

Materialモディファイア

マテリアルの属性を指定ブレンドタイプでラインの太さに影響させます。
マテリアル属性で輪郭線の太さを変える
Materialモディファイア

 

Diffuseなど
マテリアルの属性
Linearなど
マッピングのタイプ
Value Min、Max
ライン幅の最小、最大値

 

(2.8系以降)Noiseモディファイア

ストロークにランダムな変化を与えます。

 

Amplitude
ノイズの最大値
Period
ノイズの周期
Seed
乱数を生成するシード

 

(2.8系以降)Tangentモディファイア

頂点で評価されるストロークの方向を元に効果を与えます。

Geometry

ストローク形状設定項目を表示します。

 

2D Offsetモディファイア

ラインを移動させてずらします。
輪郭線をずらす
2D Offsetモディファイア

 

Start、End
ストローク開始、終端から適用されるオフセット
X、Y
各軸方向への移動

 

2D Transformモディファイア

ラインを拡大、回転させるトランスフォーム編集を加えます。
2D Transformモディファイア

 

Pivot
処理に使用する中心点
Absolute 2D Point
2次元の絶対ポイント

Absolute 2D Point

Pivot X、Y
絶対ピボットの各軸座標
Stroke Point Parameter
指定パラメーター

Stroke Point Parameter

Stroke Point Parameter
ストロークポイントパラメーター
Stroke End
ストローク終端

Stroke End

Stroke Start
ストローク始端

Stroke Start

Stroke Center
ストローク中心

Stroke Center

Scale X、Y
各軸方向のスケール
Rotation Angle
ラインの角度

 

Backbone Stretcherモディファイア

ラインの終端を伸縮させます。
輪郭線の終端を伸縮
Backbone Stretcherモディファイア

 

Backbone Length
伸縮量

 

Bezier Curveモディファイア

ストロークをベジエ曲線化して丸みを強調します。
輪郭線をベジエ曲線化
Bezier Curveモディファイア

 

Error
ベジエ曲線と元の形状の最大距離。値が高い程曲線の度合いが強まる

 

Blueprintモディファイア

指定形状のストロークで設計図を描画します。
Blueprintモディファイア

 

Circles

円形のストローク

Random Radius
範囲のランダムさ
Random Center
中心のランダムさ
Elipses
楕円

楕円のストローク

Random Radius
範囲のランダムさ
Random Center
中心のランダムさ
Squares
四角

四角のストローク

Backbone Length
伸縮量
Random Backbone
伸縮のランダムさ
Rounds
輪郭ストローク回数

 

Guiding Linesモディファイア

法線に沿ってストロークを変位させます。
法線に沿ったストローク
Guiding Linesモディファイア

 

Offset
法線に沿った変位量

 

Perlin Noise 1Dモディファイア

ノイズを加えて振動したようなストロークを描画します。
振動したストローク
Perlin Noise 1Dモディファイア

 

Frequency
振動数
Amplitube
振れ幅
Seed
違う結果を得る為のシード値
Octaves
オクターブ数
Angle
変位の角度

 

Perlin Noise 2Dモディファイア

Perlin Noise 1Dと設定項目は同じです。
振動したストローク
Perlin Noise 2Dモディファイア

 

Polygonalizetionモディファイア

オブジェクト形状を単純化したエッジにラインが描画されます。
単純化したエッジ
Polygonalizetionモディファイア

 

Error
元の形状とラインの最大距離。値が高い程元の形状からかけ離れる

 

Samplingモディファイア

他のモディファイアで使用するサンプル値を設定します。
Samplingモディファイア

 

Sampling
次のモディファイアで使用されるサンプリング値

 

(2.8系以降)Simplificationモディファイア

近くにあるセグメントをマージしてストロークを簡素化します。

 

Tolerance
セグメントをマージする距離の許容度

 

Sinus Displacementモディファイア

Sin変位でストロークに波を加えます。
波打たせたストローク
Sinus Displacementモディファイア

 

Wavelength
波長
Amplitude
振れ幅
Phase
位相

 

Spatial Noiseモディファイア

空間ノイズでぶれたストロークを描画します。
ぶれたストローク
Spatial Noiseモディファイア

 

Amplitude
振れ幅
Scale
ノイズの大きさ
Octaves
オクターブ数
Smooth
ノイズを滑らかにする
Pure Random
ノイズの一致が無くなり、完全なランダムに

 

Tip Removerモディファイア

ストローク先端を除去します。
先端のストロークを消す
Tip Removerモディファイア

 

Tip Length
消去する長さ

 

(2.7系以降)Texture

ストロークにテクスチャを割り当てます。

 

Use Nodes
ノードを使用する
Spacing Along Stroke
ストロークに沿ってマッピングするテクスチャの間隔
Go to Linestyle Textures
PropetiesShift+F7Textureに移動するショートカット。Use Nodesを有効にしてから使用

Freestyleのストロークをコンポジットノードで合成する

ストロークのみを出力すると通常のレンダリング結果とは別に加工したり調整する事ができます。

 

2.7系以前の内蔵レンダー向けです。

 

設定

レンダーレイヤー

通常のレンダリング結果出力用とFreestyleのストロークのみ出力するレンダーレイヤーを作成します。
それぞれに出力設定を行います。
レンダーレイヤー設定

 

通常のレンダリング結果出力用

Freestyleのストロークを描画しないようにします。

 

Freestyleのストローク用
Layerパネル

IncludeFreestyleのみ有効にします。
Freestyleのストローク設定

 

後はラインの出力を有効にして形状などの設定をしてレンダリングします。

 

合成する

コンポジットノードを使用します。
Render Layersノードを2つ用意し、各レンダーレイヤーを指定します。
2つのRender LayersノードAlpha Overノードに接続し、Compositeノードで最終出力します。
Freestyleのコンポジット編集

Blenderで実現するドリーミーな世界

class101

ファンタジーな背景のモデリング作品を作れるようになる講座で、教材動画にはBlender初心者向けチャプターもあるので基本から学べます。
詳細は以下のサイトの「デジタルイラスト」カテゴリー内にあります。

 

【定額でオンラインレッスンが見放題】CLASS101+ を見る

電子書籍を執筆しました

【Kindle Unlimitedなら読み放題】Blenderでモデリングした3DCG作品集です。