したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

【MME】MikuMikuEffectを語るスレ

1名無しさん@お腹いっぱい。:2011/02/02(水) 19:45:33 ID:ul8C.kTo0
テンプレおねがいします。

652名無しさん@お腹いっぱい。:2012/04/14(土) 10:50:29 ID:4A7yi/Jo0
>>647
> ダミーボーンを選択後ボーン操作の選択を解除(凹んでいない状態)
この操作はセルフシャドウのon-offと同じ

653名無しさん@お腹いっぱい。:2012/04/15(日) 00:28:38 ID:IxtVxyJY0
full.fx ver1.4 なんですが、
セルフシャドウoff時の表示がMMDとかなり違うので困ってます

グラデーションをつけた独自toonテクスチャを使っているのですが、
full.fxを適用すると、なぜか色の境界がはっきり出てしまいます
これをMMDと同じような表示にできないでしょうか?

654名無しさん@お腹いっぱい。:2012/04/15(日) 01:37:09 ID:IxtVxyJY0
アクセサリの影をonにして、地面影色を変えたときのアンビエント色の変化が
full.fxでは再現されてないですが、意図でしょうか?

それと、地面影の高度を変える方法と、アクセサリのスペキュラを強調する方法も
探してます…

655655:2012/04/15(日) 04:07:31 ID:xHOG32rQ0
平行して質問すいません
ビームマンPのMME_Bombなんですが、煙がシチュエーションによって
安っぽくなってしまうので、加算合成じゃなくて半透明合成にしたいと思ってます

エフェクトの書き換えでできるかなと色々調べてみたんですが、どうにも理解が追いつかず…
この部分をこうするとできるとかそれは無理だとかあれば教えて下さい

656655:2012/04/15(日) 04:22:22 ID:xHOG32rQ0
すいません、ツイッターでできねーって言ってたら教えてもらいました
合成方法の選択最初からエフェクトに入ってるんですね…
ほんとすいません

657舞力介入P:2012/04/15(日) 08:09:16 ID:w8Pu0zEU0
>>653
これはfull.fxの仕様です。
セルフシャドウoffの場合でも、toonテクスチャのうち左下隅のピクセルの色しか使用しません。
(MMD標準シェーダでセルフシャドウonにした場合と同じ動き)

MMDと同じ動作にするには、
full.fx 184行目の
    Color.rgb *= lerp(MaterialToon, float3(1,1,1), saturate(LightNormal * 16 + 0.5));

    Color.rgb *= tex2D(MMDSamp0, float2(0, 0.5 - LightNormal * 0.5) ).rgb;
に書き換えてください。

658舞力介入P:2012/04/15(日) 08:10:07 ID:w8Pu0zEU0
>>654
> アクセサリの影をonにして、地面影色を変えたときのアンビエント色の変化が
> full.fxでは再現されてないですが、意図でしょうか?

こちらはセルフシャドウonの場合の話でしょうか?
これは意図したわけではなく、私のMMDの挙動についての理解に漏れがあったというだけの話ですが、
きちんと対応しようとするとMME側の修正が地味に面倒になる点と、
この仕様のずれをテクニックとして使っている人もいるらしい、という理由から、
修正しないつもりでいます。

MMDと同じ動作にするには、
full.fx 324行目の
    Out.Color.rgb = AmbientColor;

    Out.Color.rgb = EgColor;
に書き換えたうえで、
full.fxの冒頭に以下の行を足してください。
    float4 EgColor;

659舞力介入P:2012/04/15(日) 08:11:53 ID:w8Pu0zEU0
>地面影の高度を変える方法

多分、こんな変なことをするより、全モデル&アクセのY座標を動かしたほうが早いと思いますが、
一応full.fxを以下のように改変すると、地面影の高度を変更できます。

編集前(94行目辺り):

// 頂点シェーダ
float4 Shadow_VS(float4 Pos : POSITION) : POSITION
{
    // カメラ視点のワールドビュー射影変換
    return mul( Pos, WorldViewProjMatrix );
}

編集後:

float ShadowHeight = 10;
float4x4 ViewProjMatrix : VIEWPROJECTION;

// 頂点シェーダ
float4 Shadow_VS(float4 Pos : POSITION) : POSITION
{
    // カメラ視点のワールドビュー射影変換
    Pos = mul( Pos, WorldMatrix );
    Pos.y += ShadowHeight;
    Pos.xz += LightDirection.xz * ShadowHeight / LightDirection.y;
    Pos = mul( Pos, ViewProjMatrix );
    return Pos;
}

パラメータShadowHeightの値を変更すれば、高度を調整できます。


>アクセサリのスペキュラを強調する方法

意図されていることははっきりとはわかりませんが、
手動でXファイルのspecularColorの値を1よりも大きい値に書き換えてしまうとかでしょうか

660名無しさん@お腹いっぱい。:2012/04/16(月) 01:57:39 ID:4gipYtig0
割り当てた材質のテクスチャをパラメータ次第で自在な方向にスクロールさせてループさせる
そんなエフェクトが欲しいです。ローションv3が法線をスクロールさせてるようにuvもスクロール出来たらな、と
(並存できれば素敵)それがあれば定文を繰り返す電光掲示板とか段差のある流水とかできるなぁ、と。

furiaさんの公園〜とかバトーキン島用にあるにはあるんだけど、流用すると板ポリが歪んだりするんで・・・

661名無しさん@お腹いっぱい。:2012/04/16(月) 02:24:01 ID:qBk2BbUs0
>>660
UVモーフじゃだめ?
http://www.nicovideo.jp/watch/sm14506610

662名無しさん@お腹いっぱい。:2012/04/16(月) 12:16:16 ID:5umDOmwU0
いつもお世話になってる舞力介入Pさんのfull.fxを改造

上の方(「パラメータ宣言」直後)にこれを追加
float ftime : TIME; // 時間変数
float2 scrollspeed = { 0, 1.0 }; // 1秒間にスクロールする距離、この場合UはスクロールなしでVが1秒に1スクロールする

