レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
【MME】MikuMikuEffectを語るスレ Part 2
当スレはMiku Miku Effectのスレッドです。
MME本体、MME用fxファイルの公開、VerUPの告知にお使い下さい(他貼り自貼り問わず)
MMEに関する質問もどうぞ。ただしテンプレ(>>2-3 も含む)を一読してから。
Miku Miku Effect紹介動画
【MikuMikuDance】エフェクトファイルを読めるようにしてみた
http://www.nicovideo.jp/watch/sm12149815
舞力介入Pによる記事
3DCGツール「MikuMikuDance」のエフェクトを拡張する 「MikuMikuEffect」の概要と導入方法
http://codezine.jp/article/detail/5997
VPVP wikiの MMEのページ
http://www6.atwiki.jp/vpvpwiki/pages/272.html
ニコニコ大百科
http://dic.nicovideo.jp/a/mikumikueffect
有志によるまとめ
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=895216
質問用テンプレ
【エフェクト名】fxファイル名。効果が似たものがあるので、オリジナルのファイル名推奨。
【紹介動画のタイトルとアドレス】
【Ver】MMD本体・MME本体・エフェクトのバージョン。
できれば公開日も(2011/02/02)などと書いて下さい。
※以外と勘違いしていることが多いので、最新版とは書かずに数字で書くこと推奨。
(ちなみにエフェクトもバグフィクスやVerUPされてるので
場合によってはもう一度落とし直すだけで解決する場合もあり)
【ハードウェアのスペック】動作環境。判るようならVS・PS・VTFなどの情報、ラデかゲフォか大事かも。
質問の前に同梱のReadMeをもう一度よく読もう。ReadMeが無い場合は公開動画の説明をよく読もう。
>>152
yes、ググるの苦労しました
>>152
セルさんのサイトでダウンロードしたものです
エフェクト名:球体化エフェクトVer004β1
http://girlsshapechange.blog.fc2.com/ のアップローダーから
↑今は閉鎖されていますが・・・
>>155 はアップローダーではなくエフェクト配布のサイトです
言ってる意味わからなかったらすみません
>>156
少女変形中−MMDで形状変化講座[第1回]
http://girlsshapechange.blog.fc2.com/blog-entry-42.html
ここから最新版の公開場所に飛べるよ
>>149
どっか上の方に↓を記入
float fObjectTr : CONTROLOBJECT <string name="(self)"; string item="Tr";>;
ピクセルシェーダをこういう風に改変
// ピクセルシェーダ
float4 Mask_PS( float2 Tex :TEXCOORD0 ) : COLOR0
{
return tex2D( Mask, Tex ) * float4(1,1,1,fObjectTr);
}
>>150
ありがとうございます
おお、これは!と思ったのですが、見る角度によってそのまんまの平面に見えてしまうのが致命的でした・・・
>>147
ステンシル使えたっけ?
わかんないからなしで
ゆがましたいオブジェクトを普通に描画
ゆがましたいオブジェクトにBarrier.fx(改)を適応して描画
という2段構成
Barrier.fx(改)
ピクセルシェーダでモデルの色を適応してるところはいらないのでカット
//float4 TexColor = tex2D( ObjTexSampler, IN.Tex );
//TexColor *= (1-param_Alpha);
//Dist.rgb += TexColor.rgb*10;
同じZ値なのになんかチラチラするからZバッファを無視(VertexShaderで頂点をカメラ方向に押し出してもOKだけど)
pass DrawObject {// ←で検索
ZENABLE = FALSE;//Z無視
ZWRITEENABLE = FALSE;//Z書き込まない
こうすると適応したオブジェクトがゆらゆらする
あとはピクセルシェーダでclip()関数かα値を駆使して領域外をゆがませない処理を書けばOK
領域の指定のしかたとか領域内判定のしかたとかはググって頑張るか再度要望してくれれば…
>>159
そのまんまの平面というのはほかのエフェクトと干渉して板ポリが見えてる状態?
それとも歪んでる空間と周囲の正常な空間の境界線が目立ってしまうという意味?
前者ならMMEで他のエフェクトの対象からDISTLINEだけ除外すれば板ポリは消えるし、
後者なら動画のカメラ移動に合わせてダミーの位置角度を調整したり
ビルボードをオフ(#define BILLBORAD true を falseに変更)して
手付でカメラとエフェクト平面が垂直になるように角度合わせたり
そもそも不自然な映り方になるカメラアングルにしないように工夫したり
xファイルの形状を平面以外に(たとえば同じビームマンの「Beam!」エフェクトの
円柱状のxファイルをリネームして差し替えて使うとか)してもダメかね?
動画に出力してみると画面サイズが縮むので思ったより粗が目立たないということもある
配布されてるエフェクトはパラメータ調整したり工夫したりして何とか
自分の動画で使えるように落とし込む必要があるのが普通で、
当てるだけで思った通りの絵になるエフェクトがほしいなら、エフェクト自体の
改造か自作は避けて通れないと思う
ビームマンさんのエフェクトは調整、改造してナンボって気がする。その分高機能。
>>160
回答ありがとうございます、ただ自分の欲しかったのはゆがませるんじゃなく単純なぼかしでした
バリアー云々書いたせいかと、すいません
適用してみたらかなりカッコイイ感じだったのでこれもとっておこうと思います
ぼかし(ガウシアンぼかし、もし出来たらおたもんさんのOpticalBlur)で同じようにできますかね
あとプログラムの知識はさっぱりなのでもう少しだけ易しく…
>>144
さっきビームマンPのBarrier.fxいじったついでに
null.fxという何も描画しないのを適当に作る、中身は
ここから
technique EdgeTec < string MMDPass = "edge"; > {}
technique ShadowTec < string MMDPass = "shadow"; > {}
technique ZplotTec < string MMDPass = "zplot"; > {}
technique MainTecBS0 < string MMDPass = "object";> {}
technique MainTecBS0 < string MMDPass = "object_ss";> {}
ここまで
Barrier.fx の改造 (直接じゃなくてコピーを編集がいいと思う)
上の方、// 座法変換行列のあたりにでもこれ追加
float4x4 WorldViewMatrix : WORLDVIEW;
ゆがませるための背景のテクスチャを用意、ただし自分は描画しないためにDefaultEffectで自分をnull.fxで描画
これで検索→texture DistortionRT: OFFSCREENRENDERTARGET <
string DefaultEffect =
"self = null.fx;"; // 自分は描かない
BufferShadow_VSの中でreturn Out;直前にでも法線のZ値を保存するのを追加
Out.Color.a = -normalize( mul( Normal, (float3x3)WorldViewMatrix ) ).z;
BufferShadow_PSの中 最終的な色を決めるところをゴニョゴニョする TexColor関係はごっそり削る
ここから
float4 Dist = tex2D(DistortionView,UVPos+DistColor.rg); // ←これを目印に場所検索
Dist.a = pow(IN.Color.a,10);//←ここの10を増やすとエッジ部分がどんどん薄くなる、1にするとくっきり
//Dist.rgb = float3(1,1,1);//ゆがませないでα具合をみたいならこれで色付ける
return Dist;
ここまで
これを適応したモデル自体は描画されずモデルの形がユラユラするので熱源の形のモデルでも作るといいかも
>>161
エフェクトが0,0,0から0,0,1へ向いてるとして、0,0,1から0,0,0を見るとビルボード出来ずに1本の線になってしまう状態の事です
ほぼ全周から映すカメラの都合上、どうしても避けられなさそうでした
>>164
ありがとうございます
欲しかった通りの効果が得られました!
使わさせて頂きます
>>163
了解、ちょっとテストでやったら一応できそうでした
仕事終わった後でまだ解決していなさそうならちゃんと書き直してどっかにアップします
(今日は呑み会があるので今日中にあがるかどうかは期待しないでください)
ぼやかす領域の指定方法のリクエストがあれば答えてみようかなと
リクエストがなければコントローラのセンターボーンからの距離になります
>>166
センターボーンからの距離となると、領域は球体でしょうか
それで大丈夫です、急ぎじゃないのであげられるタイミングでお願いします
ここのスレで回答してる人って普通にエフェクト配布とかしてる人達なんだろうか
毎度知識量にびびる
多少プログラム齧ってれば、ここの質問程度は答えられる。
って、プログラム齧ってる友人が言ってた!
もちろん俺にはさっぱり分からないけどな!!
日本語でおkって感じw
>>164
横からですがありがとうございます。
これは便利だ
>>149 が流れてしまった感じなのでもう一回
ビームマンさんのビルボードエフェクト(http://www1.axfc.net/uploader/so/1606640&key=mme)
について、Trの値で透明度を操作できるようにすることは可能でしょうか?
回答あるんだからちゃんと見なさい
>>147
こんな感じだろうか
http://sdrv.ms/XSEheL
o_OpticalBlur_v0_1 改 適応範囲指定.zip
>>172
ひぎいすいません ご指摘有難いです
>>158
出来ました、ありがとうございます!
>>173
頂きました
クオリティも使い勝手も思った以上で驚いてます
重宝しそうです、大事に使わせていただきます
というかこんなのを自分一人のために作ってもらってしまって申し訳ないやら何やらw
ありがとうございます!
>>173
モデルのエッジ部分がクッキリなのが気にくわなかったので更新
ぼかすドット距離分だけ法線方向に太らせたので多少イメージ変わって見える
http://sdrv.ms/WzMjTa
o_OpticalBlur_v0_1 改 適応範囲指定 エッジにじみ.zip
需要がとってもピンポイント
>>176
私のリクエストでは無いですが、ピンポイントでも作ってくれるあなたにありがとうと言いたい
>>176
こんなピンポイント需要が満たされすぎて怖い
いただきました!本当にありがとう
横から質問なのですが1枚板のxファイルを作って>>164 の設定にしたfxファイルのフォルダに入れ、MMDで読み込んだのですが
同じフォルダ内にあるbarrier.pmxを読み込んだ時のように綺麗なゆらゆら具合になりません
xファイルの材質はbarrier.pmxにある材質と同じに設定してありますし、xファイルなのが問題なのかと思って同じ1枚板をpmx化してみましたが
やはりbarrier.pmxを読み込んだ時のような綺麗なゆらゆら具合になりません
適用しているfxファイルは同じなのですがどこか間違えているのでしょうか?
〉〉179
164で提示したやつは法線がユラユラの濃さにかかわるので
板ポリだと厳しいかの知れません、しっかりと法線のあるそこそこポリ数あるモデル向けです
>>180
ありがとうございます。
法線についてちょっと勉強していろいろと試して見ます
>>180
ポリゴンの法線とUVマッピングを調整したら板ポリでも無事に機能しました。
ありがとうございます。
>>182
外だったんで慣れないスマホで変なアンカ申し訳ない
そして追加情報↓
ちゃんとMMEの説明書を見たら
string DefaultEffect =
"self = null.fx;"; // 自分は描かない
じゃなくて
string DefaultEffect =
"self = hide;"; // 自分は描かない
にすればnull.fxなんて作らなくてもよかった……。
口から吐き出す煙草の煙を再現したいんですけど
適したMMEご存知ありませんか?
ビームマンPの
宵闇の中舞い降りた白銀の堕天使
はどうかな?
…そっか、あれ「〜の吐息」は付かないんだ
ビームマンのエフェクト置き場では
宵闇の中舞い降りた白銀の堕天使(宵闇の中舞い降りた堕天使の白銀の吐息)
と書いてあるw
そんな長い名前だったのかww
でもあれって、煙草のフーッってのは難しいんじゃないかな。
普通に煙エフェクトを改変して使った方が良いんでない?
煙草の煙テスト【MME配布】 ‐ ニコニコ動画(原宿)
http://www.nicovideo.jp/watch/sm17842412
こんなのもある。
ビームマンPのBreath_v1_0のパラメータ調整で作ってみたんだけどこんな感じはどうかな?
https://www.sugarsync.com/pf/D109395_7886198_7461253
以下レシピ
// パーティクル数(0〜15000)
#define PARTICLE_COUNT 1500
//生成制限速度
float CutSpeed = 0;
//バラけ具合
float particleSpread = 1;
//スピード
float particleSpeed = 0.2;
//最終到達距離
float particleSystemHeight = 0.5;
//パーティクル大きさ最大値
float particleSize = 1.0;
//パーティクル大きさ最小値
float particleSizeMin = 0.2;
//パーティクル拡大速度
float particleScaleSpd = 2.0;
//全体透明度
float particleAlpha = 0.025;
//個別回転速度
float RotateSpd = 0;
//全体回転速度
float GlobalRotateSpd = 0;
//重力
float3 Grv = float3(0,5,0);
//推進力
float MoveSpdMin = 1;
float MoveSpdMax = 2;
//減衰力(空気抵抗)
float Air = 0.4;
//モデルの回転に追従するかフラグ
#define LOCAL_ROTATE = TRUE;
>>190
おおー!横だけどこれは凄い!
ちょっと感動した!
IntelHD+GeforceGT650M(Optimus)なノートを買って、Radeonなデスクトップと合わせて3種のGPUが揃った記念に
MMEとMMM用のエフェクト検証一覧表を作ろうと思うんだけど
http://www38.atwiki.jp/mmd-world/
手伝ってくれる人Plz!
VPVP.wikiで作るか迷ったけど、あっちは管理人大変そうだったので分けました
ある程度まとまったら、データ譲渡するなり相互リンクなりする予定
使い方が悪いのかGPU依存の問題なのか、これである程度切り分けられる助けになるはず
他にスレ立てして話進めた方がいいかしら?このスレで続けてOK?
とりあえず概要が決まるまでは良いんじゃないかな。
大まかな方向性が決まったら改めてスレ立てれば?
ビームマンPのKirakiraで、今はlamp.pngに合わせてパーティクルの大きさが変わると思うんですが
それをパーティクルの明るさにすることはできますか?
質問あげ
>>194
VS_OUTPUT Mask_VS(float4 Pos : POSITION, float2 Tex : TEXCOORD0)
の中のサイズ変更してるところをカット
float lamp = tex2Dlod( LampSamp,float4(frac(L),index/count,0,1));
Pos.xy *= lamp;
を
float lamp = tex2Dlod( LampSamp,float4(frac(L),index/count,0,1));
//Pos.xy *= lamp; // 別に残してもいい
α値いじってるところに追加
//遠方は薄く
Out.Alpha *= 0.3 + 0.7 * (1 - saturate((Out.Pos.z - 50) / FadeLength));
Out.Alpha *= alpha1;
Out.Alpha *= lamp; // ←追加 サイズ変更のやつを使いまわし
>>196
出来ました、ありがとうございます!
エフェクトのwiki作ろうという話を出した>>192 ですが、wikiの体裁をある程度整えました
【記載項目】
・エフェクト名
・ファイル名(Zipファイル名または主として読み込むfxファイル名)
・公開先URL
・バージョン
・公開日
・ポストエフェクトか否か
・MMD、MMMへの対応状況
・IntelHD、Geforce、Radeon毎の動作状況
【記載ルール】
・ポストエフェクト以下の項目は、動作確認:○、動作しなかった:×、不明:不明
・できれば検証したGPU名を併記が望ましい 例:○:HD7770
・記載されているGPUより古いもの、スペックの低いもので検証した場合は書き換え推奨
・公開されたが検証していない場合でも記載可。その場合、各項目は不明として下さい。あとで検証しときます
・備考欄には、fxファイル書き換えで対応できる場合など、そのリンク先を記載
流石にVIAのGPUの欄要らないよね?あっても自分は持ってないし…
コンテンツを補強しつつ、週末からぼちぼち一覧に追加していこうと思います
あと何かあった方が良いものってあるかな?
>>・記載されているGPUより古いもの、スペックの低いもので検証した場合は書き換え推奨
これって、判断難しいと思う。
新しくて低スペック古くて高スペックって場合もあるし、
単純にどっちがより高いかはっきりしない場合だってあるだろうし。
それにどっちが高スペックかなんてわかる人ばかりでも無いだろうし、
見る人がわからないケースも多いと思う。
確認したのを列挙した方がいいように思う。量が増えるけど。
>>199
コアのアーキテクチャが判る人なら書き換えて貰えればと思ってるけど、そう書いちゃうと書き込みに二の足踏むかな
コアクロック・メモリクロック・メモリ帯域・グラフィックメモリ容量・シェーダー数が足りずに読み込めないとかでなく
プログラマブルシェーダーが対応してるかどうかが問題になると思うので
グラボのスペック一覧みたいなのを作ったほうがいいか
ベンチマークでなくて、機能的な話でこれより上なら互換性あるよみたいな
列挙する場合はどうするかねぇ
一ページにまとめるのは無理そうだから、50音順orアルファベット順にして
コメント記入フォーム作って「HD7770動作しました」とか書き込んでいってもらうのがいいか
>>200
グラボの機能一覧ならwikipediaのRadeon、GeForce、Intel(英語版の方が見やすい?)と
ピクセルシェーダ(ここの表がわかりやすい)にリンク貼っておくとか?
ビームマンPのSelfBurningについて質問なのですが、適応モデル移動時に移動距離に依存して炎が揺らぎますがこれを依存しないようにってできますか?
MME_ParticleEditorのFireParticleSystemみたいな感じになるといいのですが・・・
>>201
なるほど
自分のPCのグラボのスペックの見方はもとより
買おうとする場合のスペックの見方についてもちょっと書いておくか
CPU-ZかGPU-Zあたりお勧めしといてもいいかなぁ
週末まではスクショ撮って素材作ったりごにょごにょしてると思うので
適当に意見出したり、先にwikiに書き込んだり、検証依頼のエフェクト書き込んだりして下さると助かります
>>202
SelfBurning.fx もしくは SelfBurning_anime.fxの
ParticleBase_Pixel_Shader_main
のセーブした位置をコピーするところをごにょごにょ
↓で探す
float4 old_color = tex2D(ParticleBase2, texCoord);
if ( old_color.a <= t ) {
old_color.a = t;
return old_color;
} else {
float rnd = (getRandomPS(idx)+time_0_X)*65535;
↑を改造
ここから
#if 0 // 登りきるまでパーティクル位置を更新しない処理をカット
if ( old_color.a <= t ) {
old_color.a = t;
return old_color;
} else
#endif
{
// float rnd = (getRandomPS(idx)+time_0_X)*65535; // 時間で発射頂点を変えてる処理をカット
float rnd = (getRandomPS(idx))*65535;
ここまで
頂点位置でなく頂点番号をセーブするようにすれば
消えたパーティクルが生まれ変わるときに元のSelfBruningと同じようにランダムで変わるってことはできるのですが
また長文書くのあれなんでこの改造だけで良さそうならこれで勘弁してください
>>203
MMMでの動作チェックなら舞力介入Pのやつをちょっとだけやってある
MME配布動画のサンプルとあと数個だけど
MMM対応に関しては対応版を別の人が配布してたりするけどうする?
MMMの欄にいれちゃうのかな?
>>204
おお、イメージ通りです!
これでも十分なのですが、この作りにするとTrでの着火が表示非表示みたいな処理になりますがこれは仕様なんでしょうか?
>>206
あ、Tr使ってたのかー
さっきのところのすぐ下の
float4 work = getVertexPosBuf(rnd%getVertexNum()); // ←これを目印に検索
world_matrix[3].xyz = work.xyz;
if(!(MaterialDiffuse.a*work.a*length(work.xyz)))
{
world_matrix._41_42_43 = 65535;
}
↑これの周りに条件追加
↓こんな感じに
float4 work = getVertexPosBuf(rnd%getVertexNum()); // ←これを目印に検索
if( old_color.a <= t ) { // 実行中処理
world_matrix._41_42_43 = old_color.xyz; // とりあえず前のをセット
if( all( old_color.xyz != 65535 ) ) { // 生まれたときにTrが0だったら65535が入ってるので位置更新しない
world_matrix._41_42_43 = work.xyz; // 位置更新
}
} else { // 生まれ変わる瞬間処理
world_matrix._41_42_43 = work.xyz; // 位置更新
if(!(MaterialDiffuse.a*work.a*length(work.xyz))) { // Trが0.0 もしくは一番最初の初期化時
world_matrix._41_42_43 = 65535; // 座標をすっとばす
}
}
↑ここまで
このすぐ下に
#if !FIX_FIRE_DIRECTION
が続くように
で多分いける・・かな。
>>207
上の文のところを下の文に変えて、その下に#if !FIX_FIRE_DIRECTION if ( texCoord.y < 0.5 ) {〜が来るようにするんですよね?
warning X3206: implicit truncation of vector type
がたくさん、
error X3004: undeclared identifier 'old_color'
の窓が出てうまくいきませんでした・・・
>>208
あ、204で消してもらった最初の一行復活で…。
↓これ
float4 old_color = tex2D(ParticleBase2, texCoord);
ついでに修正
if( all( old_color.xyz != 65535 ) ) { // 生まれたときにTrが0だったら65535が入ってるので位置更新しない
これ allじゃなくてanyでした
if( any( old_color.xyz != 65535 ) ) { // 生まれたときにTrが0だったら65535が入ってるので位置更新しない
xyzの全部が65535じゃない時にしちゃっててなんかの偶然でx一個だけにもそれが入ってたら更新しなくなったりしました
燃やす元モデルの位置を65535付近にしないと不具合は出ませんでしたが。
>>203
あー、別の人が修正対応してる場合もありますね
MMMの欄に「※」書いて、備考欄にリンク書けば表が横に長くなるのを避けられそうだけど
完全に同じ機能があるのでない場合は、行を分けたほうがいいような気もします
一覧にどんどん追加していく時には、同じ効果かどうか確認するより書き込んで貰うことを優先したいので
DL先が違うなら行を分けましょうか
MMMである程度検証データお持ちなのは助かります
わたりさんの部位破壊.fx(http://bowlroll.net/up/dl11169) を64bitMMDに対応させるには
どのような書き換えが必要でしょうか?
>>211
MMD7.39x64で動作を確認しています。
と書いてあるが?
>>212
すみません、変なことをしていたみたいでした。解決しました
>>209
出来ました、完璧イメージ通りです!
回答していただきありがとうございました!
>>194 の
>ビームマンPのKirakiraで、今はlamp.pngに合わせてパーティクルの大きさが変わると思うんですが
>それをパーティクルの明るさにすることはできますか?
で、そぼろさんのWorldsnowでも同じことをしたいんですがそれにはどこを書き換えればいいでしょうか。
>>215
WorldSnowフォルダ 下準備
WorldParticleController.pmdに 点滅速度 という名前のモーフを追加
ビームマンのKiraKiraフォルダにあるlamp.pngをコピー
WorldSnow.fx 改造
//パーティクルテクスチャ
の近くあたりにでもテクスチャ追加
↓ここから
//点滅用テクスチャ
texture2D Lamp <
string ResourceName = "lamp.png";
int MipLevels = 0;
>;
sampler LampSamp = sampler_state {
texture = <Lamp>;
Filter = LINEAR;
};
↑ここまで
// Controller対応 ////////////////////////////////////////////////////////////
って書いてあるあたりに↓追加
↓ここから
// 点滅速度のモーフ値を取得できるようにする
float morph_lamp : CONTROLOBJECT < string name = "WorldParticleController.pmd"; string item = "点滅速度"; >;
↑ここまで
頂点シェーダ改造
WPEngine_VS ←で検索
大きさを変えたいなら
// ビルボード化
のちょい上
Pos.xy *= ParticleSize_m * flicker;
のところを改造
↓ここから
//Pos.xy *= ParticleSize_m * flicker;
float L = ftime * (1-morph_lamp) + (index/count_m)*128;
float lamp = tex2Dlod( LampSamp,float4(frac(L),index/count_m,0,1));
Pos.xy *= ParticleSize_m * flicker * lamp;
↑ここまで
明るさを変えたいなら
↓これを
//アルファ適用
Out.Alpha *= ParticleFade(particle_pos);
Out.Alpha *= alpha1 * (1 - Transparent);
Out.Alpha *= 1 + AlphaAppend_m;
↓こうする
//アルファ適用
Out.Alpha *= ParticleFade(particle_pos);
Out.Alpha *= alpha1 * (1 - Transparent);
Out.Alpha *= 1 + AlphaAppend_m;
float L = ftime * (1-morph_lamp) + (index/count_m)*128;
float lamp = tex2Dlod( LampSamp,float4(frac(L),index/count_m,0,1));
Out.Alpha *= lamp;
↑ここまで
両方同時にしたいならアルファ適用の方の
float L = ftime * (1-morph_lamp) + (index/count_m)*128;
float lamp = tex2Dlod( LampSamp,float4(frac(L),index/count_m,0,1));
は上のとかぶるから追加しないようにする
で、出来るといいな。
コンパイル通すチェックだけでMMD上で動かしてチェックはしてないから
不具合あったら家に帰った後に対応します
ただいま、一応216で改変した奴をMMDで表示テストしてみたらそれっぽくはなっていました
一度MMDがカッとんだのは今日入れたばかりのRadeon最新ドライバのせいにしておきます
すいません、質問させてください。
水面エフェクトの波紋がなんかおかしいんですが、
原因と対策がわかる方いらっしゃいませんか?
カラフルな四角っぽいのがでるんですが。
http://www.dotup.org/uploda/www.dotup.org3860502.wmv.html
MME_Water_EX_v0_4_5.zip
水面エフェクトver4
屋内向け設定 MirrorWater_low.x
設定 Y10 Rx90 Si23 fx等いじってません。
【CPU】Corei7-3770K 3.50GHz
【メインメモリ】16GB
【GPU】Radeon HD 6800 Series
【OS】Win7 pro 64bit
【DirectX】11
【MMD】 v7.39dot (DirectX9 ver)
【MME】 v0.32
見当違いかもしれないけど、思い当たることとしては、
MMDでの作業中に、別窓表示にすると急に全てのエフェクトのエラー
「Error: some techniques cannot run on this hardware:〜」
が出るようになって、それ以降おかしいような気がします。
同窓に戻して右上のMMEffectから「全て更新」すると同窓のうちは
エラーが出ませんが、別窓にするとやはりまたエラー。
なお、上のエラーも、pmmファイルごとに出たり出なかったりします。
とりあえず普段はデバイス検証スキップしてます。
>>218
カラフルな四角いのがでるのは仕様ではないかな。
アップにしたり、背景によっては目立つので、MirrorWaterの波紋抑えめにしてDigitalRippleで波紋作ってる。
64bitだと「GetNormal.fx」の最後の方に「technique MainTec」が2つあるから、リネームしないとエラーでて一部表示が変になる。
>>219
仕様なんですか。
使い方動画見ても全然そんなの出て来なかったから
なにかおかしいのかと思ってました。
あと、fxの直す場所わからなくて普段64bit版使ってなかったので
リネームのやり方助かりました。
ありがとうございました。
ビームマンPの金属&錆シェーダーの使い方を解説した動画orサイトとかありますか?
仕様にかなりコツがいると聞いたので
>>216-217
ありがとうございます
MMDもカッとばず、無事動作しました。
MMDのスフィアマップですが、これはPMDE/PMXEで乗算、加算、サブTexのみしか決められず、
これをMME側である程度自由にコントロールしたいのですが、可能でしょうか?
具体的にはRGBのカラーカーブ、乗算、加算の係数の変化、透明度操作等です。
>>221
よくわかんないんでとりあえずコントローラで操作出来るようにしてみた
http://sdrv.ms/Vd1GXG
Mechanic_Rust(改 操作).zip
ビームマンPのMechanic_Rustのフォルダの中身のテクスチャ使ってるんで
フォルダコピペしてそこに入れると良いかと
シャドウマップがOFF表示の時は見た目適応されないので
なんかをポチポチ押してシャドウマップオンにしてください
コントローラのなんかのボーン位置xyzが元の.fxのフィルライト色とかに対応してます
>>223
ググってみたところカラーカーブってトーンカーブとは違うものっぽいですね
よくわからないんでとりあえずトーンカーブとしてやってみました
カーブの指定はボーンのxで赤、yで緑、zで青を表して
4つのボーンを3次ベジェの各点に見立てて計算しています
ベジェカーブを表示しようかとも思ったけど眠いんでやめました、そこは脳内補間してください
乗算係数、加算係数、透明度は表情で指定です
http://sdrv.ms/109pLLo
Basic Full(改).zip
これだと全部の材質に同じように適応になってしまうので
実際に使うのなら材質ごとに何かするようなシェーダがいいですよね
とりあえずこれはお試し版とでも思ってくれれば
>>225
とても素早く対応して頂き、本当に感謝です。
元々自分のアイデアとしては主に髪、服等のスフィアマップを色変換させてあげればリムライトのような効果が得られるのでは?と思ったので・・・
MMD上での効果を確認しました。CC0~CC3での操作は正直自分も門外漢なものでなかなか難しいですが、オートルミナスと併用して使うと非常に綺麗で素晴らしいですね。
材質ごとというのは仰る通りで、材質ごとにかけ分けられると嬉しいです・・・w
>>223
【MME紹介】グラデーションフィルタエフェクト
http://www.nicovideo.jp/watch/sm16248468
こんなのどうだろう。後半ね
>>227
おおお、そういう物もあるのですね、試してみます、ありがとうございます!
あとFuriaさんのadvancedTextureMapping付属のfull+SpecMapExでもやりたい事が出来るか試してみます
t-oguraさんのガラスエフェクト(→http://www.purple.dti.ne.jp/~t-ogura/MyMME.html)
で、シェーダがかかっているオブジェクトをそのオブジェクトを通して見たとき、
表示が思うようにならなくて困っています
例えば人に適用したとき、顔の前に手をかざすと顔にシェーダがかかっていないような
理想はシェーダ越しに見てもシェーダがかかっていることなんですが、
ややこしいことになりそうなので
ガラスシェーダがかかっているオブジェクトを通すとそのオブジェクトは見えない
という風にできますか?
上の例でいうと、手の向こうにはもうステージしか見えない感じで
分かりづらくてすみません、よろしくお願いします
>>229
エフェクト重ねるならビームマンPのFull_and_Metall_Glass_v1_1の方が使いやすいかも。
>>231
ガラスシェーダはいくつか試してみたんですが、表現したい質感にこれがぴったりで…
色々と癖のあるエフェクトだとはわかっているんですが
↑アンカ間違えたすみません
>>230
>>231
こんな感じ? http://twitpic.com/bwph49
FuriaさんのゆがみエフェクトVer1.0
針金Pのソフトシャドウにコントローラーつきますように・・・
>>233
そんな感じです!その仕様をガラスシェーダで出来ますか?
>>235
申し訳ないが、私には手も足も出なかったので、ゆがみエフェクトと
Full_and_Metall_Glassを使ってる。
>>224
便利そうなものを作っていただき恐縮なんですが、そもそも基本の
・どうやって材質に金属もしくは錆っぽい質感出すか
の初歩がわかってないですorz
ビームマンPのエフェクト公開動画には
「Mechanic_full.fxを使用するには専用にテクスチャを改造する必要があります」
とあったので。
・・・あれ、ひょっとして聞くスレ間違ってます??
>>237
横だけど
Mechanicなどの一部シェーダーはノーマルマップやスペキュラマップなどの拡張テクスチャを参照してディテールを追加している
その際モデルのUVを使用するので適応するモデルが正しくUV展開されていなければならない
さらに狙った場所にサビなど出したい場合には適応するテクスチャをUVを元に編集する必要もある
たとえば付属のあにまさミクはUV展開は一応されているものの
単純に正面から投影した形になっていて側面とかは引き伸ばされた形になってしまうのでUV編集は必須だし
目的の効果によってはその編集したUVに合わせたテクスチャを作成する必要もあるだろう
無論UVやテクスチャが無編集でも自分が満足行く結果が得られるのであればそのままでいいだろうがね
UVとテクスチャ設定に関する具体的な手法を聞くのははここではスレチだね
UV展開のやり方はモデリングスレあたりで聞いてもいいけど
テクスチャについてのあれこれ含めて3D関連のサイトがいくらでもあると思うよ
UV展開もノーマルマップやスペキュラマップも、別にMMDに限った用語ではないから
>>235
質感ちょっと変わっちゃいますが
オブジェクトの厚みで色の乗っけ具合を変えてるんでそこをいじるとか
MGlass_Final.fx
float colorEffect = min(1,thick*ColorParam); ←これで検索して
↓これに変えてみるとか
float colorEffect = -normal.z;
↓これを試してみるとか 最後の4を1にすると↑と同じになって大きくすると外側の色の乗っけ具合が薄くなる
float colorEffect = pow(-normal.z,4);
>>237
貼るテクスチャの3D空間上ポリゴン距離とUVの距離を全部統一するとかそういう改造じゃないかな?
適当なモデルに適応してみて顔と目の中の錆の具合を見ると
たとえば顔に4つの錆が出てたとして両目の中にも4つずつ錆が出ちゃうからそういうの気にしてUV展開すればいいとか
>>238
>>240
成程なんとなくイメージだけは分かった気がします。
ちょっと教わった方面で調べてみますね
>>236
その組み合わせも良さそうですね、覚えておきます。
>>239
少し自然になった気がします。使わせていただきます、ありがとうございます
おまえら実はビームマンだろ
ビームマンという個人は存在していなくて
エフェクトファイルを共有することにより
無意識下で意識が並列化されたものが集合して
ビームマンという現象を形成してるだけだよ
押井カントクのルパンかw
ビームマンPのメカシェーダで、べベル効果の出たところのみ色が乗り、
他は真っ黒になるようなパラメータ調整は出来ますか?
色々いじってみたのですが辿りつけなくて
データさんの玉ボケDOFについて質問させてください
ttp://ux.getuploader.com/Elle_DataPort/download/6/%E7%8E%89%E3%83%9C%E3%82%B1DOF_v023.zip
焦点の合っているオブジェクトとボケた背景の境界線がハッキリしすぎているので、そこを書き換えで改善できますか?
あとその境界線なんですが、普通にオブジェクトを描写するより輪郭が削れて見える?感じになります
そぼろさんのXDOFだとそうはなっていないので、色々見比べてみたんですがまるで分かりませんでした
その2つよろしくお願いします
>>247
玉ボケDOF.fxの深度マップにアンチエイリアスつけて
ブラってるところとブラってないとこの合成のところで
自前アンチエイリアスしてるところを切ってみたら
ちょいエッジ部分のイメージ変わった
// 深度マップ
texture DepthMap : OFFSCREENRENDERTARGET <
bool AntiAlias = true; // アンチエイリアス適用
/////////////////////////////////////////////////////////////////////
// 玉ボケブラー(後)とオリジナル画像を合成する
float4 Synth_PS(float2 Tex:TEXCOORD0) : COLOR {
float d=tex2D(DepthSampler, Tex).r;
d=saturate((d - FocusOut)/GradiationRange);
//↓ここから
// // 焦点内のアンチエイリアスのはみ出し分を補正
// float p=
// min(tex2D(DepthSampler, Tex+float2(1,0)*ViewportDotPitch).r,
// min(tex2D(DepthSampler, Tex+float2(0,1)*ViewportDotPitch).r,
// min(tex2D(DepthSampler, Tex+float2(-1,0)*ViewportDotPitch).r,
// tex2D(DepthSampler, Tex+float2(0,-1)*ViewportDotPitch).r
// )));
// p=saturate((p - FocusOut)/GradiationRange);
// d=0.5*(d+p);
//↑ここまでカット
return lerp(tex2D(OrgScreenSampler, Tex), tex2D(BackBlurSampler, Tex),d*Alpha);
}
>>246
9点サンプリングして法線をねじ曲げる時にねじ曲げ角度を取っておいて
角度が変わっている = ベベったと判断して黒くするならできるけど
パラメータじゃできなさそうな感じ?
//9点サンプリング
for(int i=0;i<8;i++)
{
IN.Normal += tex2D(NormalSampler,ScrTex+test[i]*SampStep).rgb;
}
float dotBebel = dot( BaseNormal, normalize( IN.Normal ) ); // これ追加
IN.Normal = lerp(BaseNormal,normalize(IN.Normal),BevelPow);
// 下の方でこれ追加して黒くする // スペキュラ適用 の後あたりが良いかな?
if( dotBebel > 0.9 ) { // 0.9は適当、0.0〜1.0の間
Color.rgb = 0;
ShadowColor.rgb = 0;
}
>>249
完璧にイメージ通りでした
ありがとうございます
>>248
最後をAlphaに書き換えると自分の環境ではエラー出るみたいで、そこだけ元通り
return lerp(tex2D(OrgScreenSampler, Tex), tex2D(BackBlurSampler, Tex),d*1);
}
にしました
エッジの綺麗さ全然違いますね、ありがとうございます。
え、だってv023って言うから(ノД`)
>>89 を読んでもしかしたら出来るんだろうかと思ったので質問させてください
わたり氏の破壊エフェクトにフィギュアエフェクトを合成することって出来ますか?
連続面ごとのエフェクト・粒子化エフェクト この2つの使用を考えています。
書き換えとか全く分からない初心者です。。
お手柔らかにお願いします
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板