Pythonスクリプトでパラメータの値を表示してみたところ、パラメータパレットと全く違う値が出てくることに気がついた。
▲パラメータパレットでは、1.122、 pythonスクリプトでは、0.130...となっている
ちなみに、値表示に使ったスクリプトは以下の通り。
import poser
scene = poser.Scene()
actor = scene.CurrentActor()
parm = actor.Parameter("yTran")
print parm.Value()
選択したパーツのyTran(ここでは、フィギュアのhipのyTran)の値を表示するだけのスクリプトだ。
pythonで取得出来るのは、Poser Native Unitsという単位で、パラメータパレットに表示されているのはフィートに変換された値だった。
▲Edit→General Preferenceで表示される設定画面。デフォルトでは、表示される値の単位はFeet(フィート)になっている
この「Display Units」の値を「Poser Native Units」にするとPythonの値とバッチリ合う。
フィートをPoser Native Unitsに変換するには、0.1158を掛ければ無理やり変換できるので、ptyhon内でも調整は可能っぽい。
まあ、そんな感じ。いずれこのことが何かに役立つかもな、と思いつつ、今回の覚書を終わる。
関連: