MMDのblogあかとんぼ(akatonbo)のMMDに関するBlogです。 

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://akatonboaka.blog86.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | HOME | ↑ ページ先頭へ ↑ |

【MME】WorkingFloorX_v001(仕事する床)を試す^^)ノ

   ↑  2012/01/21 (土)  カテゴリー: 鏡床(WorkingFloorX)
MikuMikuEffectの、「WorkingFloorX_v001」を試してみたいと思います。
床に仕事をさせます。WorkingFloor初挑戦です。

こちらの動画より。
【MMD】残りものエフェクト【MME誕生1周年】


作者は針金Pさんです(^▽^)
ありがとうございます。

WorkingFloorX.fx ver0.0.1


まずは「readme.txt」を読んでみます^^)ノ
以下、readmeから引用です。

>床面鏡像描画+Xシャドー描画を行います.
>以前作成したWorkingFloor2.fxにXシャドーを追加しました.
>Xシャドーについてはmqdl氏のxshadow.fxを参考にしました.

なるほど。床が、鏡のように反射するわけですね。
それと、「Xシャドー」がついているそうです。

Xシャドー・・・?
ま、なにかしらの影かなーと。

では、早速導入していきたいと思います(っ´▽`)っ
以下、太字がreadmeからの引用です。

・使用方法
(1)MMDの地面影は非表示に設定してください

 はい。(・▽・)ノ MME左上の「表示」→「地面影表示」 をクリック。

(2)WorkingFloorX.xをMMDにロードします.
 はい。(・▽・)ノMMDの画面に向かって、投げ入れます。

 Let’sドラッグ&ドロップ!
 そりゃ(ノ・▽・)ノ=[WorkingFloorX.x] [MMD]
 
 WorkingFloorX.xをMMDに入れた瞬間から、床が鏡状になりました。
 成功です(^^)ノ

 しかし、
 使用方法にはまだ続きがあるようです。

 なんでしょうΣ(゜Д゜)
 
(3)WorkingFloorX.fxの先頭にあるオフスクリーンレンダ定義の所定場所に適用するモデルを追加してください.
デフォルトでは 全てのPMD・PMX が適用されています


例) 初音ミク.pmd, 鏡音リン.pmd, negi.x を適用する場合の記述方法
"初音ミク.pmd = WF_Object.fx;"
"鏡音リン.pmd = WF_Object.fx;"
"negi.x = WF_Object.fx;"


 ???(?▽?)

 >WorkingFloorX.fxの先頭にあるオフスクリーンレンダ定義の所定場所
 ファイルの「先頭」・・・
 どこのことかな(・▽・)

 確か、MMEに使われている「fxファイル」というものは、
 PCのメモ帳(txt)で開いて内容を書き換え、
 数値をいじることでカスタマイズできるもののはずです。

 txtで開いて、実際に書き換えてみます。

 PCの「メモ帳」を起動し、
 「WorkingFloorX.fx」をドラッグ&ドロップします。

 そいやっ(ノ・▽・)ノ=[WorkingFloorX.x] [メモ帳]

 ↓

 以下、メモ帳に表示されたfxの内容です。

 
////////////////////////////////////////////////////////////////////////////////////////////////
//
// WorkingFloorX.fx ver0.0.1 オフスクリーンレンダを使った床面鏡像描画 & Xシャドー描画
// 作成: 針金P( 舞力介入P氏のMirror.fx, full.fx,改変 )
//
////////////////////////////////////////////////////////////////////////////////////////////////
#define UseMirror 1 // X影のみで床面鏡像描画を使わない場合はここを0にする

#if(UseMirror == 1)
// 床面鏡像描画のオフスクリーンバッファ
texture WorkingFloorRT : OFFSCREENRENDERTARGET <
string Description = "OffScreen RenderTarget for WorkingFloorX.fx";
float2 ViewPortRatio = {1.0,1.0};
float4 ClearColor = { 0, 0, 0, 0 };
float ClearDepth = 1.0;
bool AntiAlias = true;
string DefaultEffect =
"self = hide;"

//********** ここに鏡像描画させるオブジェクトを指定してください **********

"*.pmd = WF_Object.fx;"
"*.pmx = WF_Object.fx;"
"*.vac = WF_Object.fx;"

//************************************************************************



上記の文のうち、赤字部分が、readme(3)記述例の文章と似ていますね^^)ノ

 ※readme(3)記述例の文章
   例) 初音ミク.pmd, 鏡音リン.pmd, negi.x を適用する場合の記述方法
     "初音ミク.pmd = WF_Object.fx;"
     "鏡音リン.pmd = WF_Object.fx;"
      "negi.x = WF_Object.fx;"

  

記述例を参考に、メモ帳の文を変更してみましょう。
何が変わるのかな?

鏡音レンモデルを指定してみます。



//********** ここに鏡像描画させるオブジェクトを指定してください **********

"鏡音レン.pmd = WF_Object.fx;"
"*.pmx = WF_Object.fx;"
"*.vac = WF_Object.fx;"

//************************************************************************


赤字が変更した箇所です。

これで上書きします。
失敗した場合は、また新しくMMEを解凍すればいいよね^^)ノ

これで、レン君にだけ変化が現れるのでは。

MMDにリンちゃん、レン君の2人を読み込み、
違いを見てみます^^)ノ

モデル2名を読み込んだあと、
WorkingFloorX.xを読み込みます。

・・・
変化無し(゜Д゜)

あら
fxファイルが「WorkingFloorX.fx.txt」で
保存されているではありませんか。

あらら(ノ▽`*)

保存方法ってどうだったっけ・・
とりあえず「.txt」をデリート(ファイル名を「WorkingFloorX.fx」へ変更)します。

再度、xファイルをMMDに読み込み。

