ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

BlenderのModifierについてのメモ

Modifierとは

公式マニュアルには次のように書かれている.

Modifiers are automatic operations that affect an object's geometry in a non-destructive way. With modifiers, you can perform many effects automatically that would otherwise be too tedious to do manually (such as subdivision surfaces) and without affecting the base geometry of your object.

They work by changing how an object is displayed and rendered, but not the geometry which you can edit directly. You can add several modifiers to a single object to form The Modifier Stack and Apply a modifier if you wish to make its changes permanent.

つまり、Modifierとは直接モデルを編集せずに見た目等を変更することが出来る機能で、その変更(≒頂点数の増減やTransformの変化など)を本体に反映させることもできるというものである. Modifierには数十種類以上の種類があり、個々の使い方はその都度覚える必要があるが、共通している操作もある.

Modifierに共通の機能

ModifierのプロパティはModifierの種類によって異なるが、ヘッダーはほぼすべてのModifierで共通である. その共通の機能には以下のようなものがある.

名称の変更

試しにオブジェクトにCurve Modifierを追加しよう. Properties -> Modifier Properties -> Add Modifierをクリックしてプルダウンメニューを表示させ、Curveを選択する. Properties -> Modifier Propertiesを見てみるとCurve ModifierアイコンをもつCurveという名前のModifierがオブジェクトに追加されていることが分かる. 実はこのCurveという名称は好きに変更することが出来る. また、1つのオブジェクトに同じ種類のModifierを複数付与すると、名称が重複しないように自動的に連番名が付与される. GUIで操作する分にはあまり関係ないが、スクリプトを利用する場合は名称でModifierを指定するので注意.

Renderアイコン

Renderアイコン(カメラのアイコン)を有効にするとレンダー時にModifierによる見た目の変更が有効になる. 注意点としては、Object ModeとEdit Modeでは、条件によってはレンダー結果が異なることがある. Renderアイコンを有効にしていると、Object ModeでレンダーすればModifierがによる見た目の変化が適用される. 一方、Edit ModeでModifierが適用されたレンダー結果を得るためには、後述するほかのアイコンも有効にする必要がある.

Renderアイコン

Realtimeアイコン

Realtimeアイコン(ディスプレイのアイコン)を有効にすると、Object Modeのビューポート上でModifierによる見た目の変更が有効になる. Object Modeにのみ作用するので注意.

Realtimeアイコン

Edit Mode アイコン

Edit Modeアイコン(四角形のアイコン)を有効にすると、Edit Modeのビューポート上でModifierによる見た目の変更が有効になり、かつModifierがない場合の頂点が表示される. Edit Modeにのみ作用するので注意.

Edit Modeアイコン
Edit ModeでもModifierの見た目が反映されるが、頂点はそのまま

On Cage アイコン

一部のModifierでのみ選択可能. Edit Modeアイコンと共に有効にすると、Edit Modeのビューポート上でModifierによる見た目の変更が有効になり、かつModifierが適用された場合の頂点が表示される.

On Cageアイコン
Edit ModeでもModifierの見た目が反映され、頂点も同様のものになる

Modifierの適用

今までのModifierの機能はすべて見た目に反映されているだけで実際のメッシュの情報は変化していなかった. 実際にModifierによるメッシュの変更を適用するには、 Renderアイコンの右隣にあるプルダウンからApplyを選択すればよい. おそらくObject Modeでしかできない.

Modifierの順番

Modifierは1つのオブジェクトに複数付与することが出来るが、付与する順番によって結果が異なる(内部で行列を使ってるであろうから、当然と言えば当然?). また、Modifierの順序とApplyについては公式マニュアルにはこのような記述がある.

Applying a modifier that is not first in the stack will ignore the stack order (it will be applied as if it was the first one), and may produce undesired results.

つまり、先頭でないModifierを適用すると順番にかかわらずそれ単独で適用されるため、今見ている結果と違う結果になるかも、ということらしい.