background

weldについて

2007年01月17日(Wed)

ちょっとした覚書。

weldは同じ頂点番号の頂点を異なるactorに属する面が共有している場合に、weldはそれぞれ異なるactorに存在する2つ以上の頂点が至近距離に存在する場合に、一方のactorの頂点を他方のactorの頂点に追従させる機能である。
これによってactorがどのように変形しても、面が「繋がっている」ように見せることができる。
同一の頂点番号に対して働くので、同座標にある異なる頂点間ではweldは実現しない。

weldはactorのbend(屈伸)およびシーンファイルのbendBodies(パーツ間をなめらかに表示)が有効であるときに機能する。

actorの階層構造には依存しないが、便宜上基準となる側のactorを親、追従する側の子と称する。
weldはcr2ファイル内において、階層構造の記述の後、displayOnの次の行から

  weld 《子側のactorの内部名》:《フィギュア番号》
    《親側のactorの内部名》:《フィギュア番号》

という形式で記述される。

通常セットアップルーム等でフィギュアを作成した場合、このweldツリー構造はフィギュアの階層構造をコピーする形で作成される。

Poserの基本小道具の平面詳細を、グルーピングツールでグループ分けして(ついでにマテリアルも分けて)下記のようなフィギュアを作成する。

070117-1

ここで、part B(内部名B)とpart C(内部名C)は、part A(内部名A)の子階層である。

partBを-Y方向に、part Cを+Z方向にそれぞれ移動させる。

070117-2

子側となるpart Bとpart Cの端の面が伸びている。パート間に新たな面が作成されるわけではなく、端の共通する頂点がpart Aの位置から移動していないことがわかる。
また、part Bとpart Cの間にはweldの指定がないので、パート間が分断されていてる。

そこで、part Cがpart Bに追従するようにcr2ファイルにweld指定を追加する。

060717-3

最初のフィギュアと同様にpart Bとpart Cを移動すると、part Cの左端の頂点がpart Bの位置に移動する。

070117-4

さて、weldは同一の頂点番号を持つ頂点において働く機能であるので、異なる座標にある頂点には働かない。では、もともとは同一の座標であったが、後からデフォーマ等で頂点が移動した場合は頂点はどのように扱われるだろうか。

そこで、part Aのみをデフォーマ(マグネット)で変形させ、そのオブジェクトをwavefrontOBJ形式で出力し、外部ソフトにインポートしてみた。

出力のオプションに「ポリゴングループに既存のグループを含める」オプションのみを適用し、その他のチェックを入れない場合と、「モーフターゲット(ワールド変換なし)」にチェックを入れた場合で比較する。

070117-5

オプション無しの場合は、子側の頂点が親側の頂点に追従している。

また、子階層をマグネットで変形させた場合も同様である。

070117-6

このことから、二つのことがわかる。

  • 子側のactorがモーフやデフォーマ等によって変形を加えられた場合、weld機能によって共通頂点は移動していないように見えるものの、内部の実際の処理としては移動している。
  • 出力オプションの「モーフターゲット(ワールド変換なし)」は、ワールド変換(軸回転・移動・拡大縮小など)を無効化するだけではなく、weldによる頂点の移動も無効化する。

poser上ではweldの効果を無効化するにはbendを無効にするしかない(するとモーフやデフォーマの効果も無効化されてしまう)ので、このオプションはモーフの効果だけを確認できる唯一の手段である。

まあ、だからなんだ、と言われたらそれまでの話なんだけど。kirakiraさんちで書かれていた自分の言いたかったこと、というわけで。

もう一つ。jointを別パートに適用させるやつ。

070117-7

part Bをz軸回転させた時に、影響範囲が他のパートに及ぶように設定する。デフォルトではpart Cはpart A-part B間の影響を受けない。そこで、part Aにある「part Bのz軸回転によるjoint」のチャンネルをpart Cにコピーする。

070117-8

しっかり追従するようになった。一つのactorに対して、複数のactorを追従させることも可能なようである。

ただし、この状態ではJPの設定ができない。なぜなら、part Bのz軸回転を調節することで値が変更されるのは、part B自身とpart Bのjoint内でotherActorとして指定されているpart Aのみだからである。この状態でJPを変更すると、part A・part Bは新しい設定になるが、part Cにはロードした時の設定が残ってしまう。

また、part BのotherActorに複数のactorを指定することはできないようだ。otherActor A:1とotherActor C:1を複数行に記述すると後の方の行が優先され、otherActor A:1 C:1などのように記述するとpart Bのjointチャンネルそのものが無効になってしまう。

マグネットの影響は複数のパーツに及ぶ事が可能なわけだから、技術的に不可能なわけではないと思うが……果たして。

こういう技術的な話、なかなか日本じゃ見かけない。知ってる人は知ってる事なんだろうけど、テキストとしてネットに上がることはあまりないようである。まあ調べるのも面倒だし、書くのも面倒だけど。それとも昔は存在したものの消失してしまったんだろうか。バージョンによってPoserの仕様が変わったとしても、「その時点でのPoserの話」または「その時観測された現象」ということで無いよりずっと有用な情報だと思うんだけどなー。

