2014年11月14日金曜日

blender - 選択したものを丸くする



import bpy
context = bpy.context
if (context.active_object != None):
    object = bpy.context.active_object
    bpy.ops.object.mode_set(mode='OBJECT')
   
    bpy.ops.object.duplicate()
    object = bpy.context.active_object
    verts_length = []
   
    if (object.type == "MESH"):
        me = object.data
        vertices = me.vertices
        for i, v in enumerate(vertices):
            len = v.co.length
            verts_length.append(len)
            v.select = True
            v.co = v.co.normalized()
        me.update()


単に正規化するだけのスクリプトです。
テキストエディタに張り付けてなんかメッシュ選択してrunscriptすると、真ん中の丸いやつができます。
どんなメッシュに対しても同様の半径の球状に丸まります。
逆にいうと、半径1の球に対してshrinkwrap モデファイアしたようなもんです。

これを人の作ったかわいいキャラの複数の顔に対して実行し、ぼんやりながめて、この丸いやつからこんなかわいいキャラができるなんて…などと妄想にふけって時間を消費したので載せときます。


0 件のコメント: