MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens特化のホロ恋子モデルを作成する その35(UVマッピング)

本日はホロ恋子モデル2の作成枠です。
テクスチャのマッピング作業を開始するに辺り、UVマッピングについてまとめます。
f:id:bluebirdofoz:20190213084826j:plain

UVマッピングは3次元的なメッシュの座標と2次元的なテクスチャの座標の対応付けを行う機能です。
テクスチャの座標軸はXYZ軸ではなく、U軸(横軸)とV軸(縦軸)と呼ぶため、UVマッピングと呼ばれます。

UVマップの作成

メッシュオブジェクトはデフォルトではUVマッピングが行われていません。
このため、まずは「UVマップ」を作成する必要があります。

説明のため、追加 -> メッシュ -> 平面 で平面オブジェクトを作成しました。
これを使ってUVマップの作成と利用方法を確認します。
f:id:bluebirdofoz:20190213084837j:plain

UVマップを確認するため、画面分割を行い、[UV/画像エディター]の画面を準備します。
f:id:bluebirdofoz:20190213084846j:plain

早速、UVマップを作成してみます。
平面オブジェクトの[編集モード]に入り、UVマッピングを行うメッシュ部分を選択します。
この状態でメニューから メッシュ -> UV展開 -> 展開 を実行します。
f:id:bluebirdofoz:20190213084901j:plain

すると[UV/画像エディター]にUVマップが展開されます。
今回は正方形の平面オブジェクトを展開したため、画像側のマップもそのまま綺麗に展開されました。
UVマップを作成すると[データ]タブの[UVマップ]パネルの一覧に、作成したUVマップが追加されます。
f:id:bluebirdofoz:20190213084912j:plain

UVマップを利用してテクスチャを展開する

では作成したUVマップを利用してオブジェクトにテクスチャを張り付けてみます。
[マテリアル]タブを開き、[新規]ボタンをクリックして新規マテリアルを作成します。
f:id:bluebirdofoz:20190213084923j:plain

マテリアルを作成したら、これを選択した状態で[テクスチャ]タブをクリックします。
f:id:bluebirdofoz:20190213084939j:plain

こちらも[新規]ボタンをクリックして新規テクスチャを作成します。
f:id:bluebirdofoz:20190213084952j:plain

新しいテクスチャが作成されます。
[画像]パネルの[開く]から外部の画像ファイルを選択することでテクスチャ画像を選択できます。
もう一つ、ここで注目すべきは[マッピング]パネルです。
「座標:UV、マップ:UVMap」という指定がされています。
これにより、ここで設定したテクスチャは先ほど作成したUVマップに従って平面オブジェクトに展開されることになります。
f:id:bluebirdofoz:20190213085004j:plain

試しに以下の画像を読み込んでみました。
f:id:bluebirdofoz:20190213085014j:plain

平面オブジェクトにUVマップの対応通り、展開されていることが分かります。
f:id:bluebirdofoz:20190213085025j:plain

色々試してみる

試しにUVマップを編集してみます。
UVマップを左上の方に寄せてみると、平面オブジェクトには画像の左上しか反映されなくなることが分かります。
UVマップは[UV/画像エディター]上で、メッシュなどと同様、移動(Gキー)、回転(Rキー)、拡縮(Sキー)による編集が可能です。
f:id:bluebirdofoz:20190213085203j:plain

次はUVマップを削除してみました。(「-」ボタン押下)
テクスチャの座標とメッシュの座標のマッピングが取れなくなったため、メッシュに画像が反映されなくなることが分かります。
f:id:bluebirdofoz:20190213085221j:plain

因みに[マッピング]パネルの[マップ]設定はデフォルトだと空欄になります。
空欄でも対象オブジェクトがUVマップを持っていれば、自動的にマップが利用されるようです。
オブジェクトが複数のUVマップを保持していれば1つ目のUVマップが利用されます。
f:id:bluebirdofoz:20190213085232j:plain

次は[UV/画像エディター]と[3Dビュー]についてです。
bluebirdofoz.hatenablog.com