日々適当

hibitekitou

位置の取得

cg |2015-08-05

Mayaに限らないんですけど、世間の人は選択している物の位置を数値として得ることをあまり重視していないのでしょうかね?

例えばMayaのチャンネルボックスに表示される位置ってのはローカル値のようです。同様に、Curve VertexやVertexの位置情報(チャンネルボックスに表示される値)はオブジェクト空間における値です。唯一、コンポーネントエディタ上に表示されるVertexの位置はワールド空間による値のようですね。 この辺、Softimageは良くできていると思うんですけど、いかがざんしょ。

選択している物に関して、位置情報の下のGlobalとかLocalというボタンによって、それに応じた値を表示してくれる。選択している物についてはオブジェクトだろうがVertexだろうがEdgeだろうがPolygonだろうが表示してくれる。とても便利。でも、Softimage使いだった人とかが、Softimageの物と同じ挙動をするMaya用のこれを作っていないかなぁって思ったりするんだけど、どうも無いみたいなんで、やっぱり世間的には求められてはいないってことすかね。

とりあえず、Mayaで選択した物のワールド値とローカル値を取得してみる物を見様見真似で書いてみた。

import pymel.core as pm

sels = pm.selected()
for sel in sels:
    vw = pm.pointPosition(sel.name(),w=True)
    vl = pm.pointPosition(sel.name(),l=True)
    
    print("%s World Space Coordinates %f, %f, %f"%(sel.name(), vw[0], vw[1], vw[2]))
    print("%s Local Space Coordinates %f, %f, %f"%(sel.name(), vl[0], vl[1], vl[2]))
コメント ( 3 )|Trackback ( )
  ・