オリジナルのデッサン人形を作りたいなー(暫定版)
 

デッサン人形はDirect3D RMっつー物らしいです。DirectX5〜6の頃の技術らしいので、ちと古い規格らしい。
「らしい」を連発してますけど、私しゃDirectXの仕様書なんか読んだ事無いし、ましてゲーム用のデータを作る事なんかもやった事も無いんで、webを見て回って調べただけの程度の知識でこのページを書いてますので、文中に間違い等が有るかもしれないので、その辺はご了承くださいませ。

このページに書かれている事をマネて、コミックスタジオEXのプログラム及びOSに深刻な障害もしくは修復不可能な破損を生じたり、回復不可能なデータの消失や破損を生じても、このページ作者は一切責任を負いません。



このページ、長々と書いてますけど、結論としては「まだ作れてもいなければ、改造すら出来ていないし、方法を模索中」って事なので、あまり役には立ちません。
デッサン人形無くても描けるようになった方がよさげつーか、そもそもデッサン出来てない人間には正確な3Dモデリングすら出来ないという罠。デッサン人形を作る為にデッサンの勉強をすると言うのは、非常に重大な間違いを犯している気がします(爆)
さらに、ボークスの人形素体を見ながらモデリングするくらいなら、直接人形を見ながら描いた方がインターフェース(?)が優れてる気配がギュンギュンします。
えーっと(汗)、デッサン人形ツールに、人形以外のデータを手軽に読み込んでレイアウトの参考にする方法を探るとか・・・(←3DLT有るのにか?)


コミスタEX付属のデッサン人形のポーズをリセットして、普通に立ってる状態にする。

テキストエディター使って、デッサン人形内の各Frame(パーツの数だけ有ります)の
TransformMatrixの第1項〜第12項(回転の値?)までを

Frame Frame17_w7_left_leg2_Layer1 {
FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000,    ←X回転
0.000000,1.000000,0.000000,0.000000,   ←Y回転
 0.000000,0.000000,1.000000,0.000000,   ←Z回転
 -0.003250,-0.435500,-0.014000,1.000000;;     ←x,y,zのオフセット
}

てな具合に気合で書き換えて行くと、ポーズをリセット出来ます。
13項〜16項の値をいじると、関節の位置がズレたりして大変な事になるりますので、手を出さない。
昔のレポでは何故だかバイナリエディター使ってましたけど、普通のテキストエディター(メモ帳)でも編集出来ました。
X形式のファイルはテキスト(ASCII)形式でも記述できるものらしい(?)

上記の改変をすると、デフォでこーんな小さく表示されてしまいます。

カメラでちょっと寄ればいいんすけど。

ヘタにいじって失敗して人形のファイルが壊れても補償できませんので、正直お勧めできない。


実験その1
複数のMeshの入ったXファイルが欲しかったので、手っ取り早く用意。
anim8orのアニメーションチュートリアルのサンプルデータをconv3ds.exeでXに変換。
変換した状態では各Meshの入ったframeが一つの階層に入ってるけど、MotionWorksで親子関係をつけた物は階層化している。
画像はSayoriでプレビューしたもの。

しかし、MotionWorksで親子関係をつけるには「一つのファイル内に複数のMeshが入っている物限定」なのですが、意外にそーゆー形のXを書き出せるフリーのツールは無い。知ってる限りでは、アニメーション設定したanim8orの3DSエクスポートをconv3ds.exeでXに変換した物だけ・・・
で、anim8orにメタセコLEで作ったのをインポートしてとか企んだら、anim8orってばLwoとか3DSはインポート出来てもDXFは無理だっつー。(シェアレジストする予定)
そんな訳でメタセコLEでは作れないけども、アニメーション系のプラグインの中に、そーゆーのが有るかも知れず(正直、メタセコは使い始めたばかりであまり詳しく無い)


 
 



実験その2
その1の結果を踏まえて、もうちょいと踏み込んだ実験。

メタセコで作成中の自作モデルをデッサン人形で読み込んでみたら、モデリングした時の原点が回転軸になってたんで、「Meshの原点=可動軸(関節位置)」なんじゃないかと疑う。

 

Mesh内のローカル座標の原点(0.0.0)が関節位置っつー仮説を調べる為に、デッサン人形のデータを改造。
テキストエディターで各frameのTransformMatrixを

1.000000,0.000000,0.000000,0.000000,
0.000000,1.000000,0.000000,0.000000,
0.000000,0.000000,1.000000,0.000000,
0.000000,0.000000,0.000000,1.000000,

と、無変換状態(Meshに移動変形が無く、Meshのローカルとグローバルの原点が同じ位置)にして、MotionWorksで読み込み。
変な物体が出現してますが、よく見るとデッサン人形のパーツが関節位置をグローバル座標の原点の位置になるように配置されてるのが判る。

MotionWorksのParent-Childモードで各パーツを移動(正確には各パーツのMeshが入ったframe)を移動させる。関節の支点もframeの位置に追従して移動している(グローバル座標を移動しても、各Meshの内部のローカル座標内部は平行移動すると言うか、TransformMatrixがMatrixでframeをTransformするとしか説明できん)

バラバラ〜

合体中

 

半分合体させた所で、Animationモードでちゃんとインバースキネマティクス(IK)が機能してるかチェック。
frameの階層構造自体は改変してないので、階層に沿った可動をする。

MotionWorks上で移動操作するって所に難がありますが、3DStudioMAXなんか持ってないので我慢。
デッサン人形ツールで読み込んだら、ちゃんとIK付きで可動しました。
何故だか左足がそっくり消えてしまいましたけど(汗)
Meshを自作の物と交換して、関節位置を修正すれば「自作デッサン人形」が作れそうな気もする。
あいにく、既存のX形式のファイルを読み込んで形状を直接編集できるソフトっつーのは皆無なので、デッサン人形の形を修正するとかは無理っぽい。

モデル選択の所もちょこっと改造。



その他の謎

デッサン人形ツールって、Materialの着色をちゃんと表示できるらしい。コマに取り込む際には、カラーのモデルもグレー化されて貼られます。
テクスチャーまで対応してるかは不明(Xにテクスチャを貼れるツールを持ってない)。拾ったテクスチャつきのXファイルを読み込んでも表示出来なかったので無理っぽい。


Meshの中に、中心線の形に帯状にポリゴンを配置してMaterialを指定しとけば、中心線っぽいものは表示されるかも。
ちょっと実験。(貧乳ボディーつーか、ボークスのTYPE-C素体つーか、味も素っ気もない少年体型の人形が有ると良くない??)
線状の形状を配置
デッサン人形で読み込み
グレー化されてコマウインドウに貼られる。


MotionWorksのサンプルを読み込み。
デフォのデッサン人形とはframeの階層構造と名称が異なるのに、ちゃんとIKで動いてる。
って事は、関節の位置とかはプラグインには関係無く、「関節が設定されたモデルなら何でもオッケー」って事かも?

今回作成して、デッサン人形ツールに読み込んだデータで「ポーズの書き出し」を行っても、ポーズの読み込み時に失敗してコミスタが強制終了しました(爆)
さすがにそこまで甘くはなかったか。



過去の例からすると、うちのレポで扱ったネタはコミスタのバージョンアップ時に改善されてしまうパターンなので、デッサン人形も改善されるといーなぁ。
 

スペシャルサンクス 通りすがり様

END