成功^^)ノ
ぱぱらぱっぱぱー



つまりreadmeの(3)の説明は、
一部のモデルにのみ床の鏡状を適用させる方法だったようです。

なお、足元の影が
「Xシャドー」とやらではないでしょうか(・▽・)


ここで、ご参考までにですが、
ファイル名、fxの設置場所について残しておきます。



①今回変更したのは、WorkingFloorX.fxの中の
  *.pmd → 鏡音レン.pmd のみです。

 WorkingFloorX.fx自体の名前は一切弄っていません。
(「鏡音レン.fx」など、モデル名に合わせてfxファイルを改名する必要はありません。)

 ②「WorkingFloorX_v001」ファイルの中身
  WF_MaskFloor.fx
  WF_MaskObject.fx
  WF_Object.fx
  WF_XShadow.fx
  WorkingFloorX.fx
  WorkingFloorX.x
  XShadow1.png
  XShadow2.png
 は全て同じファイルの中に入れておくこと。

 たとえば、今回変更した「WorkingFloorX.fx」だけ、
 別の場所へ保存・移動すると、MMD読み込み時に
 「エラー WF_MaskFloor.fxがありません
  エラー WF_MaskObject.fxがありません
  エラー WF_Object.fxがありません・・・
  ・・・」
 という、「見つからないよ!」の英語のエラーが出てきます。
 あまりないことかと思いますが、皆さんもお気をつけください(ノ▽`)

 ③「WorkingFloorX_v001」ファイル自体は、
 MikuMikuDanceフォルダに入れる必要はないようです。

 マイドキュメントの「ビデオ」フォルダへ「WorkingFloorX_v001」を保存し、
 xファイルをMMDに読み込ませた場合も、問題なく適用されました。


参考以上^^)ノ


では、無事床が鏡状になったところで、
readmeの残りの項目を見ていきます^^)ノ

以下、太字がreadmeからの引用です。

(4)MMDのアクセサリパラメータで以下の変更を行いキーフレーム登録してください.
 Tr:床面鏡像の透過度
 その他のパラメータで床の描画範囲を設定します.
 エフェクトをoffにした時のWorkingFloorX.xの白い板ポリ内が描画範囲になります.


 ステータスをいじって
 カスタマイズしてねってことでしょうか。

 では、早速いじってみたいと思います。
 MMD本体の「モデル操作」欄を「カメラ・照明・アクセサリ」に変更します。



 Tr:床面鏡像の透過度 は右下にあります。値は1.00となっています。
 この数値をいじってみます^^)ノ

 
 まずは、半分の0.50へ変更してみます。
 1.000.50
 「登録」ボタンをクリック。



 へー(・▽・)
 Tr値で鏡を薄くできるのですね。
 床の材質によって変更するとよさそうですね。


では、readmeを続けて読んでいきます。

その他のパラメータで床の描画範囲を設定します.
エフェクトをoffにした時のWorkingFloorX.xの白い板ポリ内が描画範囲になります.


ふむふむ。では、まず、今現在の描画範囲を確認してみます。
エフェクトをオフにし、WorkingFloorX.xの白い板ポリを見てみましょう。

MMD右上の「MMEffect」→「エフェクト使用」をクリックして、チェックを外します。

板ポリは白いそうですから、白い背景では見えません。
MMD本体の左上「背景」→「背景黒化
板が見えます。
これか~。

この板の範囲でしか鏡状にならないため、
数値をいじって板の大きさを変更すればよいのですね。
ほいほい!



(5)XシャドーについてはWF_XShadow.fxの先頭パラメータを必要に応じて変更してください

はい、先生^^)ノ

(6)描画順序は,背景ステージ→WorkingFloorX.x→その他のオブジェクトの順に設定してください.
 背景ステージを使うときは、
 ステージ→鏡床→その他 の順番で奥から表示されないと
 おかしくなるということですね。

 描画順序の変更は、MMDの左上の「背景」→「アクセサリ編集」で行います。

Tr=0にすることでXシャドーのみの表示も可能ですが,内部では鏡像描画も行っていて処理の無駄になります.
鏡像描画処理を完全に無くしたい場合はWorkingFloorX.fxの先頭パラメータの書き換えをおすすめします.


 Xシャドーのみの表示も可能なのですね。
 その時は、WorkingFloorX.fxの先頭パラメータの書き換えがおすすめ・・と。

 どう書き換えるのかな。
 もう1度、WorkingFloorX.fxをメモ帳に投げて見てみます。


////////////////////////////////////////////////////////////////////////////////////////////////
//
// WorkingFloorX.fx ver0.0.1 オフスクリーンレンダを使った床面鏡像描画 & Xシャドー描画
// 作成: 針金P( 舞力介入P氏のMirror.fx, full.fx,改変 )
//
////////////////////////////////////////////////////////////////////////////////////////////////
#define UseMirror 1 // X影のみで床面鏡像描画を使わない場合はここを0にする


 赤字部分に書いてありました(´▽`)
 至れり尽くせりですなぁ。ありがとう針金Pさんー!
 ステキー!

・応用
WorkingFloorX.xを別形状のモデルに置き換えることでステージの形状に合わせて鏡像描画する範囲を
制限することが出来ます.


はい^^)ノ


本日は以上。

(記事編集) http://akatonboaka.blog86.fc2.com/blog-entry-77.html

2012/01/21 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ ↑ |

Comment

コメントを投稿する 記事: 【MME】WorkingFloorX_v001(仕事する床)を試す^^)ノ

お気軽にコメントをぞうぞ。
非公開 (管理人のみ閲覧可能なコメント) にしたい場合には、ロック にチェックを入れてください。

  任意 : 後から修正や削除ができます。
  非公開コメントとして投稿する。(管理人にのみ公開)
 

Trackback

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。