「テクスチャ適用」で検索して↓のように改造(.pmd用と.x用で2か所あります)
// テクスチャ適用
// Color *= tex2D( ObjTexSampler, IN.Tex ); // オリジナル
Color *= tex2D( ObjTexSampler, IN.Tex + scrollspeed * ftime ); // テクスチャUV座標(IN.Tex)にスクロールスピードに時間を掛けた値を足す

テクスチャのスクロール距離は有限(うちの場合4096だったかな?)なのであんま長いこと放置してると変なことになるかもね
並存はこれを理解したうえで自分で追加してくだちい
ダメだったら改造したいfxファイルを落とせる場所教えてくれれば誰かがやってくれます。
今日の帰りたぶん24時くらいなんでそれまで待っててくれれば俺やってもいいけど

663名無しさん@お腹いっぱい。:2012/04/17(火) 23:17:41 ID:2LdAYvVM0
質問させてください
アクセサリ.x ファイルにcloneを適用し
複製したすべてをAutoLuminousなどで光らせることはできますか?

664名無しさん@お腹いっぱい。:2012/04/17(火) 23:53:32 ID:dOOPQGqA0
>>663
cloneじゃ出来なかったはず。
同じ事ならモブツールで出来るよ。

665名無しさん@お腹いっぱい。:2012/04/17(火) 23:58:22 ID:Hbpa9xk60
>>663
AL_EmitterRTタブ上でアクセサリにClone.fxを適用すれば光るよ

666名無しさん@お腹いっぱい。:2012/04/18(水) 00:06:09 ID:LwdXdm0Q0
>>663
AutoLuminousのキーカラーか、KeyLuminous使うと複製モデルも光らせられる。
この場合元モデルの改造は不要。

MikuMikuMob_v330で材質改造したモデル使うと、AutoLuminous用のFXファイルを自動で作ってくれる。

>>665
それやると影とか余計なところまで光らないか?

667663:2012/04/18(水) 00:12:04 ID:E2TrQsJ20
>>664-666
回答ありがとうございます
ひとまず>665の方法で光りました!
様子を見ていろいろ試してみたいと思います
ありがとうございました!

668665:2012/04/18(水) 00:31:07 ID:TL7V3MI20
>>666
PMDじゃなくてアクセなんだし、同じアクセを2つ読み込んで、表示用とAL_EmitterRT用で使い分けて、
AL_EmitterRT用だけ影OFFにするとかやればいいっしょ

669名無しさん@お腹いっぱい。:2012/04/18(水) 01:39:50 ID:oDS7ccSs0
あれ?出来るんだっけ?出来なかったと思ってた。

670名無しさん@お腹いっぱい。:2012/04/20(金) 08:45:17 ID:jb5EiIQU0
スロー再生エフェクトってありますか?
モーション確認用に

さっきavi出力をしたんですが、
作ってる間は気づかなかった前髪のめり込みとか出力中に気づいて涙目に…

671名無しさん@お腹いっぱい。:2012/04/20(金) 13:14:14 ID:MD1al.Y20
ない。

再生時の速度やフレーム数の調整はMMDが行なって、
その後にMMEにデータが渡されるからモーション確認用にスロー再生とか不可能

672名無しさん@お腹いっぱい。:2012/04/20(金) 23:43:05 ID:9TMuI9hU0
>>670
エフェクトじゃなくて、Ragud Mezegis とか AlquadeLite とかの
アプリケーション自体の速度を調整する外部ツールを使うといいよ

673名無しさん@お腹いっぱい。:2012/04/22(日) 06:01:31 ID:ZLuaNvtg0
エフェクトで透過部分の描画を完全にすることは可能ですか?

674名無しさん@お腹いっぱい。:2012/04/22(日) 08:43:13 ID:cHFBgKE20
>>673
「完全」の意味するところがわかんないよ
ポストエフェクトでのα透過の話?
それともモデルの半透明の部分とかの話?

675名無しさん@お腹いっぱい。:2012/04/22(日) 11:40:20 ID:B/b8vsBA0
>>673
透過関係はこれ見るといいよ
【MikuMikuDance】透過材質の向こう側【検証解説】
http://www.nicovideo.jp/watch/sm13422996

エッジ出したいだけなら針金PのEdgeControllerを使うと良いよ。
但し、紳士枠エフェクトでは使えない(エッジは表示されない)

676名無しさん@お腹いっぱい。:2012/04/28(土) 18:54:56 ID:0WyJiMNE0
データPの新作エフェクトPostOverRayVRについての質問です
手軽に立体感のある陰を付けられる素晴らしいポストエフェクトなのですが
モノクロの陰影データをハードライト合成しているようなので
少し色が単純というか味気なくなってしまいます
そこでDiffuseMapタブにてo_Tonemapセピアの画像を差し替えたものを有効にし
陰影に色付けしておくことでイラストのような厚みのある色合いを表現できないかと考えたのですが
どうもエフェクト内ではモノクロで処理しているらしく明るさが変わるだけになってしまいます
どこを変更すれば陰影マップに色付けを適用出来るようになるでしょうか
なんだか上手く説明できていないような気もするのですがお分かりになる方がいましたらお願い致します

677名無しさん@お腹いっぱい。:2012/04/29(日) 01:00:40 ID:XmwSnkoU0
>>676
期待されている表現が可能かは未知数ですが、
内部のモノクロ処理をカラー処理に変更するには、以下のように改変すればよさそうです。

PostOverRayVR.fxの
68,69行目を以下のように改変。("float"を"float4"に変更、末尾の".r"を削除)

改変前:
float DiffuseFromPoint(float2 xy){
    return tex2D(DiffuseMapSampler, xy).r;
}

改変後:
float4 DiffuseFromPoint(float2 xy){
    return tex2D(DiffuseMapSampler, xy);
}


さらに102行目を以下のように改変。("float"を"float4"に変更)

改変前:
    float diffuse = DiffuseFromPoint(Map);

改変後:
    float4 diffuse = DiffuseFromPoint(Map);

