
今回の絵は、Serge Marckさんの「Vic3 Dress2」です。レース部分に透過マップを使用するようにテクスチャ設定を変更しています。今回は裸足のままで靴を履いていませんが、ミニスカートとかで足元があまりにもさっぱりしすぎている場合以外は、これでもいいかなと思っています...手抜きですみません。
ここから、BlenderのUV関連メニューの記事になります。
今回は「UVs 」メニューです。
※重大なお知らせがあります。この記事内容の中(「続きを読む」で開く部分)で、私の勘違いで旧バージョンのメニュー項目について書いている部分がありました。Blender2.43の「UV/Image Editor」の「UVs」「Scripts」メニューには「Save UV Face Layout...」以外のスクリプトは登録されていません。こちらをご覧いただいた方々には、大変なご迷惑をおかけしてしまい、深くお詫び申し上げます。
詳しくは、Blender英語マニュアルの「Editing the UV Layout」に書かれています。
UV操作のための機能のほとんどが、この「UVs」メニューの中に集められています。ちょっと長くなりそうですので、今回は「Python Scripts」の部分だけを取り上げ、残りは次回にまとめたいと思います。
※冒頭で申し上げましたように、以下の内容のほとんどは最新版のBlender2.43では無関係なスクリプトについて書かれています。一度公開してしまいましたので、ただ削除してしまうわけにもいかないと思いますので、とりあえず文字の色を変えておくことにします。
ちなみに、本来は「UVs」「scripts」メニューを開くとこの画像のような感じになります。
●Scripts
■ArchiMap UV Projection Unwrapper
3D Viewの「UV Face Select」モードで「Face」メニュー「Unwrap UVs」を実行したときに表示される「UV Calculation」ポップアップメニューの「Unwrap (smart projections)」と同じ機能です。(コマンドを実行したときに表示される設定用画面が若干違っています。)
※この部分は「Unwrap (smart projections)」の説明として、Blender2.43でご利用いただけるものですので、普通に読めるように残しておきます。
面の角度をもとにUV自動展開を行うコマンドです。
具体的には面の成す角度が指定角度以上のエッジを境界として面をグループ化し、各グループに対して面法線の平均値からUV展開する方向を決め、さらに展開結果をUV座標内に適当に配置するというものです。複数のオブジェクトを選択でき、また、その中から一部の面のみを選択しておくことができます。
「UV Calculation」ポップアップメニューのときに一度説明していますが、もう少し詳しく見てみます。なお、「Unwrap (smart projections)」の方が新しいバージョンのスクリプトですので、通常はそちらを使ったほうがいいでしょう。
Projection
○Angle Limit
小さくするとたくさんのグループができます。大きい値では少ないグループにまとめられますが、ひずみが大きくなります。
○Selected Faces(ON/OFF)
「ON」になっていると、選択された面のみを展開します。「OFF」では全ての面が展開されます。
○Init from view(ON/OFF)
「ON」のとき、最初の展開が3D Viewの画面方向から開始されます。
○Area Weight(ON/OFF)
「ON」のとき各グループの展開を行う方向を決める際に、面の面積に応じたウェイトを考慮します。「OFF」のときは単純に全面法線を平均します。(Scriptのコードを読んで、私にはそのように使われていると思えましたが、もしかすると違っているかもしれません)
UV Layout
○Share Tex Space(ON/OFF)
複数のオブジェクトを選択している場合、「ON」では全オブジェクトをUV座標内にまとめて配置します。「OFF」では各オブジェクトごとにUV座に配置されます。
○Stretch to boun(ON/OFF)
「ON」のとき、UV展開の結果をテクスチャ画像の境界部分まで拡張します。「OFF」では空間が余ってしまいますが、展開結果が無理に引き伸ばされたりしない分、ひずみが少なくなるようです。
○Island(Bleed) Margin
展開結果の配置で、各グループの間に余白を持たせるように指定します。
Fill in empty areas
○Fill Holes(ON/OFF)
展開後の結果を配置する際、可能な限り無駄な空間がなくなるようにします。対象のオブジェクトによっては、あまり効果がないかもしれません。
○Fill Quality
Fill Holesを指定しているとき、この値が大きい方がより長い計算時間をかけて無駄な空間を少なくするようです。
上の画像ではあまり効果が出ていないようです。というか、逆に余計な空間が増えているような感じもします...
■Auto Image Layout
UV/Image Editorの「Image」メニュー「Consolidate into one image」と同じ機能です。Imageメニューの方で説明済みですので、詳細はそちらをご覧ください。
(私の環境では、なぜか「UVs」の「Auto Image Layout」は実行するとエラーが出てうまくいきませんでした。)
■Relax selected UVs.
UV展開後に面が重なっている部分を解消するためのコマンドのようです。
スクリプトのコメントには、
・フェイスセレクトモードで使用してください。
・計算が収束するまで待つか、マウス左クリックで止めてください。
と書かれています。
しかしながら、コマンド実行後の変形スピードが速すぎてマウスクリックのタイミングがとれなかったり、計算が収束するころには形状がめちゃくちゃにくずれてしまったりして、なかなか使いどころの難しいコマンドです。
元の3Dオブジェクトが平面に近い形状だと、比較的よい結果がでるような、そうでもないような...
■Save UV Face Layout...
詳細は、英語マニュアル「Unwrapping a Mesh」に書かれています。
UV展開された結果をテンプレートとして画像ファイルに保存します。出力される画像ファイルのフォーマットはTarga(.tga)、SVGのみです。(この機能は、よく使われるものであると思いますが、そのわりには、このメニューの場所はちょっとわかりづらいような気がします。)
コマンド実行後に設定画面が表示されます。
○Size
出力される画像のサイズを指定します。
○Wire
ワイヤーフレームの線の太さを指定します。
○Wrap(ON/OFF)
「ON」のとき画像サイズが全て出力されます。
「OFF」ではUV展開された部分に合わせて範囲が調整されます。
○All Faces(ON/OFF)
「ON」では全ての面が出力されます。「OFF」では3D Viewの「UV Face Select」モードで選択されている面のみが出力されます。(UV/Image Editor内で選択されている面、ではないので注意が必要です。)
○Object(ON/OFF)
「ON」のとき、ファイルセレクタでのデフォルトのファイル名にオブジェクト名が使用されます。
「.blend」ファイル名 + "_" + 「オブジェクト名」として保存されます。
○SVG(ON/OFF)
「ON」のとき、SVGファイル(Adobe Illustratorなどで使用可能なベクトルデータ)で保存します。「OFF」のとき、Targaフォーマットの画像ファイルで保存します。
(下の画像はSVGファイルをドローツールでJPEGファイルにエクスポートしています。)
○Fill SVG faces(ON/OFF)
「ON」のとき、SVGファイルで面が色で塗りつぶされた状態で保存します。「OFF」では、塗りつぶしなしです。
○Edit(ON/OFF)
「ON」にすると画像ファイル保存後に「Editor:」で指定されたプログラムで編集を開始します。「Editor:」が空欄のままだと、プログラムを選択する画面が表示されます。
○Editor:
画像保存後に編集するプログラム名を指定します。
以下の2つのスクリプトの詳細は、Blender英語マニュアル「Using UV Texture」にあります。
■Texture Baker
Blender2.43に付属するスクリプトは、私の環境ではエラーが出て実効できませんでした。
新しいバージョンのスクリプトがWeb上で入手できます。
しかしながら、このスクリプトの機能は「RenderBaker」とほぼ同じ内容ですので、わざわざ新しいバージョンを入れなおす必要はないかもしれません。プロシージャルテクスチャなどでマテリアル設定された3Dオブジェクトから、設定されたUV座標に対応するように2Dイメージを作成します。
UVマッピングで2Dの画像を3Dオブジェクトに貼り付ける、その逆の操作を行っているような感じです。
■UVpainter
このスクリプトも「Texture Baker」に似た機能です。
こちらはVertex Color(頂点カラー)をUVテクスチャとして画像ファイルに出力します。しかしながら、これも「RenderBaker」で同じことができてしまいます。
頂点カラーを設定するには、「Vertex Paint」でペイントする、Radiocityを使うなどの方法があります。
コマンド実行後に設定画面がボタンウィンドウの位置に開きます。画像のサイズは「Sc:」というスケール変更のスライダーで変更できますが、画面に表示しきれない大きさでは正しく保存されないようです。(画像保存時にスクリーンキャプチャを使用しているのかもしれません。)
この状態で保存すると...
こんな画像が保存されます。
このようにウィンドウサイズを変更すれば、ある程度のサイズまでは拡大できるようです。
普通は「Render Baker」の方を使っていれば、「Texture Baker」「UVpainter」この2つのスクリプトは使う必要はないように思います。(「Render Baker」については、「360度回転レンダリング画像 - 11」の記事中最後のところで少しだけ使っています。)
※初めてこちらをご覧いただいた方には、大変、見苦しい記事になってしまいましたことをお詫びいたします。今後は、なるべくこのようなミスをしないように、できるだけ努力していきたいと思います。
よろしくお願いします。


