CGらぼ

広く浅くCGを勉強していきます。

選択頂点の位置を取得

オブジェクトの頂点にボックスを配置したい!!

どうしたら出来るんだろう?

1)頂点を選択

2)頂点の位置情報取得

3)ボックスを頂点数分作成

4)それぞれのボックスを配置

 

頂点を選択

 

選択頂点の位置を取得

xfotm

# WorldSpace

WSvtxPos = cmds.xform(q=True , ws=True , t=True);
print WSvtxPos;

 

#ObjectSpace
OSvtxPos = cmds.xform(q=True , os=True , t=True);
print OSvtxPos; 

 このままだと頂点を複数選択していた場合、一つのリストとして取り扱われてしまうので、(x,y,z)に分けていく必要がある

zip(*[iter(S)]*n)

S・・・分割したいリスト

n・・・n個ずつ分割

# WorldSpace
WSvtxPos = cmds.xform(q=True , ws=True , t=True);
list = zip(*[iter(WSvtxPos)]*3);
print list; 

 リスト内の要素数を調べる

len

 # WorldSpace
WSvtxPos = cmds.xform(q=True , ws=True , t=True);
list = zip(*[iter(WSvtxPos)]*3);
print list;
print len(list);