678676:2012/04/29(日) 02:16:28 ID:2bBd5wp20
>>677
ありがとうございます
望んでいた通りの結果を得ることが出来ました
モノクロの陰影にグラデーションマップで色付けしたものをベース色にハードライト合成というのは
イラストを描く時によく使っているのですが
同じ表現を動画で使用しようと思うと何回も出力が必要なので困っていたのです
この方法で陰影をつけると出力が一度で済みますし
その上mainタブの割り当ても開いているのでもっといろいろとできそうです
本当に助かりました
重ね重ねお礼申し上げます

679653:2012/04/30(月) 12:28:14 ID:8s5xg.Yg0
舞力介入Pさま、先日はfull.fxに関して回答いただきましてどうもありがとうございます、
セルフシャドウOFFに合わせて調整したモデルでもエフェクトを
適用できるようになりまして、大変助かりますどうもありがとうございます。

ところで、toonテクスチャに関してはエフェクトなしと同じ表示になったのですが、
スペキュラの表示がエフェクトなしの状態とかなり違っていまして、
これをエフェクトなしと同様にすることは可能でしょうか?
質問ばかりで恐縮なのですが、もし教えていただけましたら、大変助かります。

680名無しさん@お腹いっぱい。:2012/04/30(月) 19:05:41 ID:Hv8OfP4o0
どう違うのか画像うpるとかした方が応えやすいよ。

681名無しさん@お腹いっぱい。:2012/05/01(火) 00:13:27 ID:PLtCID4k0
MMMで使えるサブカメラ系のエフェクトって何かありますか?

682名無しさん@お腹いっぱい。:2012/05/01(火) 01:43:24 ID:T2XLJw5.0
>>681
MultiMonitorじゃだめなの?

683舞力介入P:2012/05/01(火) 16:40:58 ID:JJO4oynU0
>>679

少々複雑ですが、以下のようにfull.fxを改変すると、おおよそMMD標準シェーダと同じになるんじゃないでしょうか


(1) 127行目に以下のように1行を足す("float3 Specular : COLOR1;" を追加)

編集前:

struct VS_OUTPUT {
    (中略)
    float4 Color      : COLOR0;      // ディフューズ色
};

編集後:

struct VS_OUTPUT {
    (中略)
    float4 Color      : COLOR0;      // ディフューズ色
    float3 Specular   : COLOR1;
};


(2) 160行目辺りの "return Out;" の前に以下のように3行足す

編集前:

    return Out;
}

編集後:

    float3 HalfVector = normalize( normalize(Out.Eye) + -LightDirection );
    float3 Specular = pow( max(0,dot( HalfVector, Out.Normal )), SpecularPower ) * SpecularColor;
    Out.Specular = Specular;
    return Out;
}


(3) 192行目辺りの "Specular" を "IN.Specular" に変更する

編集前:

    // スペキュラ適用
    Color.rgb += Specular;

編集後:

    // スペキュラ適用
    Color.rgb += IN.Specular;

684679:2012/05/12(土) 17:26:29 ID:gOlIR1gg0
おおおおおすごい、表示が同じになりました!
舞力介入Pさま、このようなニッチ需要にも応えていただきまして、
どうもありがとうございました!

あとは他のエフェクト作者さまが、対応していただけると、
シェーディングの選択肢も広がるんではないかと…

685名無しさん@お腹いっぱい。:2012/05/13(日) 03:13:03 ID:6yFxRQnk0
エフェクトでアンチエイリアスの強度を設定することは可能ですか?
avi出力時だけでも上げられるといいんですが。

686名無しさん@お腹いっぱい。:2012/05/13(日) 08:06:29 ID:TzQMCPBk0
大き目で出力してエンコード時に縮小すればいいって猫の顔のアイコンの人が言ってた

687名無しさん@お腹いっぱい。:2012/05/13(日) 08:22:12 ID:yGOcF5Fg0
猫顔アイコンの人が言ってるんだったら間違いないな。

688名無しさん@お腹いっぱい。:2012/05/13(日) 08:26:11 ID:0FMc8pvw0
(・・・ちなみにどなたのことですか、と聞いてもいいのだろうか)

689名無しさん@お腹いっぱい。:2012/05/13(日) 08:44:33 ID:yGOcF5Fg0
無粋かも知れないけど、MME関連で猫顔アイコンと言ったらまず間違いなくビームマンPの事だよw

690名無しさん@お腹いっぱい。:2012/05/13(日) 08:49:32 ID:0FMc8pvw0
ありがとうございます
アイコンというとどちらかのSNSでのお話かと思いましたもので失礼しました

691名無しさん@お腹いっぱい。:2012/05/13(日) 08:56:38 ID:TzQMCPBk0
あー、静止画選手権の主催の人のことです
っていうかビさんはあのMMDモデルのおかげで白熊かなんかだとおもってたw

692名無しさん@お腹いっぱい。:2012/05/13(日) 09:00:57 ID:yGOcF5Fg0
そっちかかよ!!!
うわあああああああああああああああああ!すげぇ恥ずかしい!俺!!
死にたくなってきたあああああああああ!!
死んでやるうううううううううううううう!!!

ビームマンP猫だと思ってたのに…orz

693名無しさん@お腹いっぱい。:2012/05/13(日) 09:01:37 ID:0FMc8pvw0
猫アイコンの御人は2人居る、貴重な知識でした
ありがとうございます

