思いつくままを綴る雑記帳

Blender ShapeKeyの追加

昨日投稿した記事の中に出てきたFigureのことなんですが
Daz Studioの中で使用しているとパラメータを変更するだけで
Morphingされたりとかするんですよね~。
BlenderだとDeformerModifierを仕込んだりとかいろいろと
作業をしないと無理なんですが・・・さすが商用データと
言ったところですね・・・・

で今回のお話は、せっかくMorphingされた綺麗なデータが
あるんだからBlenderに持って行ってShapeKeyとして登録して
使ってみようと思ったんですよ。
元々のFigureは同じなのでWaveFrontで出力したデータの中の
Vertexの並びはデータをいじらない限り同じ順序で並んでいるはず・・。

ということで、こんな感じでWaveFront形式で出力!

export_data.jpg

Morphingしたデータを同じ要領で書き出して・・・

Blenderで書き出したデータをこんな感じで読み込む。

import_data.jpg

で、読み込んだデータは昨日投稿した要領でマテリアル関係を調整。
Specularが明るすぎると肌の質感がおかしいので暗めに調整。

Morphing結果のWaveFrontデータも同じ要領で読み込む。
こちらはマテリアル調整は不要。
必要なのはMorphing結果のVertexの位置だけだからね・・・
今回の実験ではFigure全体のMorphingをしているんだけど
基本的にはMorphingは部分的にされている場合が殆どなので
MorphingがかかっているVertexGroupを設定します。
設定するのは結果を残す方のObjectだけでOKです。
VertexGroupを設定したら、ShapeKeyのBasicデータを
作成します。

次にMorphingデータをShapeKeyを作成したObjectにコピーするんだけど
今回、指定したVertexGroupに含まれるVertexの位置情報を
指定した別のObjectから取得してコピーするためのScriptを
作成して、ScriptDeform Modifierで使用しています。
Scriptの中身は大した事ないのでBlenderのTextEditorで
実行しても構いません。
で、こんな感じでScriptDeform Modifierを実行します。

script_deform.jpg

実行すると、見た目は変化していませんが・・・
(ShapeKeyが効いているので・・・)
そしてShapeKeyを追加してからEditモードに入ると、
Morphingされた状態になっています。
Morphing結果を確認したらEditモードから抜けます。

shapekeys.jpg

RelativeをチェックしてValueスライダを増減させると
きちんとMorphingされているはずです。

どんな感じのMorphing結果かというと・・・・・・

Morphing映像


(⌒▽⌒)アハハ!

ScriptDeform Modifier用のスクリプトファイルはこちら。
スクリプトファイル

スポンサーサイト

コメント

コメントの投稿

URL
コメント

パスワード
秘密
管理者にだけ表示を許可する

トラックバック

トラックバックURL : http://perfectcat.blog101.fc2.com/tb.php/117-77d5860a
<< CarrotBranch | TOP | 最近投稿が減ったよね・・ >>