広告

2016年10月23日日曜日

簡単なPoser用フィギュアを作る(1)

試しにPoser用のフィギュアを作ってみようと思った。モデリング、テクスチャー、ボーン構造全てが簡単に作れるものがいいだろう、ということでペンギンにしてみた。メタセコでモデリング、UVマッピングを済ませ、Wavefront obj形式で書き出せばPoserから読み込めるようになるのだが、頂点グループもobj形式を使ってPoserに渡せるのでは?と考えた。メタセコはこれが出来ないので、Blenderで頂点グループを設定し、exportの時に"polygroup"をオンにしておけばいいことが分かった。Poserでもグルーピングはできるが、やはりモデリング機能のあるアプリでやった方が作業は楽だ。

Blenderでモデリングもできれば話は早いのだが、まだ慣れていないw ポリゴンの選択の仕方は今回で少し慣れた。頂点グループに属さない頂点があるかチェックする簡単なスクリプトも作ってみた。これを動かすと、属さない頂点があれば選択状態になる。

import bpy

print("-- start\n")
objs = bpy.data.objects

bpy.ops.object.mode_set(mode = 'EDIT') 
bpy.ops.mesh.select_mode(type="VERT")
bpy.ops.mesh.select_all(action = 'DESELECT')

bpy.ops.object.mode_set(mode = 'OBJECT')

for obj in objs:
 if obj.type == "MESH":
  print(obj.name)
  for v in obj.data.vertices:
   if len(v.groups) == 0:
    v.select = True
    print(str(v.index) + "\n")

bpy.ops.object.mode_set(mode = 'EDIT') 
print("-- end\n")

Poserでobjをインポートし、Setupルームでボーンを入れた。メッシュとボーンが同じ色なので見辛い。。。


頂点グループは要はボーンに連動するスキン。ボーンの内部名とグループの名前を同じにする必要がある。ボーンの内部名(internal name)はプロパティで設定できる。

Poseルームに戻って羽などを動かしてみると、胴体とか余計な部分まで連動してしまう。ボーンの影響範囲を調整しないとダメみたいだが、これは次回の予定。

0 件のコメント:

コメントを投稿