694名無しさん@お腹いっぱい。:2012/05/13(日) 09:18:19 ID:yGOcF5Fg0
その優しさがツライ…・゚・(ノД`;)・゚・

695名無しさん@お腹いっぱい。:2012/05/13(日) 13:36:16 ID:6yFxRQnk0
>>686
アンチエイリアスを設定できないばかりにそんなことをやるのは
ものすごい無駄ですよね?
アンチエイリアスさえどうにかなれば、MMDはレンダリングがダメだからとか
言われなくてもすむようになります。

696名無しさん@お腹いっぱい。:2012/05/13(日) 15:12:00 ID:TzQMCPBk0
なんだレンダリングバカこっちの板にも湧いてたのか
答えて損した

697名無しさん@お腹いっぱい。:2012/05/17(木) 20:24:59 ID:.yOUxCP60
ここの流れを見たのかMMEでポストアンチエイリアスを掛けるエフェクトが公開されたな

ttp://twitter.com/#!/o_tamon/status/202073657508503553
> おたもん @o_tamon
> 先日より調整していたポストアンチエイリアスフィルタですがとりあえず?目途がついたので公開してみます
> ttp://www.okoneya.ivory.ne.jp/mmd_files/o_DLAA_v0_1.zip
> 簡単に言えばエッジだと判定した箇所のみボカすことで疑似アンチエイリアスを行うエフェクトです

ttp://cdn.3dcustom.net/MMDuploader/src/MMD01002.png
まままGUMIさんとzezeミクステージでo_DLAAオフ(左)とオン(右)
輝度差がはっきりしている部分に限られているけど目とか背景の青系部分の縁を見ると滑らかになってる

698名無しさん@お腹いっぱい。:2012/05/17(木) 22:28:39 ID:S/PvvK7M0
2年ぐらいPSPの内部メモリの解析でエフェクトいじってただけのMMD初心者なんだけど
配布されてるfxファイルの中身を見ると圧倒的に弄れるステータスが少ないから
HLSL勉強したら定義付けからやり直して表現の幅広げられるだけ広げたいんだが
主にパーティクルが弄れたら今までの経験が活きるんだけど

例えば3軸の回転の・初期角度・回転速度・初期角度のバラつきの分布とか
・パーティクル発生位置の範囲を3軸で指定してその範囲にランダムに発生とか
RBGAでエフェクトの基準色を指定した上で他に始点と終点と複数の中間点指定して色から色まで展開させるとか
単位時間を定義してパーティクルの・存在時間と・全体の展開にかける時間と・上記方法の各区間の展開にかける時間とか・あとサイズも同様に

とりあえず特に不安なのだけ簡単に挙げたけどこの中から設定を弄れるように出来そうなのを教えてほしい
クレクレみたいで申し訳ないが出来る事と出来そうにない事とをしっかり分けないと
勉強もなかなか方向性が定まらなくて効率が悪い
だから一部ずつでも分かる範囲で教えてほしい
全部出来れば移行もスムーズに行きそうでありがたいんだけどな

699名無しさん@お腹いっぱい。:2012/05/17(木) 23:00:51 ID:eJ3iju4E0
>>698
とりあえずParticleEXをすすめておく
http://www.nicovideo.jp/watch/sm15509150


作者のビームマンPのところにパーティクルいっぱいあるよ

700名無しさん@お腹いっぱい。:2012/05/17(木) 23:11:36 ID:y1oz2xK20
>>698が何を言っているのか、全く理解出来ないパーチクリンの俺に誰か解説してくれ。
ちなみにパーチクリンはパーティクルとかけた(ドヤァ

701名無しさん@お腹いっぱい。:2012/05/17(木) 23:17:32 ID:.yOUxCP60
>>698
ホントにfxファイルの中身を見たのか?
それら全部実装できるぞ。

ただそのステータスを元に実際にパーティクルを描画するエフェクトも書かないといけないがな。

702名無しさん@お腹いっぱい。:2012/05/17(木) 23:21:20 ID:yKwbS.Ls0
>>698
配布されてるfxファイルってどれを見たんだろう?

703名無しさん@お腹いっぱい。:2012/05/17(木) 23:35:16 ID:S/PvvK7M0
早速ありがとう
でも一応ひと通りのパーティクルのエフェクトは大体見たんだ
正直このエフェクトは見たの初めてでかなり共通してるステータスもあるけど
それでもfxで編集、設定できる要素がまだ少なくて
PSPで作ってたエフェクトぐらいの表現が出来そうにないんだ
何より展開関係がクオリティに直結する
PSPだけあって一つ一つはそんなに綺麗じゃないけど動きを工夫して綺麗に見せるように試行錯誤してきたんだ
PCだとこの動画みたいに大量にエフェクトをばら撒けるし一つ一つのエフェクトも綺麗に加工できる
PSPじゃ同じ動きはできてもこんなに粉撒いたら一瞬で表示限界と処理落ちが待ってる
詰めるとこ詰めて限界を攻めてきたけどいい加減PSPも限界を感じてきたし
何より地力が違いすぎるので前々から考えてた移行を現実的に見ていこうと思ってる

宣伝みたいだけど一応こんなのを作ってる
全然関係ないジャンルだけど
http://www.nicovideo.jp/watch/sm16758967

作業量はあまり問わないからとにかく出来る事を増やしたい
PSPでも不自由だったところもPCなら一から弄れると思ってたんだ
正直PCでこれだけ弄れれば市販品のゲームにも見劣りしないものも作れると思ってる
一応RenderMonkeyから作るのを考えてるんだけど

704名無しさん@お腹いっぱい。:2012/05/17(木) 23:37:37 ID:.yOUxCP60
>>700
PSPのゲームの内部メモリを解析してエフェクトを改変してた知識を生かして
配布されているエフェクトファイルを弄ろうとしたら、用意されている変数が少なすぎるから
HLSLを勉強して自分で定義付けから作り直して表現の幅を広げたいんだけど

例えば
・パーティクルの回転軸の初期角度、回転速度のバラつかせ方とその値の範囲の指定方法
・パーティクルの初期位置の範囲をXYZ空間上で指定してランダム生成したい
・テクスチャを使ってベースとなる色の他に始点・終点と複数の中継点を指定して色変化させたい
・パーティクルの1つごとの存在時間、エフェクト全体での存在時間や推移時間を指定したい
・時間の推移によるサイズ変更なども出来るようにしたい

が特に不安な点になるんだけど、どれが設定を弄るだけで出来そうなのか教えてほしい。
クレクレみたいで申し訳ないが何が出来て何が出来ないのか教えてくれないと
勉強をするための方向性がなかなか定まらなくて効率が悪いんだ。

だから一部だけでも分かる範囲で教えてほしい。
全部出来るならPSPのエフェクトからMMEへの移行がスムーズにいきそうでありがたいんだけどな。

705名無しさん@お腹いっぱい。:2012/05/17(木) 23:38:41 ID:S/PvvK7M0
連投スマン
ビームマンPとかは速攻で飛びついたんだけど弄れる範囲には無いと思った
正直プログラミング自体は初心者以下だから
こっから弄るな以下は勉強しながら読み進めていこうと思ってた

706名無しさん@お腹いっぱい。:2012/05/17(木) 23:43:33 ID:y1oz2xK20
ドヤァの突っ込みが入ると思ってたら、予想外の真面目な返答がきて
何か凄く悪い事をした様な気になったからごめんなさいしておくね…(´;ω;`)

