2012年 9月 の記事

可動モデル作成(QUMARION用)

 

QUMARIONを使うアプリ[CLIP STUDIO ACTION]で使う可動モデルをPoserフィギアを流用して作成してみました。
はっきりいって、CELSYSのアプリ/マニュアルの出来が悪すぎて苦労しました。
WebでCELSYSの評価をみても、最初はβ版レベルの製品?を出して1年以上かけて使えるレベルのものになるのが過去の製品でもあったようです。
作成の手順は
Metasequia(OBJ) → 秀丸エディタ(CR2/OBJ) → Poser(CR2) → DazStudio4(FBX) → CLIP STUDIO COODINATE(C2FR) → CLIP STUDIO ACTION となります。
1. 不要なオブジェクトの削除 (Metasequia)
MetasequiaでPoserフィギアのオブジェクト(OBJ)から不要な部分(歯/舌etc.)を削除しました。
同じテクスチャを用いるマテリアルの統一も行いました。
2, ボーン作成の準備 (秀丸エディタ)
Poserフィギアのアクター名称がボーン名称になるので、キャラクターファイル(CR2)/オブジェクトファイル(OBJ)を秀丸エディタで置換します。私は秀丸マクロを作成して作業しました。
ボーンの末端などが対応するアクターがないので追加してツリー構造を可動モデルと同一になるように編集しました。
3. ボーンの調整 (Poser)
Poserのセットアップルームで可動モデルに大体同じなるように調整しました。
4. Poserキャラクターファイル(CR2)からFBXファイルに変換 (DazStudio4)
Poserキャラクターファイル(CR2)をDazStudio4にインポートし、FBXファイル形式でエクスポートしました。
5. FBXファイルから可動モデル(QUMARION用)を作成
CLIP STUDIO COODINATEのボディの追加でFBXファイルを読み込みます。
読み込んだボディを選択状態にし、標準ボーンマッピングでPoserフィギアのボーンを可動モデル(QUMARION用)の標準ボーンにマッピングします。
マッピングができたら、マテリアルを設定し、可動モデルファイル(C2FR)を書き出しで完成です。
ここまでの記述だけだとあまり苦労せずに作成できたように見えかねませんが、実際は思いっきり悩みました。
CLIP STUDIO COODINATEの出来がβ(αかも?)レベルで、標準ボーンマッピングではマッピングができないとメッセージも出さずに何事もなく操作が終了します。メッセージが出ないうえにマニュアルの記述が全然足りないので、なにが悪いのかわからない。あーでもない、こーでもないと試行錯誤しました。
結局ボーンのツリー構造にミスがあり、標準ボーンと異なっていたのが原因でした。
完成した可動モデルをCLIP STUDIO ACTIONに読み込めばQUMARIONでポーズが設定できます。

坊主なのはヘアーモデルがうまく作成できていないためです。

tkinter 導出クラス

右の画像のようなボタンを配置したウィンドウを使うスクリプトを開発していて、なかなかエラーが取れずにかなり悩みました。
ボタンが沢山あるので、コールバック関数で状態を変化させたり、それに合わせてボタンの外観を変化させるのにButtonウィジットの導出クラスを用いることにしました。
わからないことはGoogleさんに聞けということで、tkinterとpythonで検索すると大体同じページがヒットします。
そこにあるサンプルを参考にするのですが、サンプルなので簡単な構造になっていて、複数の関数とかクラスの構成になると名前空間の解決がなかなかできません。メインプログラム/サブ関数/クラスとかの位置を変えてもあちらを立てれば、こちらが立たずと全然エラーが取れませんでした。

思いっきり悩んだ末にやっと解決した結果はtkinterモジュールのimportの方法でした。
下記リンク先に記述してありますが、importには3通りの方法があり、すべて名前空間が異なるようです。
コーディングについて – import
私はサンプルによくある「from tkinter import *」というコーディングをしていました。この方法だとtkinterのウィジット等のコーディングがシンプルになります。
「import tkinter as tk」にコーディングを修正したら、あんなに悩んだ名前空間の解決ができました。
この方法だとtkinterのオブジェクトに親クラス(tk)の記述が必要になりますが、明示的に指定するのでエラーがでにくくなるのではないかと思われます。
とりあえず、スクリプトが動作するようになったので万々歳です。
tkinterのリファレンスはリンクのPython Tutorialのページの左側メニューのPython – GUI Programmingがお勧めです。
P.S.
作成しているのは、Clothing MorphKit for Victoria 4 by Netherworks Studiosを使ったバッチ処理スクリプトです。

自作競泳水着

以前にRederocityにアップしたPoserシーンを修正してレンダリング