《2008.5.28 誤情報訂正》
Weldの条件を完全に誤解していたので訂正。
詳細は2008年5月28日付けの「Weldについて(再)」にて。

《2011.11.12追記》
一部のリンク先のコンテンツが破棄されたため、該当するリンクを削除しました。



Comments

こ、これはぁ~~(味皇さま風に)

(・o・)ぉぉぉぉぉ~~!!
_ψ(‥ *) かきかき。。。(笑)
おありがとうごぜ~やすぅ~ ハハァー!!(ノ´ロ`)ノ☆^((o _ _)oペコ(笑)
 
絵作りでお忙しい中、ありがとうございます <(_ _*)>ペコリ
 
weld は…
(・_・*) ン? 頂点番号が問題だったのですね。
 
読ませていただいている間に…
Shade をお使いとは思えないくらいのポリゴンモデラーっぷりに
感服いたしました次第でありますっ( ̄^ ̄)ゞ(笑)
 
(・_・*) ン? どこかで見たやうなブログへのリンクが…
…って、(ノ><)ノ ヒィ(笑)
けしけし…(爆)
うっ、消えなひ…(^^;)
 
う~ん。。。
情報は、一カ所に集めにくいですし、
ソフト自体が変化してしまいますと、
やらなくていいこと(笑)になってしまいますよね(^^;)
ぽざは、そこそこ長い間、続いている感じですけれども…
 
わたしの場合、必要以上にあまり攻め込んでいませんでしたので(自爆)
Kyotaro さんがいらっしゃって良かったです♪(笑)
ありがとうございました <(_ _*)>ペコリ
 
またよろしゅ~にぃ~♪(笑)

Name
kirakira #E9NqROVM
Site
URL
Post Date
2007-01-18
Post Hour
01:40:49

Edit

うーむ、なるほど~
連動のカラクリも奥が深いですねえ…
BATさんのノートに、linkParmsのことが書いてあったのですが、これもそのうちに研究してみてくださいませんか(人頼み)

Name
HONEY #pM6OKWLY
Site
URL
Post Date
2007-01-18
Post Hour
13:05:28

Edit

>kirakiraさん
いえいえ~こんなものでよかったでしょうか(^^;
まあ、煩悩の赴くままに検証もするということになりましたので……。
Poserの仕組み的なところは、WavefrontOBJの仕様から考えていくのがいいかな~、と思いました。どのモデラを使っていても、.objにエクスポートすれば結局は同じですからね(笑)
 
>ブログへのリンク
ふっふっふ。消えませんよ~(笑)。トラックバックも送ろうと思ったのですが、送っても表示されないようですのでそちらは諦めました。そんな、嫌がらなくてもいいじゃないですか~(笑)
情報は……ログが残らないのが歯痒いですね。一ヶ所に集まらなくても、ネットワーク上に集積されればいいじゃないですか。消える記事は参照され得ないという点で、誤った記事よりタチが悪いと思います。
こちらこそよろしくお願いします~(ニヤ)
 
>HONEYさん
まだまだ、分からないところが(多分間違っているところも)多いです(^^;
V4は色々違っていると聞いて、ちょっと調べてみようかと思ったのですが……実は自分BASEしか持ってないのです。BASEを開いてみたら空骨はあるんですが、linkParmsというものは無いみたいですね。えー……、M4が出てからでいいですか?(爆)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-18
Post Hour
16:57:21

Edit

はい、それはもうハカセのお時間のあるときに(笑
M4、どんなんですかねー。
海外のPoserフォーラムを見ていると、「CR2の神様」「Pythonの鬼」「シェーダー師匠」とでも呼びたくなるようなヒトビトがいらっしゃいますねー。この人が言うことだったら、確かだろう、みたいな。
日本のPoser界では、ベテランの方々がこうした研究発表(?)活動を縮小されているようで、残念至極です。
自分で少しは調べろって(^^;)いやいや…

Name
HONEY #pM6OKWLY
Site
URL
Post Date
2007-01-19
Post Hour
15:56:58

Edit

>HONEYさん
いつの間にかハカセなっているようですが、自分の場合は「闇博士」だそうですからー(笑)
M4は……どうでしょうね。V3->V4の流れを見る限り、割と歓迎出来そうな気がするんですけどね。
海外にはホントに凄い方々がいらっしゃいますよねー。私も日々勉強させて頂いてます。もっと英語が楽に読めたら、もっとずっと色々頭に入っているんでしょうけど……。こういう時、自国語で読めるテキストの存在って貴重ですよね。
日本のベテランの方々が縮小して来られているということは、そろそろ中堅層が頑張らなきゃいけないということなんでしょうが……(小声で)ヒトリジャゼッタイムリー
気軽に分担したり、情報交換できたらいいんですけどね~。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-20
Post Hour
02:46:01

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/190-054ec2f8



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

10 | 2023/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。