707名無しさん@お腹いっぱい。:2012/05/17(木) 23:51:14 ID:B6P.heIo0
>>703
HLSLを勉強したうえで作業量を問わないならエフェクトファイルを自分で書けばいいと思うよ。
MMEで出来る範囲はPSPのエフェクトどころかPS Vitaレベルなら普通に掛けるぐらい自由度が高い。

>PSPでも不自由だったところもPCなら一から弄れると思ってた
実際に一から組み立てればいいよ。

ちゃんとエフェクトさえ記述してやればPSPのシェーダで出来て
Direct3D 9のシェーダに出来ないことなんかないから

708名無しさん@お腹いっぱい。:2012/05/18(金) 00:07:45 ID:mu5Hf83A0
エフェクトファイルに最初から用意されてるパラメータってのはあくまでそのエフェクト本体が使うための簡単な設定値であって
エフェクトでやっていること本体はそれより下にある長々と書いてある何かだよ

つまりその本体をいじればあらかじめ用意されているパラメータを超えることは当然できるが、
何をどういじればどうなるのかはいろいろ調べながら実際にいじってどうなるかを確かめるしかないだろう

709名無しさん@お腹いっぱい。:2012/05/18(金) 00:14:28 ID:.BiX40r.0
>>707
MMEはそれぐらいのポテンシャルを持ってるとは思うんだけど
なんか本題なのに聞くのも恥ずかしくなってきたけど

>エフェクトファイルを自分で書けばいいと思うよ。
>実際に一から組み立てればいいよ。
どうやったらいい?何のソフト使ってどのあたりを勉強して弄ればいい?
HLSLの頂点シェーダやピクセルシェーダの記述を考えればいいの?
エフェクトファイルの書き込みはRenderMonkey使ったらいい?
あとRenderMonkeyとか解説サイトが404だったりいまいち使い方がわからない
いいサイト知らないかな

710名無しさん@お腹いっぱい。:2012/05/18(金) 00:18:30 ID:18XxVmEQ0
MikuMikuEffectで学ぶHLSL入門
http://codezine.jp/article/corner/426

とりあえずこれ読んでみたら?登録必要だけど

711名無しさん@お腹いっぱい。:2012/05/18(金) 00:20:23 ID:.BiX40r.0
>>708
そう、だからそのエフェクトには使わなくても適してなくても
弄れるすべてのパラメータを弄れるような状態にあるのが俺としては一番望ましいから
長々と書いてるところに追記や書き換えで本当に最初に書いたようなことができるのか
よく分かってる人なら即答できるだろうから確かめたかったんだ
その上で聞けることは聞いておこうかなと

712名無しさん@お腹いっぱい。:2012/05/18(金) 00:21:17 ID:.BiX40r.0
>>710
あ、一応登録して読みました

713名無しさん@お腹いっぱい。:2012/05/18(金) 00:24:16 ID:18XxVmEQ0
読んでみてこんな質問してるんなら、本当にただ読んだだけで理解してないんじゃないか

714名無しさん@お腹いっぱい。:2012/05/18(金) 00:40:56 ID:vGy3dmRY0
パーティクルの4角ポリゴンも爆発のモデルもレーザーの直線に太さを持ったポリゴンも同じ.fxのパラメータをちょろんといじれば再現できるようにしたいの?

715名無しさん@お腹いっぱい。:2012/05/18(金) 00:43:37 ID:f.sHlNQY0
「MikuMikuEffectで学ぶHLSL入門」は肝心のパーティクル系である
オブジェクトエフェクトの投稿が遅れてるからなぁw

ビさんも引っ越しをしたり転職したりで大変なんだろうけれど

>>709
とりあえず理想はテキストエディタで記述できるようになる事かな?

エフェクトって1つ1つの簡単な処理の膨大な組み合わせでしかないから
まずはその簡単な処理を覚えてからMMD上で試しながら組み合わせればいいと思う。

あと基本的にGeForce系がベースだからFX Composerのほうがいいかもね。

>>711
使わなくてもよい、適していないパラメータを弄れるようにするってことは
そのパラメータを適用するための計算式を記述しないといけなくなる。

そんなことしたら無意味にエフェクトが重くなるだけなので誰も作らない。

そして現実的じゃないからビームマンPはパーティクル系だけで30種類も作ってるんだよね

716699:2012/05/18(金) 00:54:42 ID:Ky4V8zB.0
>>709
プログラミングの基本は改変だと聞いたことがある
自分はつい最近までメモ帳使って書いてた
以下は中身が参考になると思うもの

> ・パーティクルの回転軸の初期角度、回転速度のバラつかせ方とその値の範囲の指定方法
> ・パーティクルの初期位置の範囲をXYZ空間上で指定してランダム生成したい
範囲指定生成やっているエフェクトは思いつかない
if文を使いまくればできるとは思う
乱数はParticleEX_2

> ・パーティクルの1つごとの存在時間、エフェクト全体での存在時間や推移時間を指定したい
エフェクト全体の制御はPE_Bom CONTROLOBJECTでの制御

