Poser覚書> Poser操作 > スクリプト

pythonスクリプトで取得出来るパラメータの値が、パラメータパレットの表示値と合わない!?

 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内でも調整は可能っぽい。

 まあ、そんな感じ。いずれこのことが何かに役立つかもな、と思いつつ、今回の覚書を終わる。

関連:

次のReel用のPoser画像を書き出すPythonスクリプトへ


Poser覚書> Poser操作 > スクリプト もくじ