MRが楽しい

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

頂点の移動時にメッシュとUVマップの対応をロックする(MagicUVアドオン)

本日は Blender の技術調査枠です。
UV操作に関する様々な機能を提供する MagicUV アドオンを利用してみます。
github.com

UVマップとの対応をロックしたい時

例えば以下のような既にUVマップを展開したメッシュオブジェクトを用意します。
f:id:bluebirdofoz:20190215091119j:plain

ある頂点を移動させると、UVマップは固定のため、メッシュとUVマップの対応が歪になってテクスチャが歪んでしまいます。
f:id:bluebirdofoz:20190215091132j:plain

見た目を維持するには、以下のようにUVマップを頂点の移動に合わせて補正する必要があります。
f:id:bluebirdofoz:20190215091143j:plain

これを自動で行う Magic UV の Texture Lock の機能を試してみます。

MagicUV のインストール

MagicUV アドオンは Blender 2.79 以降、標準アドオンになっており、アドオンの有効化のみで利用できます。
Blender を起動し、[ファイル] -> [ユーザ設定]でユーザ設定ダイアログを開きます。
f:id:bluebirdofoz:20190215091202j:plain

[アドオン]タブを開き、[Magic UV]で検索すると[Magic UV]のアドオンが表示されます。
チェックボックスにチェックを入れて「ユーザー設定の保存」をクリックします。
f:id:bluebirdofoz:20190215091212j:plain

[3Dビュー]を[編集モード]に切り替え、[Uキー]を押下して、UVマッピングウィンドウを表示します。
[Texture Lock]などの機能が追加されていればインストール完了です。
f:id:bluebirdofoz:20190215091227j:plain

TextureLockの使い方

[編集モード]で頂点を移動する前に、[Uキー]を押下してUVマッピングウィンドウを表示します。
[Texture Lock]->[開始]または[Texture Lock Start(Interactive mode)]を選択します。
f:id:bluebirdofoz:20190215091238j:plain

[開始]を選んだ場合

頂点を移動します。
このときのUVマップは今まで通り固定されたままです。
f:id:bluebirdofoz:20190215091250j:plain

[Uキー]を押下してUVマッピングウィンドウを表示します。
[Texture Lock]->[Stop]を選択します。
f:id:bluebirdofoz:20190215091301j:plain

するとUVマップが補正され、元の見た目を維持した形になります。
f:id:bluebirdofoz:20190215091311j:plain

[Texture Lock Start(Interactive mode)]を選んだ場合

頂点を移動すると、リアルタイムにUVマップが補正されます。
f:id:bluebirdofoz:20190215091321j:plain

こちらも編集終了後は[Texture Lock]->[Texture Lock Stop(Interactive mode)]で処理を終了させましょう。
f:id:bluebirdofoz:20190215091552j:plain

注意点

UV編集の内部処理が走っているためか、[Texture Lock Start(Interactive mode)]を利用したまま[Ctrl+Z]で作業を戻すとUVマップが歪んだ形になります。
f:id:bluebirdofoz:20190215091333j:plain

キチンと[Stop]で補正を止めて[Ctrl+Z]を利用すれば編集前の状態に戻ります。利用の際は注意が必要です。

他の機能について

MagicUV は他にも様々な機能があります。チュートリアルページは以下になります。
github.com

最新バージョンについて

MagicUV の最新バージョンは 6.0 です。
Blender 2.79 にデフォルトで含まれているバージョンは 4.4 になります。
操作UIが大きく変わっているのでチュートリアルを確認する際は適切なバージョンを確認します。

最新の MagicUV を利用したい場合は以下のページから取得できます。
github.com
f:id:bluebirdofoz:20190215091659j:plain