> ・時間の推移によるサイズ変更なども出来るようにしたい
> ・テクスチャを使ってベースとなる色の他に始点・終点と複数の中継点を指定して色変化させたい
パーティクルひとつあたりの時間推移はWind_v2

717名無しさん@お腹いっぱい。:2012/05/18(金) 01:02:12 ID:f.sHlNQY0
とりあえずPSPのシェーダーが書けるならHLSLを勉強すれば1ヶ月程度で書けるようになると思う。
単純に用意された変数を書き換えることしか出来ないなら1年間頑張れば出来るようになると思う。

HLSLの勉強なんてC言語さえ知っていれば大したことないから3Dプログラミングの知識と
アルゴリズムを考える(思いつく)能力があれば作れるようになるまで1ヶ月程度でいい。


まぁ、私は3Dプログラミングの知識が無いからポストエフェクトばっかり作ってますけどね。
そして今でも記述にはEmEditorを使って全部ハンドコーディングしていますよ。

>>716
純粋な好奇心なんですがエフェクトの開発ってテキストエディタ以外に何が有ります?
他の人が何を使ってエフェクトを作っているのか参考にしたい。

718699:2012/05/18(金) 01:31:07 ID:Ky4V8zB.0
ランダムテクスチャ作るのにAviUtl使った
ランダムになっているかというと微妙

ほぼ改変しかやったことない上にプログラミング自体独学なので
テキストエディタで先駆者の中身見まくって手探りで進んでる

719名無しさん@お腹いっぱい。:2012/05/18(金) 02:02:58 ID:vGy3dmRY0
ゲームとかでのエフェクトの作り方は
抽象化されたパラメータからポリゴンをモデリングしたり
普通の3Dツールで作ったモデルや動きとパラメータでやるものとか各社色々

>>ランダムテクスチャ

針金PのTexTableEditってツールがオススメ

720名無しさん@お腹いっぱい。:2012/05/18(金) 02:27:39 ID:f.sHlNQY0
ランダムテクスチャを作るのにGIMPとかじゃなくて
AviUtlを使ったということに興味津々だったりw

自分は変数代わりのテクスチャを作るときは専用のプログラムを別に作ってる。
普通のプログラムだったらランダム生成を持っているので0〜255の範囲で生成したのを
RGBそれぞれに書き出してBITMAP保存みたいな。

721名無しさん@お腹いっぱい。:2012/05/18(金) 02:29:04 ID:QDaFd38U0
パーティクル系エフェクトは、サンプルエフェクトFireParticleSystem.fx の仕組みが基本になってる(と思う)から、
まずはこれを読んでみるのがいいと思うよ。

722名無しさん@お腹いっぱい。:2012/05/18(金) 10:15:00 ID:pdmRlqC20
HLSLなんてただの書式ですよ
MMEの本質はアノテーションです

723712:2012/05/18(金) 21:10:55 ID:x5jQMJjE0
寝落ちちゃった
>ツールに同梱されているエフェクトファイルはAMD RenderMonkeyに同梱されているサンプルデータを元に改造されており
とか書いてるけどFX Composerのほうがいいの?

PSPでの経験から言ったらどのエフェクト(というよりテクスチャ)でも同じように扱えるからエフェクトの意外な使い方に気づいたり
ってのがよくあったんだよね
っていうかそんな風に書くってことはやっぱり出来る事を一覧にするのが無意味なぐらいは自由に定義できるってことなのか

ちなみに内部メモリいじってたゲームは全エフェクト共通でステータス持ってて使わないステータスのアドレスは0だった
あとPSPのシェーダなんて書けない
ってか弄り方もわからない
内部メモリを長い時間、検索とか周辺アドレスを弄って操作して変化を観察してってのを繰り返して
エフェクトを扱ってるアドレスを見つけて
定義も範囲もわからない数字をひたすら弄って試行錯誤してるうちに
各アドレスの定義が分かってきたので自分好みに書き換えて作ったってだけだから
C言語も何も知らない分からない
なんか昔学校でベーシックとかやったなって程度の一般人

とりあえず他人のfxファイル見ながらHLSL勉強するよ
あとこれを苦労して勉強してエフェクト作れるようになったとしてさ
そのエフェクトのxやfxファイルはfxライブラリで作ったゲームに流用するときに問題とかって出ないよね

724名無しさん@お腹いっぱい。:2012/05/18(金) 21:30:31 ID:Ky4V8zB.0
>>719
TexTableEditすごい!紹介ありがとう
ググってもそのレスと針金Pさんの配布先しか出なかった…いったい何者?

>>720
R255の図形を作って、ノイズのType4をのせた
それを2つコピペして、色をG255とB255に変えて加算合成した

ノイズのパラメータが同じだと同じノイズになっちゃうのでパラをずらしたんだけど
そのずらし方が上手くいってるかわからないので本当にランダムか怪しいw

725名無しさん@お腹いっぱい。:2012/05/18(金) 23:01:45 ID:pdmRlqC20
いや、HLSLだけ勉強しても何もわからんぞ。
エフェクトファイルの文法はMME付属のREFERENCE.txtに書いてあるから
まずこっちを読むべき。

726名無しさん@お腹いっぱい。:2012/05/18(金) 23:13:07 ID:x5jQMJjE0
>>725
うわマジありがとう
文法がわからなくてまとめてるサイトも見つからないから
とにかく他人のfx読んでなんとなくでも理解していこうとしてたよ
助かったよすごい徒労をするところだった

727名無しさん@お腹いっぱい。:2012/05/18(金) 23:20:56 ID:QDaFd38U0
fxファイル読む場合は、強調表示設定ファイルを入れとくといいよ。
格段に見やすくなる。
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=1034275

728名無しさん@お腹いっぱい。:2012/05/18(金) 23:41:40 ID:x5jQMJjE0
>>727
なんかみんなありがとう
でもこれメモ帳には対応してないよね
何かおすすめのワードエディタある?

729名無しさん@お腹いっぱい。:2012/05/18(金) 23:54:41 ID:QDaFd38U0
特に愛用しているものが無いんなら、
とりあえず、強調表示が用意されてるサクラエディタ使っとけば?
秀丸エディタはシェアウェアだし。

