元記事:User-Jaguarandi-SummerOfCode2008-ShrinkwrapModifier - BlenderWiki


Shrinkwrap モディファイア



はじめに


このモディファイアは、オブジェクトを他のオブジェクトに "縮ませる(Shrink)" ことができます。変形するオブジェクトの各 Vertex を与えられた Mesh 中の一番近い場所に移動します。「一番近い」位置を決めるのに、三つの方法が実装されています(Nearest Surface(一番近い面)、Nearest Vertex(一番近い Vertex)、Projection(投影))。

Shrinkwrap は Vertex が Vertex Normal に沿って投影、もしくは一番近い面上のポイントへ移動するため、ある意味ビューに依存しない "retopo" のような働きをします。ただし画像空間の代わりにオブジェクト空間で動作しているため、Retopo の精度の問題はありません。また、ターゲットの位置との「距離を維持」することができます。

このモディファイアの開発中に特に気をつけたことは、様々な方法で使用できるよう高速かつ柔軟にすることでした。これが、モディファイアを「デフォームのみ」にしておくために機能を削った理由の一つです。
また、EditMode もサポートしています。

Shrinkwrap モディファイアが非常に便利なことを知ったけど、むしろ Empty やオブジェクトの位置を移動したい…という人は、Shrinkwrap Constraint を見て下さい(訳注:実際には実装されておらず、このリンク先にも解説はありません)。


オプション


(訳注:実際の実装にあわせ順序を変更、一部ツールチップの文章の引用です)
[wiki]-''Ob: '': そのオブジェクトを収縮/包むためのターゲットオブジェクト。

-''VGroup: '': それぞれの Vertex を、そのターゲットの位置にどれだけ移動させるかをコントロールします。

-''Offset'': ターゲットの位置からの保持しなければならない距離を設定します。

-''Shrink モードセレクタ'':
--''Nearest Surface'': ターゲットオブジェクトの Face 上の一番近い位置を選びます。
---''Above Surface'': Vertex を Face の前面に保持します。
--''Nearest Vertex'': ターゲットオブジェクトの一番近い Vertex を選びます。
--''Projection'': Vertex を与えられた方向に、ターゲットに触れるまで投影します。
---''Normal'': Normal 方向
---''SS Levels'': Vertex と Normal を抽出する前に、(Catmul-Clark)サブディビジョンサーフェスの分割をどれぐらい行うのかを指定します。
---''X/Y/Z'': ローカル空間の各軸の方向
---''Negative/Positive'': 軸の負・正方向に伸ばします。
---''Cull Frontface/Backface'': ターゲットの Face の表/裏に投影します。
---''Ob2: '': 投影のターゲットとなるオブジェクトを更に追加します。

''今回不採用となった物''

-''Merge points'': 与えられた距離より近い Vertex をマージします。
-''Remove faces'': Vertex がすべて動かなかった Face を削除するかどうかを決めます。[/wiki]
これらのオプションは Shrinkwrap をデフォームのみのモディファイアにするため不採用にしました。そのため、より柔軟になり、例えば multires と一緒に使用できるようになりました。



使用方法


アーティストたちはこのモディファイアに多くの使用方法を見出すでしょう…ここに Shrinkwrap の応用例をいくつか紹介します。

紹介するサンプルのほとんどクロスモデリングを目的としていますが、このモディファイアはモデリング作業に非常に便利です(例えば Mesh構造の再構成や皮膚の隆起など)。



スカートをモデルに Shrinkwrap。単に Mesh に近づけるべき Vertex に Weight Paint するだけです





Curve を地形に Shrinkwrap。Normal Projection を Z軸を使用して適用
(訳注:実際の実装ではこの二つの設定は排他になっているため不可能)





Shrinkwrap を使用し、皮膚のスライドを表現(Renderdemon氏のアイデア)



Shrinkwrap - Modeling a shirt from jaguarandi on Vimeo.

基本的なシャツ作成のサンプル。単に非常にシンプルなケージを作り、モデルに ShrinkWrap させるだけです。




元記事:User-Jaguarandi-SummerOfCode2008-ShrinkwrapModifier - BlenderWiki
17:15, 13 August 2008版を元にしています。