ボディの体型をKandiiに、問題のあった競泳水着を全面的に自作したものに変更しました。
この自作競泳水着はレンダロにベンダーデビューしたいなぁと思って作成しました。
objはMetasequoiaで0から作成し、DAZ V4のフルボディモーフをほとんど組み込み、テクスチャを2つほど作成したところで中断しています。
あと残っている作業はもうすこしテクスチャを増やし、パッケージングだけなんだけど・・・
テクスチャの作成とか、動作チェックetc.のテスト作業してみたいという奇特なひとは右側メニューのメールフォームでご連絡ください。

QUMARIONでポージング

QUMARIONでポーズを作成し、Poserにインポートしてみました。
QUMARIONで手足etc.を動かすと、ほぼリアルタイムで[CLIP STUDIO ACTION]に反映されます。

ほぼ満足できるポーズができたならば、BVHフォーマットでエクスポートします。
今回、作成してみたポーズは[マクロス 愛おぼえていますか]の1シーンから、ガシャポンのフィギアがあったのでそれを見ながら作ってみました。
Poserでフィギアをロードし、先ほどのBVHファイルをインポートします。
BVHファイルをインポートした素の状態が下記画像の左端です。
IKを外し、ボディのxyz回転を操作して、正面を向くようにしたのが中央の画像です。
QUMARIONでは作成しきれなかった細かなポーズ調整をした結果が右端の画像です。

ポーズ調整後のフィギアにA3IDOL服を着せて、レンダリングしてみました。
服から肌がはみ出ていたりしたので、フィギアのみ/服のみのレンダリングをそれぞれ行って、合成しています。

最終的には1曲分のポーズを作成して、アニメーションを作成したいのですが、私の技術力・忍耐力では無理そうです。
(MikuMikuDanceで作成した人がいるようなのでそのデータがもらえたらなぁ・・・)

セカンドスキンブレンダー解説 (3)

メッシュの食い込みを表現したボディストッキングのセカンドスキン

セカンドスキンブレンダーでメッシュのボディストッキングを作ってみます。

1.まず、ボディストッキングのトランスマップを作成します。
元のスキン(肌)テクスチャを残す部分は黒 RGB=(0,0.0)にし、メッシュ部分は白 RGB=(255、255,255)にします。
TorsoとLimbsのメッシュをズレがないように繋ぐため、V3のテンプレートからトランスマップを作成し、TextureConverter2でV4用に変換しました。

 

2.次に、肌へのメッシュの食い込みを表現するためのディスプレイスメントマップを作成します。
マップの明るい部分の肌が膨らむようになります。(つまり膨らんでない部分が食い込んでいるように見えます。
1.のマップとほとんど同じように見えますが、メッシュ部分は黒 RGB=(0,0.0)になります。(重要)

3.このディスプレイスメントマップを、元のフィギアのスキンマテリアルに設定します。
スキンマテリアルの 2_SkinTorso/2_Nipple/2_SkinHipのDisplacementノードでNew node→2D Texture→image_mapをクリックし、ノードを作成した後 image_Sourceに作成したTorsoのディスプレイスメントマップを設定します。
DisplacementのValueは0.3を設定しました。
同様にスキンマテリアルの3_SkinArm/3_SkinForearm/3_SkinLegのDisplacementノードにLimbsのディスプレイスメントマップを設定します。
この段階でレンダリングすると肌の食い込みが表現されているのがわかります。
4.次に、セカンドスキンブレンダーで使用するマテリアルファイルを作成します。
デフォルトのVictoria 4.2をロードし、マテリアルの 2_SkinTorso/2_Nipple/2_SkinHip にメッシュのマテリアルを設定します。とりあえず BasicMaterialのLeatherBlackを設定してみました。
メッシュの厚みを表現するために、Displacementにノードを作成し、(New node→2D Texture→image_map) image_Sourceに1.で作成したTorsoのトランスマップをディスプレイスメントマップとして設定します。
同様に、3_SkinArm/3_SkinForearm/3_SkinLegのDisplacementノードにLimbsのトランスマップをディスプレイスメントマップとして設定します。
このマテリアル設定をMaterial collection(.mc6)ファイルで保存します。
5.セカンドスキンブレンダーを起動して [SECONDSKIN MATERIAL] に4.で作成したマテリアルファイルを、[MASK MAP]に1.で作成したトランスマップを指定します。
[Blend Skin]ボタンを押下して、ボディストッキングのセカンドスキンを生成します。
レンダリングすればメッシュの食い込みを表現したボディストッキングの画像ができます。

TOP

初めて訪問された方へ

kurokoのPoserブログへお越し頂き有難う御座います。 ここは、私のPoserについて好き勝手に書くブログです。 好き勝手に書きますので、当プログが気に食わない方は、速やかに退出してください。 コメント投稿で「お名前(ハンドルネーム)が無い(名無し・通りすがりなど)や、ふざけたハンドルネーム(その場で適当につけたと思われるもの)」のは基本的に全て削除の対象にします。 場合によってはアクセス禁止処置をとります。 過去に匿名で粘着された経験があるための防止処置です。