レス数が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が無い場合は公開動画の説明をよく読もう。
ビームマンPのLineDistParticleについて、描画を途中で打ち切ることは可能でしょうか?
Y=0の地点から見えなくなる または 特定の長さ以上は描画されない
どちらの仕様でもよいのですが、実装できると嬉しいです
float4 FireParticleSystem_Pixel_Shader_main(VS_OUTPUT IN) : COLOR {
clip( IN.LastPos.y ); // yが0以下になったら描画キャンセル
できたよー
>>79
この文体とこのスピード…もしや…
ありがとうございます!
そぼろさんのExcellentShadow2なんですけど、原点から大きく離れる(X=5000とか)と視点から近い部分がクリップされて表示が変になります
これを回避するにはどうすればいいんでしょうか?
平行して質問すみません、ogugu氏のガラスシェーダ(sm12298165)
を64bitMMDに対応させることは可能でしょうか?
>>82
もうしわけないことに今環境なくて試せないんだけど
MGlass_Model.fx のテクに同じ名前(ObjectPass)がいっぱいあるからそれの名前をすべて変えるのはどうだろうか?
例
technique ObjectPass < string MMDPass = "object_ss"; bool UseTexture = false; string Subset = "0";
technique ObjectPass < string MMDPass = "object_ss"; bool UseTexture = true; string Subset = "0";
technique ObjectPass < string MMDPass = "object_ss"; bool UseTexture = false;
technique ObjectPass < string MMDPass = "object_ss"; bool UseTexture = true;
technique ObjectPass < string MMDPass = "edge";>
↓
technique ObjectPass0 < string MMDPass = "object_ss"; bool UseTexture = false; string Subset = "0";
technique ObjectPass1 < string MMDPass = "object_ss"; bool UseTexture = true; string Subset = "0";
technique ObjectPass2 < string MMDPass = "object_ss"; bool UseTexture = false;
technique ObjectPass3 < string MMDPass = "object_ss"; bool UseTexture = true;
technique ObjectPass4 < string MMDPass = "edge";>
>>83
出来ました、ありがとうございます。
すみませんがもういくつか質問させてください、
MGlass_Final.xを読み込んだ際に画面が若干ぼやけるのは修正できますか?
また、MGlass_Model.fxを適用するとログウインドウに
Loading effect file: (略)MGlassShader0.01\MGlass_Model.fx
Warning: texture format of 'NormalMap' was automatically adjusted: 932x525(A8B8G8R8) -> 932x525(A8R8G8B8)
Warning: texture format of 'ColorMap' was automatically adjusted: 932x525(A8B8G8R8) -> 932x525(A8R8G8B8)
Warning: texture format of 'SpecularMap' was automatically adjusted: 932x525(A8B8G8R8) -> 932x525(A8R8G8B8)
Warning: texture format of 'BackColorMap' was automatically adjusted: 932x525(A8B8G8R8) -> 932x525(A8R8G8B8)
done.
のようなメッセージが表示されるのですが、これは特に問題ないものでしょうか。
>>84
ぼやけるのはMGlass_Final.fxの
VS_OUTPUT VS_Mix( float4 Pos : POSITION, float4 Tex : TEXCOORD0 ) {
よりちょっと下の147行目
Out.Tex = Tex;//+ float2(0, ViewportOffset.y);
を↓のようにすれば軽減されます
Out.Tex = Tex + ViewportOffset;
ただ Oguguさんがこれをコメントアウトしてまで適応しなかったのに
理由があるのかもしれませんので何か不具合あったら戻すのが良いと思います。
Warningは自動で修正したよーって言ってるだけなので特に問題はありませんが
コンパイルするたびに言われるのはあれなので
MGlass_Model.fxのテクスチャの記述部分
shared texture2D NormalMap : RENDERCOLORTARGET // 法線
< float2 ViewPortRatio = {1.0,1.0};int MipLevels = 1;string Format = "A8B8G8R8" ;>;
とかのFormatの部分をA8B8G8R8からA8R8G8B8にすれば消えると思います
例
< float2 ViewPortRatio = {1.0,1.0};int MipLevels = 1;string Format = "A8R8G8B8" ;>;
>>85
ありがとうございます、非常に分かりやすかったです。
詳しくないもので本当に助かりました。
>>81
Readmeから
>ExcellentShadow.x の位置がシャドウマップの中心になります。
>ExcellentShadow.x が写したいオブジェクトの近くに配置されるようにしてください。
とのこと
内部的にはカメラとExcellentShadow.xの距離が6000離れるごとにZ値をちょっといじってるようです
>>87
readme読んだつもりだったのですが、全く読み落としてました。
わざわざ有り難うございます。感謝です。
ビームマン氏のBaloonエフェクトに同氏のフィギュアエフェクトを合成とか
可能でしょうか…。
normal_baloon.fxにFigure_反射低.fxを入れ込む感じで
無理だったら教えて下さい
Figure_反射低.fx (以下 F)
の4行目 //法線マップ使用フラグ
から 49行目の float4x4 HeadMat 〜〜〜
までを
normal_baloon.fx (以下 B)
// パラメータ宣言
のすぐ下あたりにコピペ
Fの113行目から144行目まで
// オブジェクトのテクスチャ
↑から↓まで
// MMD本来のsamplerを上書きしないための記述です。削除不可。
をBの似たようなところに上書き
Bの
float4 ClonePos(float4 Pos : POSITION) : POSITION
の近くに
↓を配置
float3 CloneNml(float3 vNml )
{
vNml.xyz = mul( vNml.xyz, RotationY );
return vNml;
}
↑ここまで
Fの
struct BufferShadow_OUTPUT {
の中身を
Bの
struct VS_OUTPUT {
の中にコピペ
その直下に ↓ここから
// シャドウバッファのサンプラ。"register(s0)"なのはMMDがs0を使っているから
sampler DefSampler : register(s0);
↑ここまでを書き込む
ついでに下の方に同じ表記があるので消しとく
Bの
VS_OUTPUT Basic_VS(float4 Pos : POSITION, float3 Normal : NORMAL, float2 Tex : TEXCOORD0, uniform bool useTexture, uniform bool useSphereMap, uniform bool useToon)
のuseToonをuseShadowに変更(あんま必要ない)
VS_OUTPUT Basic_VS(float4 Pos : POSITION, float3 Normal : NORMAL, float2 Tex : TEXCOORD0, uniform bool useTexture, uniform bool useSphereMap, uniform bool useShadow)
FのBufferShadow_VSの中身を
BのBasic_VSの中にコピペ
ただし中身の一行目は
VS_OUTPUT Out = (VS_OUTPUT)0;
のままにして
その後に
Pos = ClonePos(Pos);
Normal = CloneNml( Normal );
を追加
FのBufferShadow_VSの下の関数 297行目
float3x3 compute_tangent_frame(float3 Normal, float3 View, float2 UV)
からピクセルシェーダ直前の 375行目までを
BのBasic_VSの下、
// ピクセルシェーダ
の前にコピペ
Bのピクセルシェーダの引数もuseToonからuseShadowに変更しておく
float4 Basic_PS(VS_OUTPUT IN, uniform bool useTexture, uniform bool useSphereMap, uniform bool useToon) : COLOR0
Fの378行目からの BufferShadow_PSの中身を
BのBasic_PSの中にコピペ
Bの
MainTec0からMainTec7までの
VertexShader = compile vs_3_0 Basic_VS(false, false, false);
PixelShader = compile ps_3_0 Basic_PS(false, false, false);
の最後のfalseを全部falseにする
MainTecBS0からMainTecBS7までの
VertexShader = compile vs_3_0 BufferShadow_VS(false, false, false);
PixelShader = compile ps_3_0 BufferShadow_PS(false, false, false);
をBufferShadow_VSとかからBasic_VS、Basic_PSに変更
で最後のfalseはシャドウマップを使うよーってフラグなのでtrueにする
MainTec に書いたやつの最後のフラグを全部trueにした感じ
あとはフィギュアエフェクトのフォルダにあるNormalMap.pngを
balloonエフェクトのフォルダにコピペして改造したのを適応すればOK
なげぇ、そして書き込めたことにビックリ
改造出来なかったら改造後をどっかにうpります
非常に重くなりそうだけど合成は出来るよ。
おぉ! コード追ってる間に具体的な回答がw
>>ID:.0ZvW0HY0 さんGJ
>>90
詳しい解答ありがとうございます
ダメ元だったので嬉しいw
しかしながら知識が追い付かず、山のようにエラーが出ます
中身っていうのがどこまでとか色々曖昧で…
申し訳ないんですがどこかにあげてもらっても良いでしょうか
おまたせ
http://sdrv.ms/TxYaT6
balloon_FigureLO.zip
そのままだとbaloon.fxのように5色の風船になるので
#define USE_MULTI_COLOR
を探してコメントアウトするとモデルの色が適応されるようになります
>>95
頂きました、動作もバッチリです
書き込んでみてよかった
助かりました、ありがとう!
使ってればすぐに表面化するような問題だからもしかしたらうちだけなのかな?とも思ってるんだけど、
MMEのv0.32(64bit)でプロジェクトに複数のアクセサリ/モデルにエフェクトを割り当てるとMMEが生成するemmファイルの末尾にゴミデータがまじってしまう。
んで、読み込み時に「Error:failed to load file」でエラーが出る。
既出ならごめんなさい。
MMDをダウンロードしMMEもダウンロードもして説明どおり入れてみましたがMMEが入りません。
何が問題なんでしょうか…。
mikumikudansu 524使ってます。
MMDのバージョンが古いw
>>98
MMEはMMD_Ver7.23以前では動きません。
MMD最新版はVer7.39dot(32bit版)orVer7.39x64
MMEがVer0.32(x86版又はx64版)
ビーマンPさんのセルフサンダーを割り当てすると画面が消えてしまいます。
対処法を教えてもらえませんか? windows visutaを使っています。
>>101
実際にやった手順と、>>2 を参考に環境書かないと答えられないよ。
たぶんグラボが対応してないか、手順が間違ってる位しか回答しようがない。
【CPU】Intel(R)Core(TM)2Duo (1.20GHz)
【メインメモリ】2GB
【GPU】 ?
【OS】WindowsVista
【MMD Ver.】Ver.7.39
【MME Ver.】Ver.0.27
手順は
SelfThunder.xを読み込んで
エフェクト割当→VertexPosRTでモデルにSavePos.fxを適用し
VertexPos_MaskRTにて、モデルにMask.fxを適用したら画面が真っ暗に
なったのです。
>>103
Core2Duo U7600あたりかな?
だとするとグラフィックスが945GM(GMA950)でPS2.0/VS3.0(SW)なので動かないはず。
SelfThunderはPS・VSとも3.0以上が必要。
MMEのログウインドウの最初の方に「ShaderVersion: vs_2_0, ps_3_0」とでてないか?
>>2 に書いてあるやり方でもGPUがわかんないのかな
MMEの話ならGPU(グラボ)は最重要な情報
GUPなのかはわかりませんが
グラフィックアクセラレータ
モバイルインテルRGS45 Express チップセットに内蔵
(モバイルインテルRGMA 4500MHD搭載)
です。
あとCore2Duo U9300でした。
>>106に追加でMMEのログウインドウでは
ShaderVersion: vs_3_0, ps_3_0 になってます。
>>107
4500MHDだとSelfThunderは一応動くはずだけどね。
MMEを最新版(Ver0.32)に更新してデバイス検証スキップにチェックを入れてみる。
MMEのログウインドウに「Error: some techniques cannot run on this hardware: 〜」がでてるとデバイス検証スキップしないと動かない。
そもそも、「使い方.txt」に書いてある手順と違うけど、
それは良いの?
Error: some techniques cannot run on this hardware: 〜は出ていませんでした
手順違いましたか?
「使い方.txt」見ると
VertexPosRTで設定するのは「SavePos.fx」ではなく「SavePos.fxsub」
VertexPos_MaskRTで設定するのは「Mask.fx」ではなく、「SavePos.fxsub」
になってるんだけど
>>111
SelfThunder_v0_3とSelfThunder_v1_0_32_64で指定するファイル形式が違うだけじゃない?
>>112
あぁ、そうかもですね
自分は >>103 を見てから SelfThunder_v1_0_32_64 を落としてきて
「使い方.txt」を確認してました
自分はSelfThunder_v0_3の方のファイルを使っています。
SelfThunder_v1_0_32_64を落としてきてSavePos.fxsubを割り当てしようと
したのですが、ファイル選択のさいに「SavePos.fx」しか出てこなくて
すべてのファイルからSavePos.fxsubを選択したら
SelfThunder_v0_3のときと同じく画面が真っ暗に・・・
あとセルフファイアーでも同じく画面が真っ暗に
>>114
インテル製グラフィックスだと、SelfBurningはFXファイル書き換えないと動かない。
画面が真っ暗って画面全体が真っ暗になるの?MMDのウインドウだけ?
マジですか・・・知らなかった
画面は全体が真っ暗になります。
>>116
それグラボ熱暴走してないか?
エフェクトはグラボにかなり負荷かけるからメンテ怠ると壊れるよw
とりあえず排気口の掃除とドライバ更新するべき
ドライバの方は更新され、最新のになっていますって出ました
排気口もこまめに掃除しているのですが、それでも排気音はうるさくなってます。
パソコンが寿命なのでしょうか?
ちなみに今5年目に入ろうとしてます。
インテル製グラフィックスだと、SelfBurningはFXファイル書き換えないと動かない。
とのことですが、どの様書き換えれば動きますか?
書き換えをやったことがない初心者なので教えてもらえればありがたいです。
>>119
「SelfBurning.fx」又は「SelfBurning_anime.fx」の
13行目「#define PARTICLE_COUNT 15000」を「#define PARTICLE_COUNT 2048」に書き換える。
テクスチャのサイズがPARTICLE_COUNT*2になるが、IntelGMAシリーズだと4096が上限で、リサイズが上手くいかないようです。
Linev4やSlashLineでも同じ理由で書き換え必須。SelfThunderは1500*2でセーフ。
SelfBurning.fxを書き換え後
SelfBurning.xを読み込み
エフェクト割当→VertexPosRTにて燃やしたいモデルにSavePos.fxを適用する
をした段階で画面が真っ黒になってしまいました・・・
AutoLuminous2とLensFlare_2とを併用すると、LensFlareが光りすぎる(AutoLuminous2が適用されてしまう)のですが、どうやって回避すれば良いんでしょうか?
>>122
AutoLuminous2の83行目、HDRをOFFにしてみたら?
舞力介入PさんのSimpleLayer.fx(http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=1069199)
について、合成方法にオーバーレイを追加することは可能でしょうか。
また、データPさんの玉ボケDOF(http://ux.getuploader.com/Elle_DataPort/download/6/%E7%8E%89%E3%83%9C%E3%82%B1DOF_v023.zip)
のボケの大きさを、玉ボケDOF.xのスケールで操作するにはどのように
書き換えたらよいでしょうか。
よろしくお願いします。
>>122
LensFlareの透明度はTrの値で操作できるはず
>>124
http://www.bea.hi-ho.ne.jp/gaku-iwa/color/conjn.html
オーバーレイはここの計算式使うとこんな感じ?
#elif BLEND_MODE == 9 //オーバーレイ
if( dst.r < 0.5 ) {
dst.r = 2.0*dst.r*src.r;
}
else {
dst.r = 1.0-2.0*(1.0-dst.r)*(1.0-src.r);
}
if( dst.g < 0.5 ) {
dst.g = 2.0*dst.g*src.g;
}
else {
dst.g = 1.0-2.0*(1.0-dst.g)*(1.0-src.g);
}
if( dst.b < 0.5 ) {
dst.b = 2.0*dst.b*src.b;
}
else {
dst.b = 1.0-2.0*(1.0-dst.b)*(1.0-src.b);
}
#else //通常
玉ボケは ViewportDotPitch を探してこんな感じに改変とか
float fObjectSi : CONTROLOBJECT <string name="(self)"; string item="Si";>;
static float fSizeRate = fObjectSi*0.1;
static const float2 ViewportDotPitch = (float2(SAMPLING_RATE,SAMPLING_RATE)/ViewportSize*fSizeRate);
>>126
おお、ありがとうございます!
URL先も大変参考になります。
>>127
GIMPだとまた違ったりするんだよねー
http://iccii.seesaa.net/article/23360693.html
Overlay: f(x1,x2, 5) = (1-x2)*x1^2 + x2*(1-(1-x2)^2)
高速化したいなら下記の方が良いと思う。
やってることは>>126 と一緒だけど処理は1/3近くになる。
#elif BLEND_MODE == 9 //オーバーレイ
dst = src < 0.5 ? src * dst * 2.0 : 1.0 - 2.0 * (1.0 - src) * (1.0 - dst );
ブレンドモードの計算式はttp://ofo.jp/osakana/cgtips/blendmode.phtmlを参考にした。(126と一緒の式になるけど)
以前に出ていたグレースケールの考え方もあってありがたい。ttp://ofo.jp/osakana/cgtips/grayscale.phtml
>>97
原因が判明したので報告しときます
SugarSync2.0betaのSugarSyncドライブがどうやらバグってるみたいで、Sドライブに向けて書き込むとファイル終端にゴミが残ってしまうみたいです
予想外の原因だなw
後で突っ込まれそうなので補足
玉ボケDOFのSiはよく考えたら元々操作に使用されていたので、>>126 さんのから
float fObjectRx : CONTROLOBJECT <string name="(self)"; string item="Rx";>;
static float fSizeRate = fObjectRx*0.1;
static const float2 ViewportDotPitch = (float2(SAMPLING_RATE,SAMPLING_RATE)/ViewportSize*fSizeRate);
に書き換えました。
間違ってたら教えてください
>>128-129
オーバーレイにも色々あったんですね…。どちらも試してみます、ありがとうございます
>>132
fSizeRateに入れる時0.1倍してるのはオブジェクトのSiの値が10倍されて入ってくるからそれの補正でした
Rxはラジアンが入ってくるのかな?
Opt玉ボケDOF.x使っていいなら
float fControlerTr : CONTROLOBJECT <string name=CONTROLER; string item="Tr";>;
static float fSizeRate = max(fControlerTr,0.001); // なんとなくZeroDiv回避
static const float2 ViewportDotPitch = (float2(SAMPLING_RATE,SAMPLING_RATE)/ViewportSize*fSizeRate);
とするとOptの方のTr値を使えるのでフレーム補間が効きますがOptを読み忘れると常に0が入っちゃうんですよねこれ。
>>133
そうか、Optを使う手があったんですね!
自分も>>132 の書き込みをしてから補間効かないことに気づいて詰まってました
ありがとうございます、そっちでいかせてもらいます
補間が効くのはSiとTrのみ。
ただダミーボーンと併用したらX、Y、Zなら補間曲線ありで使える。
誰かRx、Ry、Rzをダミーボーンで操作できるようにしてほしい。
(ダミー)ボーンはおいら→マトリクスじゃなくてクォータニオン→マトリクスだしねー
剣と剣がぶつかり合うときに
火花を散らしたいのですが
そういった表現に適したMMEを
教えて貰えないでしょうか
元は火花じゃないけどテクスチャをそれっぽくしたエフェクトなら聖杯Pが配布してたな
http://www.nicovideo.jp/watch/sm18096048
>>138
ありがとうございます
画像を弄れば好みの火花を散らせそうです
情報ありがとうございました
ビームマンのLineParticleも使えるぞ
当たった瞬間に左右に散らすとかっこいいし鍔迫り合いもいける
最新版のMikuMikuDance_v739x64をダウンロードしましたが、開きません。
MikuMikuDance_v524なら開けるのですが…。
種類によって開けなかったりしますか?多分ですが私のパソコンはWindows7です。
>>141
ここはMikuMikuEffectのスレですがMMEの質問ですか?
MMEの質問なら>>2 を読んであなたの環境と
何のエフェクトを使おうとしてるのか、開かないというのは具体的にどうなるのかの
情報を出してください。
もしMMEではなくMMDが起動しないという質問であれば、
MMDの質問スレが適切だと思います。
MikuMikuDance初心者質問スレ part15
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1353706917/
そのスレの>>2 と>>3 を読んで、
開かないというのは具体的に何をやったときにどうなるのかという情報を添えて
質問してください。
環境の調べ方も書いてありますから
※最新版という言葉はダメです。バージョン番号を具体的に
なおv739x64は64ビット版です。64ビットOSでないと動きません
>>142
書き忘れた
32ビットOSなら、「1.3 MikuMikuDance(DirectX9 Ver)」のところの
v7.39dotを使ってください
ジェットエンジンのブラストや焚き火など、熱源の周りで空気が揺らめく表現に使えるMMEって無いでしょうか?
http://www.nicovideo.jp/watch/sm926858 の3:51〜の表現みたいなのが欲しいのですが・・・
>>144
【MME】陽炎っぽいエフェクト
ttp://nico.ms/sm12844130
これ使ってみたらどうだろう?
xファイルの形状を変えればいけると思う
>>145
ありがとうございます
試してみたのですが、境界がシャープすぎるので違和感が出てしまいました
あと、空気のゆらぎと言うより水面みたいな感じなのも違和感の原因かも知れません
パーティクルエフェクトのパーティクルにこの効果を適用すればそれっぽくなるのかなと思って試してみようとはしてみたのですが、
勉強が足りなくて私では手に負えそうにない感じでした
平行して質問すいません
この立方体(仮)の中のみぼかす、みたいなエフェクトってありますかね
ビームマンさんのバリアーエフェクト改変でいけるかと思ったけどどうにも
立方体というかその領域の中のオブジェクトだけぼけて、それを通してみた領域外の背景はぼけない感じで
DOFの補助エフェクトとしての使用を考えてます
よろしくお願いします
質問あげ
あとビームマンさんのビルボードエフェクトなんですが、
Trで透明度を操作できるように書き換えられますか?
>>146
ビームマンのDISTLINE(ビルボード用)でパラメータをこんな感じにしてみてはどうか
-------------------------------------------------
//軌跡の着色
float4 LineColor = float4(0.0,0.0,0.0,1);
//歪み力
float DistPow = 0.01;
//最低速度(0で常にでっぱなし)
float CutSpeed = 0;
//ラインの長さ(〜100)
#define LINE_LENGTH 100
//ビルボードフラグ
#define BILLBORAD true
//UVスクロール速度
float UScroll = 5;
float VScroll = 10;
//ラインの太さ(MMD上で設定した太さ×ここで設定した太さ=表示される太さ)
float lineSize = 0.1;
//ラインのスピード(射出速度)
float LineSpd = 1;
-------------------------------------------------
これでも境界線は気になるが、くっつけたダミーをうまいこと揺らすとか振るとかすれば
境界も揺らぐのでかなりごまかせる
長さが足りない場合は射出速度を上げば伸びる
以前MMDで状態変化エフェクトを適用したら以下のエラーが出ました
エフェクトファイルの読み込みに失敗しました: C:\Users\○○◦○\Deskutop\MikuMikuDance_v739x64\Spherize004b.fx
C:\Users\○○◦○
\Desktop\MikuMikuDance_v739x64\Spherize004b.fx(203,28): error X3005:'max': identifier represents a variable not a function
読み込み時
エフェクトの読み込みに失敗しました: C\Users\○○◦○\Desktop\MikuMikuDance_v739x64\SpController.fx
C:\Users\○○◦○
\Desktop\MikuMikuDance_v739x64\SpController.fx(93,30):
warning X3206: implicit truncation of vector type
C:\Users\○○◦○
\Desktop\MikuMikuDance\v739x64\SpController.fx(140,2):
error X3003: redefinition of 'MainTec'
それで、"technique MainTec"で始まる行が複数ある時に重複しないように名前を変えるように言われましたが、重複しているのが見つからないので他に原因があるのではないかと思うのですが、どうでしょうか?
>>151
>>2 を参考に環境と使用しているエフェクト(作者やエフェクト名、公開場所)も書きましょう。
環境もエフェクトも不明では検証することも出来ませんよ。
>>151
Spherize004b.fxの方は変数名にmax,minを使おうとしてるからそれをfMax,fMinとかに変える
SpController.fxの方は132,140,147,158,166,173行目にそれぞれMainTecって書いてあるからそれ全部に番号ふったりすればOK
↑のwarningはmul().xyzにすれば良いけど無視してもOK
コンパイルしてテストしてないから他にもエラー出てくるかも
>>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
私のリクエストでは無いですが、ピンポイントでも作ってくれるあなたにありがとうと言いたい
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板