読者です 読者をやめる 読者になる 読者になる

趣味プログラマによるOSS開発日誌

趣味で作っているOSSソフトウェアの紹介や関連技術の紹介、楽曲製作、Webデザイン勉強状況を紹介します。

UV座標をコピー・ペーストするプラグイン

Blender

Blenderを使っていく中で、モデルのUV座標をコピーしたいという状況があったので、
調べてみるとそれらしきものを発見した。
ただしこのプラグインには問題があり、コピー元とコピー先に同一頂点が含まれていると、
正常にコピーが行えないようだ。

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/UV/Copy_Paste_UVs


プラグイン本体は100行程度のPythonスクリプトであるため、内部の動作を追ってみた。
すると、選択された頂点をインデックスとして扱っておらず、隣接する面をコピー元とコピー先に設定した場合、
コピーを実施する面の正確な判断が行えないことが判明した。
内部で利用する情報に問題があるため、簡単に修正できそうになかったため、
一からプラグインを書き直した。
具体的な処理としては、選択された頂点番号の情報をコピーバッファに置くのではなく、
インデックス番号の情報をコピーバッファに置く。

今回、書き直しを行ったプラグインを公開する。
プラグインは、以下の「Download ZIP」からダウンロードできる。

https://github.com/nutti/Copy-And-Paste-UV_Blender-Ext


プラグインの各種情報を以下に示しておく。

[動作確認環境]
Blenderのバージョン:2.69
Pythonのバージョン:3.3

[インストール方法]

  1. 上記URLからプラグインをダウンロード
  2. 「File」-「User Preferences」を実行
  3. 「Addons」タブを選択
  4. 「Install from File...」をクリック
  5. ダウンロードしたプラグイン「uv_copy_and_paste_uv.py」を選択
  6. 「UV: Copy and Paste UV」のチェックボックスをオンにする

[使い方]

  1. 「Editモード」でUVのコピー元の頂点(面)を選択
  2. キー「U」を押し、「Copy UV」を実行
  3. 「Editモード」でUVのコピー先の頂点(面)を選択
  4. キー「U」を押し、「Paste UV」を実行

動作確認はしたが、細かいテストは実施していないため、利用は自己責任でお願いします。