Doc:JA/2.6/Manual/Textures/Mapping/UV/Unwrapping
Page status (reviewing guidelines)
Proposed split
Images
additional examples
|
UV Mapping a Mesh
(メッシュの UV マッピング)
最初のステップはメッシュの展開(unwrap)です。メッシュが形状を表すのに必要な面をすべてそろえていると思えたら、展開を始めます。展開済みのモデルに対して面の追加や分割を行うと、blender は新たにできた面を追加してくれますが、マッピングや編集の追加作業が必要になるかもしれません。この方法で、ジオメトリの追加変更をガイドするために UV テクスチャ画像を使えます。
この章では UV のマッピング技法を扱います。次の章では UV の編集 を、さらに次の章は UV レイアウトの管理 手法を、続いて 画像の適用 をそれぞれ扱います。
About UVs
(UV について)
UV マップにある点はすべて、メッシュの頂点に対応しています。UV マップの点を繋ぐ線はメッシュの辺に、UV マップの面はメッシュの面に対応しています。
メッシュの各面はたくさんの UV テクスチャを持てます。UV テクスチャにはそれぞれ、別の画像が割り当てられます。UV/画像エディタで面を UV テクスチャに展開すると、メッシュの各面が自動的に 4つの UV 座標 に割り当てられます。この座標は画像やテクスチャを面にマップする方法を定義します。これは2次元座標で、3次元の XYZ 座標と見分けやすいように U と V の名前で座標を呼んだのが名前の由来です。この座標はレンダリングやリアルタイムの OpenGL 表示にも使われます。
blender の面はそれぞれ別の画像にリンクすることができます。UV 座標はこの画像が面にどのようにマップされるのかを定義します。こうしてこの画像は、レンダリングやリアルタイム表示できるようになります。3D ウィンドウは、アクティブなメッシュオブジェクトの UV 座標を変更したり、画像を割り当てたりできるように、「面選択モード」にします。これで、面が複数の UV テクスチャに加わることができます。キャラクターの髪の生え際にあたる面は、顔の UV テクスチャと頭皮/髪の UV テクスチャの両方にあるかもしれません。
これについては次の章でもっと詳しく述べます。
Getting Started
(始めましょう)
デフォルトでは、メッシュには UV がありません。始めに面をマップする必要があり、そうすれば それを編集できます。モデルの展開作業は 3D ビューウィンドウの編集モードで行います。この作業で、UV/画像エディタウィンドウに1つ以上の UV Island(島状のまとまり)ができます。
始めるには、画面最上部にある Info(情報) ウィンドウヘッダーの選択リストから UV Editing(UV編集) の スクリーンレイアウト を選んでください。これで UV/画像エディタウィンドウ (Shift+f10) の表示パネルと、3D ウィンドウ (Shift+f5) の 描画域が並びます。
編集モードに入ってください。展開作業はすべて編集モードで行います。頂点、面、辺選択モードを使えます。
Workflow
(作業手順)
展開の手順はわかりやすいのですが、展開の結果に大きく影響するような選択肢が山ほどあります。選択肢の裏にある意味を理解すると、より効率的な展開ができるようになるでしょう。手順は次の通りです:
- 必要なら seam(シーム、縫合線)をつけます
- メッシュの構成要素をすべて選択
- UV Unwrap メニューからUV マッピング方式を選びます
- 展開の設定を調整します
- テスト画像を追加して歪みが生じないか確かめます。画像の適用 (en)をご覧ください。
- UV エディタでUVを調整します。UV の編集 をご覧ください。
Mapping Types
(マッピングの種類)
blender には UV のマッピング方法が複数用意されています。シンプルな投影方式は、メッシュ表面のすべての点の位置を点/軸/平面方向に補間して、3次元空間を2次元空間に配置する換算式を使います。高度な方式ほど複雑なモデルに使うことができ、専門的な用途を持ちます。
基本:
- Cube(キューブ投影)
- メッシュを立方体の各面にマップしてから、立方体を展開図にします
- Sphere(球状投影)
- UV を球体に投影します。眼球や天体など、球か球に近い形にだけ役立ちます
- Cylinder(円筒状投影)
- UV を円筒状の面に投影します
- Project from View(視点から投影)
- 3D ビューポートの現在のビューに見えているまま平らにします
高度:
- Unwrap(展開)
- 生物の形状に役立ちます。seam に沿って切り分け、メッシュを平らにします
- Smart UV Project(スマートUV投影)
- メッシュを角度を基準にして island に分割します
- Lightmap Pack(ライトマップパック)
- 面ごとに切り離して UV グリッドに詰めます
- Follow Active Quads(アクティブ四角形面に追従)
- アクティブな四角形から始めて、そこに環状に繋がる面に沿って uv をたどります
UV はリセットすることもできます。各面が UVグリッドを埋めるように配置され、どの面も同じマッピングになります。
タイル状に敷き詰めることのできる画像を使ったとすれば、メッシュ表面は、面の形にあわせて歪まされたこの画像の、滑らかな繰り返しで覆われるでしょう。この展開オプションは、マップをリセットし、すべての展開を取り消すときに使ってください(開始時の状態に戻ります)。
Basic Mapping
(基本のマッピング)
オブジェクトの基本となるジオメトリとその見え方に基いて、Mesh » UV Unwrap » Cube(キューブ)、Cylinder(円筒)、Sphere(球) の方式は最初にうまくフィットしたとおりに面を広げようとします。ここで、3D ウィンドウでの見え方は特に重要です。また、オブジェクトを包むように立方体のサイズや円筒の半径の設定(ツールシェルフ内)も調整しておくべきです(blender単位(BU)で)。
次の設定は キューブ、円筒状、球状の投影マッピングでよく使われます。
- Correct Aspect(アスペクト比の補正)
- 画像のアスペクト比を踏まえて UV を配置します。画像がすでに正方形でないテクスチャ空間にマップされていれば、これを前提に正しく表示されるように配置をひずませ、投影します。
- Clip to Bounds(境界にクリッピング)
- 0 から 1 の範囲外にある UV を一番近い UV 空間の境界に移動して、範囲内におさめます。
- Scale to Bounds(境界に拡大縮小)
- 0 から 1 の範囲より UV マップが大きければ、マップ全体が入るように縮小します。
Cube
(キューブ投影)
キューブマッピングはメッシュを6つのわかれた面に投影し、6つの UV Island を作ります。この島は UV エディタで重なって表示されますが、動かせます。UV の編集 をご覧ください。
Cube Size(立方体サイズ)
- 投影に使う立方体のサイズを設定します。
Cylinder and Sphere
(円筒状/球状投影)
円筒状投影と球状投影は同じ設定を持ちます。相違点は円筒状投影が UV を円筒に対して投影するのに対し、球状投影は球の曲率を考慮し、緯度線が等間隔になります。
通常は円筒の展開を、縦に切込みを入れて平らに広げたかのように行うため、blender はその筒が直立していて、ビューが縦方向になることを求めます。ビューが変われば UV マップへの筒の投影も変わり、もし使っていれば画像を歪ませます。ただ、計算の行われる方向は手動で設定できます。球状投影でも同じ考え方ができます:
最初の地図製作者が世界地図を作った方法を思い出してください。blender でも、別の視点から球を展開すれば同じことを行えます。通常は球の展開のために、上下にある極から球を見ます。展開すると、blender が再現しているのはメルカトル投影図法です。あなたの側にある赤道上の点が、画像の中央に置かれるでしょう。この極視点(polar view)は、非常に変わってはいるがよくある投影図を作ります。UV 画像としてメルカトル透視図法の世界地図を使うと、球上にマップされた素敵な惑星が作れます。
- Direction(方向)
- View on Poles(ビューを極に)
- 一番上(極)に視点を置き、視点からまっすぐ降りる軸を使います。
- View on Equator(ビューを赤道に)
- 赤道を見る視点で、縦方向の軸を使います
- Align to Object(オブジェクトで揃える)
- 軸の計算にオブジェクトのトランスフォーム(位置、回転、拡大縮小)を使います
- Align(整列)
- 上になる軸を選びます
- Polar ZX(極のZX)
- 極(polar) 0 は x 軸上にあります
- Polar ZY(極のZY)
- 極(polar) 0 は y 軸上にあります
- Radius(半径)
- 使用する円筒の半径です
Project From View
(視点から投影)
3D ウィンドウの Face->Unwrap UVs->Project from View(視点から投影/プロジェクション) オプションは、選択中の 3D ウィンドウに見えている通りに面をマップします。あなたに透視能力があれば、あるいはメッシュをつぶしてパンケーキのように平らにし、UV マップ上に置いたとすれば、こんな感じに見えるでしょう。モデリングしたオブジェクトの UV テクスチャに実物の写真を使うときは、このオプションを選んでください。モデルのあなたから遠い部分では、多少画像が引き伸ばされるでしょう。
Project from View (Bounds)(視点から投影(バウンド)) も同じ動作ですが、UV 空間の境界線に UV のサイズを合わせます。
Resetting UVs
(UV のリセット)
前に述べたように、3D ウィンドウの Face->Unwrap->Reset(リセット) は、選択面すべてを画像の同じ領域にマップします。オブジェクト(たとえば立方体)のすべての面を同じ画像にマップするには、立方体のすべての面を選んでから リセットメニューを使って展開します。
Advanced Mapping
(高度なマッピング)
Unwrapping Using Seams
(Seam を使った展開)
多くの場合、立方体、円筒形、球状、または best fit(訳注:おそらく「展開(Unwrap)」を指しています)の展開方式を使えば、良い UVレイアウトができます。しかしもっと複雑なメッシュ、とりわけ凹凸の激しいものには、上述のいずれかの展開処理の範囲制限と誘導用に、seam(シーム、縫合線) の定義が必要になるかもしれません。
縫い物と同じで、seam は画像/布地が縫い合わされる境界線です。展開処理を行ったメッシュは seam で切り開かれます。オレンジの皮をむいたり動物の皮を剥ぐようなものだと考えてみてください。皮に連続した切れ目を入れて、皮を剥ぎます。それから皮を多少引き延ばしながら平らにできます。この切れ目は seam と同じです。
この方法を使うとき、引き伸ばしがどの程度あるか気を配る必要があります。seam が多いほど引き延ばしは少なくなりますが、これは大抵テクスチャ製作で問題になります。引き延ばしを最少にしつつ seam をできるだけ少なくするのが良い考えです。見えない部分に seam を隠すようにしましょう。3Dペイントを使う製作では、投影ペイントは seam を扱いやすいのでさしたる問題になりませんが、対照的に 2D テクスチャリングでは、別の UV island の境界線同士を合わせるのが難しくなります。
処理手順は次の通りです:
- seam を作ります。編集モードで seam になる辺を選択し 「シームをつける(Mark Seam)」を使います。
- 展開(unwrap)します。
- seam を調整します。これを繰り返します。
- 手動で UV を調整します。次章の UV 編集をご覧ください。
Marking Seams
(シームをつける)
辺を seam に追加するには、単に辺を選択して CtrlE Mark Seam(シームをつける) を実行します。辺を seam から外すには、選択して CtrlE Clear Seam(シームのクリア) を実行します。
右の例では、seam を隠すために円柱の一番背面にある辺を seam に選び、デフォルトの展開方式を使いました。UV/Image Editor ウィンドウで、まるではさみで布地の縫い目を切って広げたように、すべての面がうまく展開されているのがわかります。
seam をつけるとき、面選択モードで Select(選択)->Linked Faces(リンク) や CtrlL を使って作業状況を確認できます。このメニューは選択中の面に接続している面を seam を越えない範囲ですべて選択します。もし作りたい seam より外側の面が選択されていれば、seam がどこかで途絶えていることがわかります。ただし、seam が続くであろう部分を blender が解決できる限りは、seam が途絶えていても構いません。
動物の皮を剥ぐ方法が何通りもあるように、seam をつけるべき場所を決める方法もたくさんあります。普通は次のように考えてみてください。片手に(動物タイプの)オブジェクトを、片手にはさみを持っていて、オブジェクトをなるべく少ない回数切り開いてテーブルに広げようと考えています。体の前面と背面をわけたいので、耳の外側を通る seam をつけます。目は他とは別のメッシュなので、自動的にそれだけで展開されます。後頭部には縦に seam を入れて、頭の左右両側をそれぞれ平らに広げるようにします。
seam は、展開される面を制限する使い方もできます。例えば、頭のテクスチャリングをしているとき、頭頂と後頭部の頭皮は髪に覆われるため、実際にはテクスチャを必要としません。ですから、髪の生え際に沿って seam を定義します。こうすると、顔の正面を選択して Linked Faces(選択 -> リンク) を選択すれば、髪の生え際より先は選択されず、その部分の頭皮は展開されません。
頭や体のような左右対称のものを展開するときは、対称軸に沿って seam をつけます。例えば、正面図の真ん中で頭や体全体がわかれるようにします。展開すると両半文を同じテクスチャ空間に重ね合わせることができ、右手の画像は左手の画像と共有され、顔の右側は左側と共有され、といった具合になります。
最後に、「どこでも何にでも完璧に動作する展開方法」を考えだす必要は「ない」ことを覚えておいてください。後述しますが、メッシュの部分部分に応じた別の方法を使うことで、簡単に複数の UV 展開を持つことができます。
Unwrap
(展開)
展開すべき面を 3Dビューですべて選択することから始めましょう。面が選択できたら、次は展開です。3D ビューで Mesh(メッシュ) » UV Unwrap(UV 展開) または U を選択し、さらに Unwrap(展開)を選びます。
UV/画像エディタウィンドウからも、UVs(UV) » Unwrap(展開) または E を使って同じことができます。この方法は面すべてを展開し、それまでの作業をリセットします。
Face(面) » Unwrap(展開) » Unwrap(展開) オプションは、選択された面にあるすべての seam を踏まえ、面の接続の仕方を見てオブジェクトの各面が画像内にちょうどおさまるように展開します。可能なら、選択された面にはそれぞれ画像の別の領域が与えられ、どの面も他の面の「下に入り込む」ことがないようにします。もしオブジェクトのすべての面が選択されていれば、どの面も画像のどこかにマップされます。
blender は 展開処理の計算方式を2つ持ちます。3D ビューの ツールシェルフにある設定パネルで選べます。
- Angle Based(アングルベース)
- この方式はメッシュをうまく2次元で表現します。
- Conformal(等角)
- LSCM(Least Squared Conformal Mapping、最小二乗等角写像)を使います。通常はアングルベースに比べて正確性に劣る UV マッピングになりますが、オブジェクトが単純なほどうまく働きます。
- Fill Holes(穴を埋める)
- Fill Holes(穴を埋める) を使うと UV 領域内で重なりの発生を防ぎ、穴をうまく表現します。
- Correct Aspect(アスペクト比の補正)
- 画像のアスペクト比を考慮した UV マッピングです。
- Use Subsurf Modifier(細分割曲面モディファイアを使用)
- subsurf モディファイア適用後の頂点位置を考慮した UV マッピングです。
- Margin(余白)
- UV island の間隔
後々、マッピングを理解するために極めて重要になること: 面が使う UV 画像テクスチャは画像全体 である必要はなく、一部 で構いません。また、同じ画像の一部を複数の面で共有することができます。面は画像全体のごく一部にマップできます。
Smart UV Project
(スマートUV投影)
スマートUV投影(以前は Archimapper と呼ばれていました)を使うと、メッシュの角度変化に基づいた seam の自動生成の方法を、細かく制御できます。機械的なオブジェクトや建築物のような単純かつ入り組んだジオメトリ形状に適しています。
この機能はオブジェクトの形状、つまり選択されている面と面同士の関係を調べ、この情報と指定した条件に基いて UV マップを作ります。
右の例ではスマートマッパーは、6面どれもが立方体の面と同じ四角形になるように、3面を上に3面を下にした、きれいな並びで立方体をマップしています。
複雑度の高い機械的なオブジェクトに対して、このツールは非常に論理的でわかりやすい UV レイアウトを手早く簡単に作れます。
ツールシェルフの設定パネルでメッシュの展開方法を細かく調整できます:
- Angle Limit(角度制限)
- 面のグループ分けを調節します: 制限値を上げるほどたくさんの小さなグループができ、歪みが減ります。制限値を下げるほど歪みの増加と引き換えにグループの数が減ります。
- Island Margin(島の余白)
- UV island の密度を決めます。数値が高いほど island の間隔が広くなります。
- Area Weight(エリアウェイト)
- 面ごとの投影ベクトルに、広いものほど重みづけします。
Lightmap
(ライトマップ)
ライトマップパック(Lightmap Pack)はメッシュの面や選択面を、1つずつ UV 境界線内に詰め込みます。ライトマップは初めゲーム開発で使われ、UV 空間を可能な限り多く利用するために、ライティング情報をテクスチャマップに焼きこむために使われていました。複数のメッシュに同時に作用させることもできます。ツールシェルフには複数のオプションがあります:
1つのメッシュで作業していれば、ツールのマップ対象を Selected Faces(選択面) だけにすることも All Faces(全ての面) にすることもできます。
Selected Mesh Object(選択したメッシュオブジェクト) オプションは複数のメッシュに対して使えます。使うには、オブジェクトモード で複数のメッシュオブジェクトを選択してから 編集モード に入り、ツールを実行してください。
- Share Tex Space(テクスチャス空間の共有)
- 複数のメッシュをマッピングするときに便利です。オブジェクトのすべての面を、重ならないように UV 領域内にフィットさせようとします。
- New UV Layer(新規UVレイヤー))
- 複数メッシュをマッピングするとき、このオプションはメッシュごとに新しい UV レイヤーを作ります。レイアウトの管理 をご覧ください。
- New Image(新規画像)
- メッシュごとに新規画像を割り当てます。テクスチャ空間の共有 が有効なら全てのメッシュに1つだけ画像を割り当てます。
- Image Size(画像サイズ)
- 新規画像のサイズを指定します。
- Pack Quality(パック品質)
- 複雑な箱詰めの前に、事前詰め込みを行います。
- Margin(余白)
- UV island の密度を設定します。数値が高いほど island の間隔が広くなります。
Follow Active Quads
(アクティブな四角形面に追従)
Face->Unwrap->Follow Active Quads(アクティブな四角形面に追従) は選択面から連続する面ループを(面の形が不揃いであっても)たどって、それらの面を配置します。なお、画像サイズは考慮されないので、画像領域にあわせて多少縮小する必要があるかもしれません。
Edge Length Mode(辺の長さモード):
- Even(均一)
- UV をすべて均等に置きます
- Length(長さ)
- 各ループのUV辺の長さの平均スペース
注意してほしいのは、出発点となるアクティブな四角形は UV 空間のもので、3D 空間のものではないということです。きれいな 90度に展開するには、「アクティブな四角形面に追従」を使う前にアクティブな四角形が UV 空間にあることことを確認してください。