hibitekitou
今更ながらTexTools
cg |2022-04-11
いやー、TexTools、入れとくべきでしたわ。UVアイランドをUV平面いっぱいに拡大したいとき、こいつで1発でしたわ。
半分に切った球のUVをいっぱいに拡大したいとき、この場合、一番上をセンターにしてV方向に二倍に拡大すればいいけど、こんなふうにわかりやすい形じゃない時、それなりに面倒なのですよね、Blender標準機能だけでやろうとした時。
そんな時はTexTools[GitHub]です。
UVを選択してFillボタンを押すとあっという間に、UV平面いっぱいに拡大されます。
このコマンドのためだけに入れる価値があると思いました。ちなみに隣にあるCropはアスペクトを変えずにUV平面にフィットさせる時に使えるみたいです。
<追記>…と思ったんですけどね。下図、左に対してFillを実行したら右になっちゃう。この場合、回ってほしくないのだけどねぇ。
</追記>
<追記>…というわけで、拙いスクリプトでカバーです。
import bpy import bmesh obj = bpy.context.active_object bm = bmesh.from_edit_mesh(obj.data) uv_layer = bm.loops.layers.uv.active u = [] v = [] for face in bm.faces: for fLoop in face.loops: u.append( fLoop[uv_layer].uv[0] ) v.append( fLoop[uv_layer].uv[1] ) uScale = 1.0/( max( u ) - min( u ) ) vScale = 1.0/( max( v ) - min( v ) ) for face in bm.faces: for fLoop in face.loops: fLoop[uv_layer].uv = ( ( fLoop[uv_layer].uv[0] - min( u )) * uScale , ( fLoop[uv_layer].uv[1] - min(v) ) * vScale ) bmesh.update_edit_mesh(obj.data)
たぶん無駄な処理をしているけど、一応目的とするところはできている。速度は知らんw
</追記>
コメント ( 0 )|Trackback ( )
・