忍者ブログ
ゲームを作りながらFamous Writerを開発するブログ
[52]  [51]  [50]  [49]  [48]  [47]  [46]  [45]  [44]  [43]  [42
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

週の前半は、Poserをいじって遊んでおりました。
攻略対照の3人娘を作ろうと思いつつ、Poserと六角大王の連携を研究したりいたしました。
六角モーフを作ることができたらいいなと思ったんです。
素材を作ることより、ファイルの仕様とかに興味が移ってしまうのが、私の悪い癖でしょうか(笑)。

まず座標の単位ですが、六角で144倍で読み込むと、気持ちよく作業ができそうです。
フィギュアの高さが、だいたい六角のグリッドの立方体に収まります。
これは、六角で100*100*100の立方体(グリッドの立方体の大きさ)を作って、Poserで「フィギュアの高さ」にして読み込んで、それぞれの数値を比較することで確認いたしました(厳密には、143.なんたら倍になる)。

そこまではいいとして、問題はobjファイルの頂点座標の精度です。
Poserは、浮動小数点になっているようで(精度は不明)、六角は「0.0000」のように小数点以下4桁の値を吐きます。
六角の方が精度が粗いのですが、Poserのように小数点5桁以下がある数値は「四捨五入」で読み込まれているようです。
切り捨てや切り上げではなく、四捨五入ですな。
従って、Poserに戻す時に1/144しても、小数点5桁以下が失われるので、微妙にずれることが考えられます。

そして、モーフは頂点の順番が変わらないことが条件になりますが、これが六角で読み込むと変わります。
従って、六角でPoserのモーフを作ることは、それぞれ単体では不可能という結論になります。

ただ、プログラムを書いて、objのfコマンドなどから座標順を導き出し、変換することは可能かと思われます。
1.Poserで吐き出したobjから、座標値を144倍にし、さらに小数点5桁で四捨五入したobjを作成
  →頂点順が変わらぬまま、六角の座標系に変換
2.144倍のobjを六角で「等倍」で読み込んで、すぐobjを書き出す
  →座標系が変わらないので、1で作ったobjと比較することにより、頂点順がどう変わったかわかる
3.六角で作業し、objで書き出す
4.2の情報を元に、3で作ったobjの頂点順を並び替え、座標値を1/144すると、Poserのモーフターゲットとして使えるファイルになる

あと、問題はobjのvnコマンドの値です。
1,2は、vを単純に任意倍し、vnはいじらないプログラムを書いて実験したのですが、問題なさそうでした。
ベクトルですから、数値が違っても、比率が同じなら大丈夫だろうと思いまして。
ここで面倒くさくなってやめたんですが(笑)、ベクトルがそのままだと、4の時点で問題が発生するかもしれません。
だめなら、手抜きをせず、きちんとベクトルを計算すべきでしょうな。

方針はなんとなく見えており、変換プログラムさえ作れば、六角でPoserのモーフターゲットを作ることは可能でしょう。
が、私としては、生活や時間的な都合もございますので、そこに労力を割くなら素直にCarraraかHexagonを買った方がいいかなと思い、現時点でこれ以上は突っ込まないつもりです。
というわけで、今日からFamous Writerを再開します。


4/15追記:
よく考えたら、Poserのモーフターゲットになるobjは、vだけあればいいんです。
従って、4は考えなくていいことになりますな。
あとは、テクスチャの位置は変わらないという特性を利用して、fから頂点順も整合できそうです。
ちょっとやってみたんですが、私の頭ではどれがどのデータだか把握できなくなったんで、あえなく玉砕ということで(笑)。
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
最新コメント
[06/07 みずき]
[12/21 Rocco Noble]
[11/05 f]
[03/02 Ming.]
[03/02 Ming.]
最新TB
忍者ブログ [PR]