730名無しさん@お腹いっぱい。:2012/05/22(火) 18:43:19 ID:ItKePBOI0
ビームマンPのうる目エフェクトUruUruEye.fxVer.1.5、1.6両方で、
・pmxの材質モーフが消えてしまう
・pmd、pmxどちらでも頬赤などで透過tgaや透過pngを使っていたり、頬赤画像の代わりにうる目が入る
・スフィアマップを使用しているモデルだと、スフィアマップ適用部分にうる目が入る
(スフィアマップ使用モデルに、透過pngをeye_base.pngに指定したUruUruEye.fxを適用したところ、
紳士枠現象なのか消失)
という状態です。
うる目と材質モーフや表情板を併用して使いたいのですが、方法はありますか?

731名無しさん@お腹いっぱい。:2012/05/22(火) 20:06:21 ID:fy0PNrMU0
MMMでは材質モーフの値が正常にシェーダに渡されるが、
MMD/MMEでは材質モーフを使用してもモーフ前の値しかシェーダに渡されない
MMD側の実装不足によりMMEから材質モーフ適用後の値を取得する手段がないためである
よってMMD/MMEで材質モーフとシェーダの併用は不可能である

ところでUruUruEye.fxはサブセット展開で目の材質のみに適用するものなはずですが
その記述だとモデル全体に適用しているように見えるので
まず目の材質のみに適用してみてください

732730:2012/05/24(木) 18:33:23 ID:HdJRenU60
>>731
ご指摘の通り、目の材質ではなく、モデルに指定していました。
すみません。
回答とご説明ありがとうございました。

733名無しさん@お腹いっぱい。:2012/05/26(土) 17:15:28 ID:XCllEC7Q0
質問あげ

http://www.nicovideo.jp/watch/sm17744889 の星空エフェクトなんですが、
ちらつきをなくす事ってできますか?

734名無しさん@お腹いっぱい。:2012/05/26(土) 18:53:41 ID:Qv/l6SSU0
こういう画像の
http://www.dotup.org/uploda/www.dotup.org3023897.jpg
テスクチャの黒部分を
http://www.dotup.org/uploda/www.dotup.org3023899.jpg
こんな風に透明にしたいんだけどどうするもんなの?
たぶんみんな引っかかるところじゃないんだろうけど
結構試行錯誤してできなかったから教えてほしい
float Gray = (Color.r + Color.g + Color.b )/3
Color.a = Gray;
とかやってみても完全に消えてくれないし

あと前に聞き忘れたんだけどこのスレってもしかして基本sage進行?

735名無しさん@お腹いっぱい。:2012/05/26(土) 19:04:20 ID:Ykn4SyDE0
ここは基本age進行で良いんだよ。
みんなsageてるけど。

736名無しさん@お腹いっぱい。:2012/05/26(土) 19:07:59 ID:BAm69gek0
>>734
Color.a = Gray;
するなら Color.r = 1; Color.g = 1; Color.b = 1; と完全白化した方がお好みに合うかも
完全に消えないのは画像の方が足して0になってないから?
ついで機能の紹介
clip( Color.a - (10 / 255) );
ってやるとColor.aが10/255未満になった時に描画されなくなる。
clip( value ) → value が 0〜1の間でない時に処理を打ち切りそのピクセルの描画をやめる関数

進行がsageかどうかは知らない。
質問あるならageでいいんじゃないかな?

737名無しさん@お腹いっぱい。:2012/05/26(土) 23:08:03 ID:Qv/l6SSU0
>>736
ありがとう
clipが参考になったおかげで出来たよ
http://www.dotup.org/uploda/www.dotup.org3024934.jpg
最初よりかなり融通も利くしちょっと長くなったけど良い感じかな
これでようやくエフェクトを具体的に考えられるよ

Color *= float4(1,1,1,1);
//Color.g = 0;
Color.rgb = float3(1,1,1) - Color.rgb; //色の反転
float Gray = (Color.r + Color.g + Color.b ) / 3;
Color.a = 1 - Gray;
clip( Color.a - (0.01) );
Color.rgb = float3(1,1,1) - Color.rgb; //色の反転

Color *= float4(0.3,0.8,0.5,1);//Aは1以上でも可

// スペキュラ適用
Color.rgb += Specular * 10;
return Color;

738名無しさん@お腹いっぱい。:2012/05/26(土) 23:47:59 ID:Qv/l6SSU0
さっきからうるさくてごめん
スカイドームつけたら全然ダメだった
http://www.dotup.org/uploda/www.dotup.org3025174.jpg
白背景でも黒背景でもいけたからできたと思ったけどこれじゃ話にならない
しかも上じゃメモ書き消し忘れてるし恥ずかしい
これは背景画像の取得とか考えるしか無いの?

739名無しさん@お腹いっぱい。:2012/05/27(日) 00:07:25 ID:ecorQpm20
>>738
描画順はチェックした?

スカイドームより前なら白背景しか透けないからこれであってると思うよ

740名無しさん@お腹いっぱい。:2012/05/27(日) 00:31:46 ID:dsB5AbIA0
>>739
おお
出来たよありがとう!
そっか基本スカイドームは一番後ろか
じゃあこれからちょこちょことエフェクト作ってみるかな

741名無しさん@お腹いっぱい。:2012/05/27(日) 02:23:10 ID:19YJWqOc0
>>733
アンチエイリアスかけるか大きくするかでスクロールのちらちらは軽減できるかな?
アンチっていうかcircle.pngをもうちょいぼやけた○にして頂点シェーダの float starsize = 1; の値を大きくするのがいいかも?

742名無しさん@お腹いっぱい。:2012/05/27(日) 09:34:10 ID:r5TUBtdM0
(10.0 / 255.0)にしないと環境によっては誤差が凄いことになると思われ。
意図的に整数として扱いたい場合以外は .0 を付ける癖をつけた方がいい。

