bp08.拡縮センター位置変更・頭身追従

2011/09/14

拡縮アイテム・センター位置変更


夢城で数人の方とやり取りしてる間に
なんとなく方法が見えてきたので忘れないうちに記述しておきます。

mayaで作業すると余計なこと考えずに変更できる様ですが
blenderで変更する場合はちょっとテクニックが要ります。

その方法など。

自己アイテムで申し訳ないのですがこんな時に使えます。
sc_02.jpg


DAEをテキストエディタで開く


エキスポートしたデータはテキストエディタで開けますので
その数値をいじります。メモ帳だとフェーマット、改行位置など崩れる場合がありますので
もーちょっと細かいことやりたい場合はフリーのテキストエディタをおすすめします。
行数番号がでるやつ、2ファイルを比較して変更部分や差分が表示出来るやつが便利です。

sc_01.png
うちはコレを使ってますが・・慣れてるツールでやってくださいませ。

頭身追従にするためには


ブレンダで書きだしたファイルはそのままでは頭身追従しません。
頭身追従させるために元白紙からの骨の構造を丸っとコピーします。

<library_visual_scenes>
</library_visual_scenes>

このブロックをまるまる差し替え。
骨の移動などしていない場合はこれで行けます。

センター位置の変更


■座標系の変更
ファイルの記述を見るとわかるのですが
元DAEファイルはY-UP
blenderファイルはZ-UPです。

ブレンダで寝かした状態で出力しなくちゃならないのはこの為なのですが

ブレンダで作成した位置座標をそのまま当てはめても
うまく動作しませんのでちょっと工夫が必要です。

また、テキストファイルでの座標値はローカル座標(親からの相対座標)で
記述されていますので変換に工夫が必要となります。

たぶんどっかの誰かがローカル変換プラグインか
スプリクトで一発表示するものを書いてる(あるいは標準で出来る?)
かもしれませんが自分にはわからなかったので現状わかるやり方で説明します。

ポリゴンオブジェクトのオリジン位置を親とした場合に
各ポイント座標でローカル位置が出ますのでそれを利用します。

ブレンダでボーンの移動


拡縮のボーンはsca~という名前ですので
まずそれを探します。

ブレンダ上で好きな位置に移動した後
作例として拡縮ヘッドチューブのセンター座標を変えてみます。

sc_03.png

Armture選んでEDITモード(Tab)、sca~を選択します。

sc_04.png

ざっくり移動(まずテストでわかりやすい位置がいいです)

1個親のhead0xfbca657aを選んだ後、
3Dカーソルを移動させます。(Shift+S)
sc_05.png

Editmodeをぬけて

新規ポリゴンを作成(Shift+A)
sc_06.png
3Dカーソル位置に作成されます。

テキトーな位置に作成して後から合わせてもいいです。
ポリゴンのplaneでEDITモードに入って
スナップON、vertexにスナップを選択します。
sc_07.png

ポイント一個選んでをsca~のボーンに移動します。
sc_08.png
スナップが効いてると気持ちいいです。

移動したポイントの座標を見ます(Nキー)
sc_09.png
ここで重要なのはLocalを選択すること

あーイイカンジで変な単位入ってきてますねw(後述)

ブレンダ作業はここまで。

テキストファイルの書換


次にDAEテキスト作業です。

元白紙の拡縮ヘッドチューブのファイルをテキストエディタで開きます。

223行目
sc_10.png

この数値を書き換えます。
ブレンダは位置によって mm μmとかの単位が入ってきますので
全てcm単位に変換する必要ありです。
右端数2個はブレンダ表示上削れます。

mm→cm (小数点1個右移動)
μm→cm (小数点4個右移動)

ちょーめんどい。むきー!!そのままコピペしたい。
たぶんどっかに単位変換するTIPSがあるのでわかり次第のっけます。

変換の参考画像。(拡縮ヘッドチューブデフォルト値)
sc_11.png

で、さっきのファイルを書き換えた値は
コピペで単位変換して
<translate sid="translate">13.746 9.747 -0.0426404</translate>
この部分のみ書き換えてみます。
別名でDAEファイルを保存。
PTCで同アイテムにインポート。

予想通りにうまくいきました。
sc_12.jpg


テキスト変換方法2


前記の変換方法がイラッとしたのでw
別の方法に変えます。
ブレンダから構わずDAEで出力します。

さっきの変換
<translate sid="translate">13.746 9.747 -0.0426404</translate>

ブレンダ出力の該当部分。
<translate sid="location">13.74562 -0.0426444 -9.746597</translate>
<translate sid="translate">13.74562 9.746597 -0.0426444</translate>

ラストの座標を真ん中に持って行って符号を逆転 x(-1) すればいいみたい。
少数下2桁も削れなくて済む。translateの記述も注意。

なので一旦ブレンダファイルからの出力を利用して
骨構造自体は元白紙ファイルを使用します。
座標はプレンダからの出力をコピペ+変換。

ようやく方法が見えてきた・・・

画像まで使って丁寧にかいたポリゴンを使った座標出しは
必要ありません!!何やってんだワシ。。もったいないから残しておく。
何かの参考にはなるだろう・・たぶん。


センター移動方法まとめ


■ブレンダ側
1、元白紙インポート
2、好きにモデリング
3、センター(sca~のボーン移動)
4、ウェイト付(sca~ 100%のパターンが多い)
5、DAE出力

■テキストエディタ側
6、DAE出力したsca~該当部分を変換方法2のやり方で変換
7、元白紙を開いて数値変更
8、<library_visual_scenes>~</library_visual_scenes>のブロック(数値変更部分含む)を
ブレンダDAE出力の該当ブロックと差し替え
9、別名で保存

10、PTCインポート

以上!

やってみて出来なかったら連絡くださいませ。

単位変換 追記2011/09/24

単位変換する方法がわかりました。
sc_22.png
標準機能でやはり出来たようです。
UnitをNONEにすればできた。
sc_23.png


  • 最終更新:2011-12-06 15:08:51

このWIKIを編集するにはパスワード入力が必要です

認証パスワード