Re: 次期Shadeに望むもの ( No.37 ) |
- 日時: 2003/07/16 19:51
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >私はボールジョイントのモーションポイントを細かく取ってうまく
>整合させるしか方法が思い浮かびませんでした。 >加減速はアニメーションでは重要な要因だと思いますので、これを >簡単に設定できる機能は欲しいです。
ボールジョイントをサポートしているほかの3DCGでは どのようにコントロールしているんでしょうね。 ボールジョイント中心からのベクトルとupベクトル?
ボールジョイントの場合は、もともと3軸回転ジョイントを意識せずに 動かせるっていうのが売りなので、わざわざ3軸回転ジョイントのそれぞれの 回転角度(オイラー角というらしいです)を持ち出してくる必要は無いと思うのですが、 カメラの場合は、三脚に載っけたカメラや映画のモーションコントロールカメラなんかを シミュレートしたい場合もあるので、オイラー角によるコントロールも欲しいところです。
加減速といえば、回転の加減速ってShadeではやりにくいですね。 というか、回転ジョイントの最小、最大値を変更してやらないと不可能ですね。 ・・・でこの最大値を変更するのがまたややこしい 
>せめて必要な部分の表示だけできるようになるだけでもかなり違うと思います。 ジョイントが階層構造になっているものについては、一応ブラウザと同じように▼マークをクリックすれば隠せれるようですが、そうでないものは背景コントローラジョイントとかはすごいことになりますね。 設定ウインドウとモーションカーブが同期しているというのも、重要なポイントだと思いますが、 コントローラジョイントも同期してますね 
|
Re: 次期Shadeに望むもの ( No.38 ) |
- 日時: 2003/07/17 17:27
- 名前: 宮田
- >>37 ボールジョイントをサポートしているほかの3DCGでは
>>どのようにコントロールしているんでしょうね。
内容は判りませんが、外見上は基本的には変わらないようです。 ただ、個々のパーツを選択しての調整、モーションカーブや関数式の利用、 モーションのブロック化などの扱い易さは格段に違いそうですね。
>>ボールジョイントの場合は、もともと3軸回転ジョイントを意識せずに >>動かせるっていうのが売りなので、わざわざ3軸回転ジョイントのそれぞれの >>回転角度(オイラー角というらしいです)を持ち出してくる必要は無いと思うのですが、
例えば「ボールを投げる」というような場合、加減速と3軸周りの回転はどうしても 必要になります。 回転ジョイント(オイラー)で行うと、加減速はモーションカーブのスライダで 調整できるのですが、3軸必要なことと、場合によってはジンバルロックを起こします。 もうひとつは前の動きに影響されるということで、不用意なリセットができません。
ボールジョイント(クォータニオン)はこれを意識しなくて済みますしジョイント数も 少なくなって良いのですが、制限を設けられないので、場合によってはIK(逆運動)が 行いにくいこと、加減速や数値入力が直接は不能なので微調整が面倒なことなど、 どちらも一長一短ですね。
>>ジョイントが階層構造になっているものについては、一応ブラウザと同じように▼マークを >>クリックすれば隠せれるようですが、そうでないものは背景コントローラジョイントとかは >>すごいことになりますね。
個人的には必要なパートを選択した時、その部分のモーション設定ウインドウのみ表示 されてくれれば判り易いかなと思います。 指先を調整しようと思うと階層が深すぎてためらってしまいます。(^^;
|
Re: 次期Shadeに望むもの ( No.39 ) |
- 日時: 2003/07/17 20:36
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >例えば「ボールを投げる」というような場合、加減速と3軸周りの回転はどうしても
>必要になります。 こういう、回転角度に制限のある関節を模したような動きの場合、 ジンバルロック覚悟で回転ジョイントを使うしかないかも 
ボールジョイントの場合は、もっと自由に動くようなもののシミュレーションに 真価を発揮するのかもしれません。
で、そのコントロール法ですが、現状では、ボールジョイントの支点の移動のみ そのパスを形状として編集できるようです。ところが回転先のベクトルは、 形状として編集することはできないようです。これが編集できるようになると、 カメラジョイントの視点移動パス、注視点移動パスと同じように感覚的に編集できるのではないでしょうか。
カメラジョイントと違って、座標値の移動ではなく、ベクトルの移動であること、 ベクトルだけでなく、もう一つぐらいパラメータがありそうなことなどから、 パス形状編集がが取り入れられなかったのかもしれません(あくまでも憶測です)が、 ベクトルのXYZ成分プラスアルファをモーションカーブで編集するより、 わかりやすいのではないかと思います。
で、無理矢理ボールジョイントの回転先も形状編集で軌跡の制御はできるように なったとしても、スピードコントロールの問題が残ります。
これは、パスジョイントや以前のカメラのフライスルー(現在のカメラジョイントも)にも 共通するんですが、軌跡をコントロールするために打ったコントロールポイント によって、スピードまでコントロールされてしまうというところがShadeの大きな問題だと思います。
で、いろいろ考えてみたんですが、やはりスピードを制御する モーションカーブのようなものを追加する必要があるんじゃないかと思いました。 移動の軌跡は変更せずに、スピードだけをコントロールするというものです。
スピードの基準をどの状態にするか、スピードを変更した場合の、キーポイントの 移動をどう解決するかなどの問題があると思いますが、 移動の軌跡を気にせず、スピードのコントロール、できれば、加速度のコントロールもできると、 かなり扱いやすくなるのではないかと思います。
憶測を積み重ねて、勝手なことを書いてしまいました(^^;;
|
Re: 次期Shadeに望むもの ( No.40 ) |
- 日時: 2003/07/18 21:02
- 名前: 宮田
- >>ボールジョイントの場合は、もっと自由に動くようなもののシミュレーションに
>>真価を発揮するのかもしれません。
そのとおりだと思うのですが、実装できるのであればリミッタは欲しいですね。 ジョイステックやポインティングデバイスのように「自由に」動かせるものでも 一定の限度があります(円錐状の範囲だけですよね) また、1枚の板に複数設定して揺らめく布のようなイメージを出そうとしても、 IKで動かした場合とんでもない形状になることがあります。スキンでウエイトを 設定することも考えられますが、かなり面倒ですし。 空中を舞う木の葉とか鳥のようなものは合ってるかもしれませんね。
>>そのパスを形状として編集できるようです。ところが回転先のベクトルは、 >>形状として編集することはできないようです。これが編集できるようになると、 >>カメラジョイントの視点移動パス、注視点移動パスと同じように感覚的に >>編集できるのではないでしょうか。
とすると、原理的に難しいかもしれませんね。 ボールジョイントの場合、回転先ベクトルは「一意に決まる」ということだと 認識しているんですが、認識が違っているかも(^^;
このため、「どう動かそうと最終結果は同じ」になるというのがクォータニオン の特徴‥‥だと、以前の加藤さんが書かれた説明で勝手に納得してました。
ん〜。でも、a→a'間の速度は補完法の問題だけで、関係なく変えられるのかも。
>>ベクトルだけでなく、もう一つぐらいパラメータがありそうなことなどから、
「ねじれ」のパラメータ(と言っていいのか判りませんけど)ですね。 3元で記述できないからもう一つ増やしたということかもしれませんが(^^;
>>モーションカーブのようなものを追加する必要があるんじゃな%A
|
Re: 次期Shadeに望むもの ( No.41 ) |
- 日時: 2003/07/18 21:12
- 名前: 宮田
- すみません。送信がうまくいかなかったようです。
後半部分↓
>>モーションカーブのようなものを追加する必要があるんじゃないかと思いました。 >>移動の軌跡は変更せずに、スピードだけをコントロールするというものです。
これは必要ですね。 フライスルーを行う場合はどうしても要求されると思います。 現在だと、パスの直線移動とカメラの3軸回転(もしくはボールジョイント)を 組み合わせて直線移動パスのコントロールポイント間隔をハンドルで調整すると いうことになると思います。これがモーションカーブのみで調整できるように なれば画角変更なんかも、し易くなります。
#記事の修正ってどうやるんでしょう?(^^;
|
Re: 次期Shadeに望むもの ( No.42 ) |
- 日時: 2003/07/19 23:15
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- なんか話がややこしくなってきましたね

>ボールジョイントの場合、回転先ベクトルは「一意に決まる」ということだと >認識しているんですが、認識が違っているかも(^^;
>「ねじれ」のパラメータ(と言っていいのか判りませんけど)ですね。
クォータニオンとか、全然わかってないので、素人考えなんですが(^^;; 回転させるのが、線形状だったら、回転先のベクトルさえ決まれば 「一意に決まる」と思うんですが、 長方形のような形状だったら、そのベクトルを軸とした回転(ねじれ)が 発生するおそれがある。そのためにそれを制御するためにもうひとつのなにかが 必要になるということだと思います。
ジェットコースターのスレッドで出た 1本の線形状だけではバンク角が制御できないって話と似てますね。
>#記事の修正ってどうやるんでしょう?(^^;
記事の右下にあるねじ釘のような・・・スパナ? アイコンをクリックすると記事の編集画面になります。 記事の投稿時にパスワードを入れておかないとだめですが。
|
Re: 次期Shadeに望むもの ( No.43 ) |
- 日時: 2003/07/20 13:04
- 名前: 宮田
- >なんか話がややこしくなってきましたね
ですねぇ(^^; ちと、スレッド内容から外れてしまいますし、私自身も曖昧ですので 今後このレスは差し控えることにします(^^;
>回転させるのが、線形状だったら、回転先のベクトルさえ決まれば >「一意に決まる」と思うんですが、
ここが私もかなり曖昧なところなんですが、「一意」というのは「前後の 位置(動き)に影響されない」ということも含むのだと思います。
「腕を横に水平に上げ、そのまま前に持ってきた状態」と 「腕を前に上げ、90度捻った状態」は見た目には同じになりますけど オイラーだと、状態が異なっているんです。 つまりA→B→C→DとA→C→B→Dは違う状態になっているのだと思います。
この状態をオイラー角で行った場合、リセットすると異なった動きを します。以前に書いた「前後の動きに影響される」というのはこのこと なんです。ボールジョイントではこれは同じ結果になります。
意図がうまく書けないんですけど、こういったことです↓ http://www.ff.iij4u.or.jp/~hrmiyata/tes/joint3/joint5.htm (AVIアニメーションファイルです)
>>#記事の修正ってどうやるんでしょう?(^^; >記事の右下にあるねじ釘のような・・・スパナ? >アイコンをクリックすると記事の編集画面になります。
あ、これスパナなんですね。これがロック用のキーアイコンだと 思ってました(^^;
|
Re: 次期Shadeに望むもの ( No.44 ) |
- 日時: 2003/07/21 03:00
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >「腕を横に水平に上げ、そのまま前に持ってきた状態」と
>「腕を前に上げ、90度捻った状態」は見た目には同じになりますけど >オイラーだと、状態が異なっているんです。 >つまりA→B→C→DとA→C→B→Dは違う状態になっているのだと思います。
オイラー角だと、回転の順番によって結果が変わりますが、 そのことでしょうか?たとえば X軸中心に20度回転させて、Y軸中心に30度回転させた結果と Y軸中心に30度回転させて、X軸中心に20度回転させた結果は違ってきます。 回転ジョイントの階層構造が
□X軸回転ジョイント □Y軸回転ジョイント □Z軸回転ジョイント
となってる場合と、
□Z軸回転ジョイント □Y軸回転ジョイント □X軸回転ジョイント
となってる場合では、同じオイラー角でも、結果が違ってくるってことですね。 で、回転運動の方向によっては、この3軸の回転角度を微妙に調整しなければならない場合もあると思います。 クォータニオンだと、この回転の順番を考えなくていいというのも、メリットのひとつですね。 レールのところで書いた
□Y軸回転ジョイント(ヘディング) □X軸回転ジョイント(ピッチ) □Z軸回転ジョイント(バンク)
は、XZ平面を主に移動するような回転の場合、制御しやすいかなという順番で、 動きの種類によっては、階層構造を変える必要があると思います。
でも、3軸もあるとコントロールしにくいというのは変わらないですね  で、それならボールジョイントの方がやりやすいという場合もありそうですね。 その場合、可動範囲の指定ができた方がいいと思いますが、
>ジョイステックやポインティングデバイスのように「自由に」動かせるものでも >一定の限度があります(円錐状の範囲だけですよね)
その円錐のような形を指定することによって、移動範囲を限定することは 可能じゃないかと思います。 インターフェース的には、ボールジョイントの移動可能範囲を球で示して、 移動可能範囲の部分を球表面の色を変えるとか・・・ 半透明状態でクイックレンダリングできないとわかりにくいかもしれませんね。 それとその範囲をどうやって指定するかが問題ですね 
|
tclスクリプトの雛形・proc集 ( No.45 ) |
- 日時: 2003/07/21 13:46
- 名前: つる
- 参照: http://homepage3.nifty.com/STEP/
- 話がちぐはぐしてしまったようなので、、
あまり上の方はよく読んでないのですが、、、私は、アニメもあまりやりませんし、ちょっと自信はありませんが・・・
宮田さんのおっしゃってる、「ボールジョイントと、3軸の回転ジョイントによる違い」の、手の動きのムービーは、 回転ジョイントの場合、それが「固定された(?)方向周りの回転たかだか○個の”合成”である」ところにあります。 ですから、回転ジョイントをリセットすると、それらの合成が次第に解けて(溶けて?)いくので、その過程が明らかに見えてしまいます。 ボールジョイントの場合は、回転の処理の際、「”どこから>どこへ”動くのか、ということしか気にしない」ので、そのようなことはありません。 宮田さんのおっしゃられてる「一意性」というのが、「”最初”から”最後”までの間」にとる、”中間体”の意味だとしたら、ボールジョイントでも、3軸回転ジョイントでも、「一意」に定まります。問題は、3軸回転の場合、それが、あくまで「合成」であることと、その合成の仕方にさまざまなバリエーションが出てしまうところにあります。 原理的には、3軸ジョイントで、どんな姿勢もとることが出来るので、おかしい動きをさせないためには、モーションを取るポイントを増やしてやることしかありません。最初から適切な3軸ジョイントを仕込むことで、かなり自然な制御は出来ますが、無理な操作を続けているうちに破綻します。
オイラー角は、物体の姿勢を、X、Y、Z軸それぞれの回転によって表すことです。(だったと思います。。) ですから、 3軸ジョイントのジョイントの順番と、オイラー角の合成順序の話は別の話になります。 上の階層のジョイントを操作すると、下のジョイントの回転軸まで回転してしまうので、ジョイントの階層構造が異なる3軸ジョイントのそれぞれに「同じような」ジョイント値の変更を与えると、 それぞれで、姿勢も向きもてんでばらばらになります。 IK操作で3軸ジョイントをドラッグする時に不自然な動きしかしない理由もこれです。 オイラー角での場合は、X軸で90度、Y軸で90度回転と、Y軸で90度、X軸で90度回転させるのとでは、向いている方向は同じなのですが、ひねり方が違ってきます。
ボールジョイントに制限がかけられないのは、それの実装の仕方に単純だからでしょうか・・・? ボールジョイントの中身に、ヘディング、ピッチ、バンクと成分をしっかり保持すれ、それの移動範囲を、スポットライト状の形状に制限することは出来そうですが、ただ単に、「任意軸周りに回転する」という機能だけなのかもしれません。 (3Dエンジンの中身についてはほとんど無知なので、適当です・・・信じないでください。)
3軸ジョイントでも、本当にオイラー角のように形状を操作できたら、、つまり、回転ジョイントをフラットジョイントのように並べて、他のジョイントには影響を与えず、形状だけに影響を与えるように出来る「オイラージョイント? 」とか、 逆に、「3軸回転ジョイント」という”一つ”のジョイントで、「常に3軸が直行して回転するジョイント」が実現できたら、かなり自由な制御が可能になりそうです。 この、「常に3軸が直行して回転する3軸ジョイント」は、プラグインで実装出来そうですね。ただの回転ジョイントを使いまわせば、回転制限も加えられますので、円錐とまではいかなくても、4角錐らしい形の範囲に制限することは出来ますし、ヘディング、ピッチ、バンクを直接かつ確実に指定できますから。
|
Re: 次期Shadeに望むもの ( No.46 ) |
- 日時: 2003/07/21 12:43
- 名前: 宮田
- >>43 今後このレスは差し控えることにします(^^;
って、書いておいてなんなんですけど‥‥(^^;
>>44 オイラー角だと、回転の順番によって結果が変わりますが、 >> そのことでしょうか?たとえば
それもありますが、オイラー角だと同位置にいても状況が違う場合がある ということなんです。
>□X軸回転ジョイント > □Y軸回転ジョイント > □Z軸回転ジョイント
Γ形の線形状を描き、その下端に上記のジョイントを入れたとします。 この状況で、Z:180度→Y:180度→X:180度と動かすと、見た目は 初期状態と同じになりますが、各々の回転軸に変換がかかっているので 初期状態とは違いますよね。 この見た目が同じになる3軸の組み合わせは無数に考えられるので、 同位置にいるから3軸の変換が同じだとは言えないんです。
回転ジョイントにより見た目では同じでも、変換のかかった形状を 初期値に戻すと変換プロセスにより、不要な軸まで動いてしまいます。 で、この動きは前に動かした順番と角度に依存します。
ボールジョイントではこれが起こらず、中間にどのように動かしても 最終的に初期と同位置にいるのであればリセットをかけても動きません。 ということは、ボールジョイントは初期の状態(前の状態)と最終の状態 (次の状態)だけで決まり、その動かすプロセスとは関係がないという ことなんです。
先につるさんが書かれている >>ボールジョイントの場合は、回転の処理の際、「”どこから>どこへ”動くのか、 >>ということしか気にしない」ので、そのようなことはありません。 ということです。
これがボールジョイントの使い易いところで、回転ジョイントだと変換が かかっているか無変換か、かかっているとするとどのようにかかっているか によって、次の動きを変えなければならない場合があったりします。
>>最初から適切な3軸ジョイントを仕込むことで、かなり自然な制御は出来ますが、 >>無理な操作を続けているうちに破綻します。
ですね。回転ジョイントで動きを付けて行く場合、ある時点でどうしても一度リセット してポーズを付け直さなければならなくなることが多いです。すると、この間の動きは 非常に不自然(ありえない動き)になることがあります。これは、前までの動きに 無理がかかっている場合なんです。
|