↑上や←左のタブでコンテンツを選べます
79 番の記事に対する返信記事の投稿
タイトル:
名前:
メールアドレス:
ホームページ:
本文:
確認のため、左記文字列を入力してください
削除用パスワード:

関節数が変化しても… v(*_*)
#79   2001/10/21(日) 00:48   投稿者: SHIG_MA

立て続けで恐縮です。

 関節数が変化しても登録ポーズが崩れないコネクションビルダーと言う物も作れるんじゃないかと思うんですが、どうでしょうか?
 コネクションビルダーで、多関節物体のユニットを削除して関節数が減ると、それまでに登録たポーズが崩れて使えなくなるのは、ある意味当たり前で、そういう仕様なんだと言われているんですが、コネクションのファイルをテキスト編集(メモ帳など)で書き換えて、登録してあるポーズを使えるようにするということは出来ますよね。パーツを削除する場合はツリー構造の端の枝葉の方からしか削除出来ないんですから、それほど複雑にはならないみたいで。


 例えば、ロボットのシッポを削除するような場合、
1.削除する前にそのシッポがどう登録されているかを確認するため、コネクションファイルを「メモ帳」等で開く。
 後半の方にポツポツと並んでいる「/* Unit 〜*/ 〜」の2行後の「obj」に続く文字列がユニット名になっているので、上から数えて何番目にシッポパーツが書かれているかを数える。

2.安全のため、コネクションビルダーでそのシッポパーツを削除し、新しいファイル名で保存する。

3.出来たコネクションファイルを再び「メモ帳」等で開く。
 上のほうにある「Pose:」に続く「0:」,「1:」,「2:」…というそれぞれの行がポーズを表していて、そこに沢山並んでいる「( unlabelled move ( 0 0 0 ) rot ( 0 0 0 ) )」というヒトククリの文字列が、それぞれのパーツの移動や回転を記録しているようなので、全てのポーズの行で、先ほど調べた「上から何番目にシッポパーツが書かれているか」の順番に相当する「( unlabelled move ( 0 0 0 ) rot ( 0 0 0 ) )」を削除、ファイルを保存して「〜.L3C.txt」となってしまったファイル名を「〜.L3C」に直す。


 こんな感じで、関節数が減っても登録してあるポーズが使えるようになったでしょ?(保証なしですが)
 その逆に、ユニットを追加して関節数が増える場合は、上から何番目にそのパーツが入ったか数えて、その順番に当たる所に
「( unlabelled move ( 0 0 0 ) rot ( 0 0 0 ) )」を挿入すればよい。

 それで、これらの作業をプログラムにさせられれば、関節数が変化しても登録ポーズが崩れないコネクションビルダーが出来るんじゃないかと思っちゃうんですが、どうでしょうか?