2010年09月19日

Dialog クラス

つい数ヶ月前まで Poser 7J の SR1 を使っていましたが、現在は SR3 を適用して使っています。

私が良く使っている Dialog クラス (DialogSimple クラスではない方) について、気付いたことがあります。

SR1 の PoserPython メソッドマニュアルには、「このクラスのメソッドは、Poser 6.0.0 より導入されました。」と書かれており、安心してこのクラスを使って色々と公開してきたのですが…。

SR3 のメソッドマニュアルでは、「このクラスのメソッドは、Poser 7.0.0 より導入されました。」となっています。ということは、Poser6 では動かなかった訳ですね。orz

ちなみに SR3 のリリースメモ (Poser 7 SR3 readme.rtf) では、この訂正について言及されていません。


posted by foilskin at 08:54 | comment (0) | _technical_note_ | このブログの読者になる | 更新情報をチェックする

2010年08月16日

オイラー角#2

Poser には、異なるオイラー角表現同士の変換機能があります。

.pz2 ファイルにおいて、回転して欲しい順序に rotateX, rotateY, rotateZ パラメータを列べて記述すれば、「ジョイントの順序」に合うように Poser が自動的にパラメータ変換してくれます。

ただ、パラメータ/特性パレットで入力した屈伸・横屈伸・軸回転の値は、「ジョイントの順序」を入れ替えても変わらず、代わりにボーンの姿勢が変わってしまいますが。

さて、この .pz2 での自動変換が、どれぐらいの精度なのか実験してみました。

試験
内容
ジョイント
の順序
読み込む .pz2 ファイル Poser
による
自動変換
(*2)
foilskin
による
計算値
パラメータ
記述順
パラメータ
名(*1)
試験値
YXZ

YZX
変換
YXZ YZX 屈伸40.033.81833.825845
横屈伸30.037.000637.004502
軸回転20.0-2.76394-2.760476
YZX

YXZ
変換
YZX YXZ 屈伸33.82639.987539.998494
横屈伸37.00029.993529.996491
軸回転-2.76019.985119.997217

*1:屈伸=X軸回転、横屈伸=Y軸回転、軸回転=Z軸回転のボーンの場合。
*2:ライブラリ登録により .pz2 ファイルに吐き出してみての確認。
・今回の実験には Poser 7J SR3 (7.0.4.232) Windows 版を使用。

Poser の変換精度は、そこそこ良いようです。

調子に乗って y-x-y も試そうとしましたが、.pz2 ファイルで 2つ目の rotateY を指定すると、1つ目の rotateY の値が上書きされてしまうようで、出来ませんでした。


この変換を「オイラー角→オイラー角変換」と呼ぶには長くて舌を噛みそうです。そこで語感が似ている省略形を考案してみました(笑)。

も、もしかして、オラオラ変換ですかーッ!?
posted by foilskin at 14:45 | comment (2) | _technical_note_ | このブログの読者になる | 更新情報をチェックする

2010年08月15日

オイラー角#1

関節は、ジョイントエディタで指定されている「ジョイントの順序」(=回転順序) に従って、屈伸・横屈伸・軸回転します。

この「ジョイントの順序」を入れ替えると、同じ数値であっても、別の姿勢になります。これは例えば「一歩前に進んでから回れ右」と、「回れ右してから一歩前に進め」とで、結果が異なってくるのと同じことです。

三軸 (X,Y,Z) に対する回転量をそれぞれ指定することで三次元の回転や方向を表す方法を、オイラー角といいます。

Poser で指定できるオイラー角は
x-y-z
x-z-y
y-x-z
y-z-x
z-x-y
z-y-x
の六種類 (3! = 3 x 2 x 1 = 六通り) だけですが、同じ軸を二回使う y-x-y などのオイラー角もあります。
posted by foilskin at 13:26 | comment (0) | _technical_note_ | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。