2008/07/30

Pose Constraint と Position & Orientation Constraint

リアクション: 
Pose Constraint

Position かつ Orientation Constraint の2重コンストは
結果が違いマス。

同じになりそうだけどネ~。

感覚としては、Poseは、Parent/Childの関係とほぼ一緒の挙動をするのに対し
Position、及び、Orientationは、数値のみをリンクするって感じ。

ちなみに、Rotation値の違うもの同士を Orientation の CnsCompで、
コンストした場合、大抵うまくアニメーションを写せません。
なぜかっていうのは、Euler(オイラー)の解説をしなくてはならないのですが
理解していません。
難しすぎるんだもの・・・。

うまく行かないなーと思ったら、Poseコンスト。

これで、大丈夫。

7 件のコメント:

junki さんのコメント...

Pose コンストよりも Global の SRT を全部 Expression でイコールにした方が軽い気がするんですが、気のせいでしょうか。 そんな気がして、どっかの馬鹿が書いた緊縛エクスプレシオンという名前のプラグインをよく使っているのですが、勘違いかもしれません。

俺の代わりに実験してください。

garu さんのコメント...

あ。そうですね。多分軽いですね。
でも、オフセット書かないといけないから、面倒くさいですね。

あと、衛星コンストしたときにRotationしたときにも、Positionが入るってのがPoseの魅力ですね。

関係ないですが、緊縛エクスプレシオンって、合体するイメージ強すぎですね。
そいや、どんなプラグインだったかなーと思って探したんですけど、プラグイン場が見つからなくてなんかショックです。
んーすんません。

junki さんのコメント...

たびたび失礼します。

緊縛エクスプレシオンはここにあります。
http://homepage3.nifty.com/jjj/XSIFiles/Plugin/JJJ_XSI_Plugins.html

中ほどまでスクロールしていただけると、亀甲結びにされた XSI男くんが愉悦にひたっている画像があるので、そこをクリックしてみてください。誰でしょう、こんな画像を嬉々として作っている馬鹿は。

ちなみにこのプラグインに、オフセット書くのをラクにする機能を付けましたので試してみて下さい。
あっ違ったっ、言い直します。そういう機能も付いているようですので試してみてはいかがでしょう。

合体のイメージですか。アクエリオン見すぎじゃないですかね。



すいませんたびたびと。

junki さんのコメント...

ほんとにたびたびすいません。

>Pose ConstraintとPosition かつ
>Orientation Constraint の2重コンストは
>結果が違いマス。


これを簡単に実験してみたのですが、結果が違ってくれません。
http://junkithejunkie.cocolog-nifty.com/Image1/Const___Pose_VS_PosOri.jpg

この画像を見てもらってもいいでしょうか。
Master1 と Master2 には同じアニメーションがついています。Slave1 は Master1 に Pos と Ori でコンストされています。一方、Slave2 は Master2 に Pose コンストされています。

でアニメーションを再生してみると、結果は全く同じ。ずれないのです。

なにか僕が勘違いしてるでしょうか。きっとそうだと思いますが。 あるいはもっと複雑なセットアップの場合に違いが出てくるのでしょうか。 これが気になって気になって、ビールが3本しか飲めません。

いちおうそのシーンも置いておきます。もし気が向いたら落としてみて下さい。6.02 の .scn を ZIP してあります。
http://junkithejunkie.cocolog-nifty.com/Image1/Const___Pose_VS_PosOri.zip



それともうひとつすいません、

>あと、衛星コンストしたときにRotationしたときにも、Positionが入るってのがPoseの魅力ですね。

これの意味もよくわかりませんでした。衛星コンストって何?

いやほんと、すいません。気が向いたらでいいので。


いやあしかし、刺激的なブログですなあ。なんだか読んでいてドキドキします。TDらしい内容ですね。がんばってください。

garu さんのコメント...

いやいや、書き込みありがとうございますー。

こう、記事を書いてて思ったのですが、やっていることを、文章でうまく説明するのって、ものすごく!難しいですね~。
自分でも、書いててこりゃ分からんだろーなって感じで書いてます。
いやはやすいません。

http://junkithejunkie.cocolog-nifty.com/Image1/Const___Pose_VS_PosOri.jpg

この状態でしたら、同じ挙動をするはずです。
これは大丈夫。

問題は、offsetした場合です。

親のnullから、1離れたnullをCnsCompあり状態で、それぞれPoseコンスト、PosOriコンストします。

そんで、Rotationをかますとズレます。

例えば、nullを親としたオブジェクトを作って、それにアニメーションを付けてたとします。
だけど、糞Afoセットアッパーが、ごっめ~ん、nullの軸、Xに90度ずらしたいんだけど、いい?って聞いてきやがったりして、内心、何言ってやがるんだ、このオタンコナス。一回氏ね。と思いながら、いいよん♪ってな場合に、アニメーションを新しいnullに移さなければいけないってときに、Orientationコンスト使ってRotationを移そうとしても上手くいかないってことが言いたかったのですー。

いやはや、伝えるってムズカシイ・・・。

精進します。

junki さんのコメント...

丁寧な解説ありがとうございました。

なるほど、CnsComp でオフセット有りだと確かに同じ挙動をしませんね。気にもしてなかった。ベンキョになります。今度こういう問題が出てきた時はソッコーでこのページを見に来ます。

糞Afoセットアッパーさんによろしくお伝えください。Null を90度ずらしたくなる彼の気持ちが痛いほどわかる俺はダメですかそうですか。

garu さんのコメント...

ダメ人間desu!

いや、ウソですごめんなさいゆるしてください。

セットアッパーは、完全に板ばさみの状態ですよね~。

モデリング変更で、痛い目見るし、骨の位置変えるとアニメーターから叩かれるし。

気持ちは分かります。分かりますけどね~。