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

【MME】MikuMikuEffectを語るスレ Part 2

216名無しさん@ダヨー:2013/01/18(金) 19:07:55 ID:T7qPjqIw0
>>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上で動かしてチェックはしてないから
不具合あったら家に帰った後に対応します




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