ホントにmatoさんのキャラを見てるだけで
癒されますね〜(^^)
いろいろなドレスを着飾ってくれるので、
毎回楽しみにしています♪
※こういう娘の親になりたいなぁーとも思っています(^_^)。
コメントありがとうございます。
早いのか、遅いのかよくわかりませんが、回転アニメーションももうすぐ20回になりそうです。ブログ開始当初は、もう少し早くキャラクターを完成できると思っていたのですが、先日ようやくUV設定を終えました。
あとは、モーフターゲットをどの程度まで作成するかによって公開できる日時が決まってくるのですが、とりあえず基本的な表情変更ができる程度に数を抑えて、なるべく早く完成させたいと思っています。
あと一ヶ月くらいの間には、配布ができるようになるかな...どうかな、という感じです。これまでに、さんざん回転してもらっているので、名前は「くるる」さんとかにしようと思っています。ちょっと変かな?
いつも解説ありがとうございます。
このスクリプトは標準で入っているものなのでしょうか?ボクのには表示されないのですが...アレレ?
「Save UV Face...」しか出てきませんです(グスン)
「くるるさん」ですか、可愛い名前ですね。(^^)
おおおおおーっ、とんでもないことをしてしまいました。ワッピーにコメントをいただいて、初めて気づきました。
Blender2.43の「UV/Image Editor」のスクリプトメニューには「Save UV Face Layout...」だけしか入っていませんでした。
私は前のバージョン2.42をアンインストールせずに上書きインストールしていたので、前のバージョンのスクリプトが残ってしまっていたようです。
英語マニュアルにもそれらの古いバージョンの説明があったので、2.43にそれらのスクリプトが入っているものとばかり思っていました。
この記事どうしようかな...なかったことに、はならないですよね。
えー、それはそれとして、ワッピーありがとうございます。コメントしてもらわなかったら、全然気づきませんでした。
とりあえず、間違いがあったことがわかるように記事を修正したいと思います。
ミスなんかじゃぁないと思いますよ、ボクなんかいつも漢字も英語もミスってます(そーゆう問題と違うかな..笑)
...では、これらのスクリプトの入手先を調べてGetしてみたいと思います。(^^)
私は友人といつも、この女の子の事を
”くるりんちゃん(久瑠鈴)”と勝手に呼んでいました(^^i)
でも”くるる”ちゃん!可愛いですネー♪
いい感じです〜
プログラムの方でもミスがあったり、最近いろいろ謝っていることが多いですが、失敗を恐れずに、いろいろとチャレンジしたいと思います。
間違って解説してしまったスクリプトですが、基本的に別のメニュー項目に移っていたりして必要なくなっているものが多いようです。2.43では動かなくなっているものもありますし、(普通、この時点でおかしいと気づいていてもよさそうな...)とくに無いと困るものはなさそうです。
>mamomamoさん
「くるりんちゃん」というのもいいですね。実は、名前はキャラクターを使う方に決めていただくようにして、自分ではとくに設定しない方がいいかなとも思っていました。ただ、なるべく早く公開できるようにしなくては、と自分に言い聞かせるつもりで名前を決めてみました。
いろいろな方に、いろいろな名前を付けてもらえるような、そんなキャラクターになってくれたら嬉しいですね。