743名無しさん@お腹いっぱい。:2012/05/27(日) 10:06:26 ID:r5TUBtdM0
チラつく原因はアンチエイリアスモードがSSAAじゃなくてMSAAだったり?

744名無しさん@お腹いっぱい。:2012/05/28(月) 21:00:57 ID:ZmQhq1j.0
エフェクト作る上で描画限界は知っときたいんだけど
まだ試験的に作ってるだけだから環境はオンボードでグラボ積んでないんだけど
グラボ積んでる人たちってどれぐらいすごいの?
かなり性能によるだろうからパソのスペックと一緒に少なくともどれぐらいは描画できるってのを教えてほしい。
エフェクトはParticleEXとかRealFireParticleあたりがいいかな
あとfxファイル見てると生成数15000とかあるけど各瞬間あたり本当に15000も描画されてる?

745名無しさん@お腹いっぱい。:2012/05/29(火) 00:03:56 ID:4hDcNakM0
>>744
画面の解像度や、エフェクト描画の画面に占める割合などによって負荷が全然違うから、
予め描画条件を提示しておかないと、計測の意味無いよ…?

画面を1024x768にしてフルスクリーン、出力サイズは4:3、fps無制限、視点は"下面"、エフェクトは1つだけ読込&デフォルトパラメータ、でのfpsを計ってみた。
無負荷:995fps、ParticleEX:650fps、RealFireParticle:125fps
(Core2Quad Q9450、GeForceGTX460)


>生成数15000
数えたわけじゃないけど、パラメータを変化させたときの結果を見る限り描画されている。
透過度が0になると見えなくなるから、少なく見えるかもしれないけど。

746名無しさん@お腹いっぱい。:2012/05/29(火) 03:01:18 ID:cdAY8Zm60
今のハイミドルで1秒に100億ポリゴン程度は描写出来るからなぁ
当然テクスチャを貼ったりすれば減るけど数万は軽いね

Intel のハイエンドオンボード GPU と AMD のハイエンドグラボ GPU だと
3DMark11(Performance)で HDG4000:762 に対して HD7970:7967 と10倍はある。
しかも前者はアンチエイリアスが掛からないから画質も雲泥の差になる。

Intel オンボはこれでも数年前よりもかなり性能が向上してこのレベルなので
XP とか初期 Vista の頃のオンボじゃさらに 1/10 でもおかしくなかったりする
(3DMark11 はそもそも動作しないが DX9 系ゲームでも比率は大差ない)

747名無しさん@お腹いっぱい。:2012/05/29(火) 03:23:21 ID:PaglfaHc0
今のdGPUにとってはPS3(ゲフォ)とかXbox 360(ラデ)のGPUがかなり時代遅れレベルだからなぁ

MMEで出来る範囲はPS3/Xbox 360と同世代であるSM3.0に制限されるけど
絶対性能でみれば6世代は交代しているdGPUの方が数倍上だからね

そんな限界性能まで出したら使用できないMMDerが大半だろうから問題だけど

748名無しさん@お腹いっぱい。:2012/05/30(水) 23:23:18 ID:euJKt5RM0
そうかありがとう
思えばPS3って6年も前だもんな
そりゃ性能も比べ物にならんわ

新調したとこでインテルのCore i5 2500KだからGPUはHD3000だけど
15000エフェクトをとりあえず16個ぐらい並べてみても
処理落ちは激しかったものの全部描画されたみたいだしなぁ
グラボ考えたら描画限界なんかほとんど考える必要なさそうだな
エフェクトは数増やせばそれだけで綺麗に見えるから心強いな
PSPなんか100〜200で描画限界来てたから……

749名無しさん@お腹いっぱい。:2012/06/03(日) 03:35:01 ID:Gmvq4r6M0
自分の環境で発生する不具合があるので書き込んでおきます。

【MMDバージョン】 Ver.7.39.  【MMEバージョン】 ver0.28  【OS】 Vista x86

【事象】 emm ファイル保存時に割り当てエフェクトファイルが書き出されないため、次回読み込み時に読み込みエラーが発生する。

【発生条件】
1.ポストエフェクトでのみ発生する(シェーディングエフェクトやオブジェクトエフェクトでは発生しない)
2.エフェクトファイル割り当てウインドウで非表示にする

この2条件を満たす場合に設定を保存する(手動/自動問わず)と条件に該当するポストエフェクト用アクセサリに対して
ポストエフェクトファイルが割り当てられない状態で書き出されてしまい、次回読み込み時にエフェクトファイルを見つけられない。

(実際に書き出される例:ここから)
[Object]
Acs1 = UserFile\Effects\ObjectEffect.x
Acs2 = UserFile\Effects\PostEffect.x

[Effect]

Acs1 = UserFile\Effects\ObjectEffect.fx
Acs1.show = false
Acs2.show = false

(ここまで)
本来なら Acs2.show = false の前の行に Acs2 = UserFile\Effects\PostEffect.fx が書き出されないといけないハズで
実際にテキストエディタで追加してあげると問題なく読み込むことが可能になる。

【その他】
次回読み込み時に「以下のエフェクトファイルが存在しません: C:\Program Files\MikuMikuDance」(フォルダは一例)と表示。
Main タブに限らずレンダーターゲットでも上記条件を満たす場合も同様に書き出し、読み込みに失敗する。

750名無しさん@お腹いっぱい。:2012/06/03(日) 19:18:43 ID:uPorzA.c0
Time じゃあエフェクト全体の時間は測れるけど
パーティクル単体のそれぞれが描画され始めてからの時間は測れないっていう仕様に思えるんだけど
なにか後者の時間を測る方法はないかな
大量に粒を出したときにそれぞれの粒のサイズ展開や色展開を指定したいんだけど
一括なんかで測られても使いものにならない

751名無しさん@お腹いっぱい。:2012/06/03(日) 19:24:24 ID:NAzA17JA0
>>750
時間記述用のテクスチャを用意するとか
頂点情報のどれかをDelayとして扱って時間から引くとかどう?




掲示板管理者へ連絡 無料レンタル掲示板