したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

MMD関連プログラミングスレ

1かんな ◆LROMJ4PcOQ:2010/09/26(日) 20:12:21 ID:emHXwJKM0
■MMD関係でプログラミングを行っている人々の情報交換スレです
言語系、DirectX系、HLSL/GLSL系をはじめとした話題が中心。
MikuMikuEffectの.fx系もこちらで。

質問や初心者対応を主としたスレではないので、質問に対する回答が無くても泣かないように。
回答は任意で行って下さい。

プログラミングの基礎的な部分などはぐぐる先生に聞くか、もしくは2ちゃんねるの
プログラム板・CG板・ゲ製作技術板などを参照にする事。

■関連スレ
MMD関連ツールスレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1259444737/

MMD動画の編集・加工(エフェクトなど)を語るスレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1274703972/

PMDEditor
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1259444259/

MMDのモデルデータ(制作・改造)について語るスレPart 3
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1282711154/

【MMDアクセサリ】アクセサリ関連スレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1220086643/

MMD関連データ公開スレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1241598884/
.fxやプログラムも公開時はこちらにも報告を頂けると助かります

■このスレでの注意事項(暫定)
・人を誹謗中傷しない
・荒らしはスルー
・実装を期待しない
・開発者を無駄に神扱いしない
・否定する場合は代替案などを提示する事
・議論は前向きに
・age進行推奨

■次スレは>>970が建てる事
次スレに必要な議論はそれまでに済ませておくべし
>>970が音沙汰無い場合は>>980一任

472LsK ◆bYpriaxgmY:2013/09/15(日) 09:30:40 ID:/KFbf9720
>>471
StreamOutputStageとは、複数の出力をコンピュートシェーダーなどで合成したりとか
そういう使い方でコンピュートシェーダーを使用することのことでしょうか?

テクスチャについては解決済みなのに、途中の表記になってました。
SDEFについてはまだ未解決です。
http://mikumikuonline.blogspot.jp/2012/05/sdefhlsl.html
上記URLを参考に、SDEFを実装しようと思っていますが、とりあえず、BDEF2で動かしてます。

SDEFの計算式に詳しい方がいたら、それだけでも協力していただければかなり進みは早いのですが。

473名無しさん@ダヨー:2013/09/15(日) 09:47:25 ID:bHG9bqMk0
var bone0 = bones[(int)v.BlendIndices[0]];
var bone1 = bones[(int)v.BlendIndices[1]];
var center = v.SdefC; // Vector3
var weight0 = v.BlendWeight[0]; // float
var weight1 = 1 - weight0; // float
var mat = Matrix.RotationQuaternion(Quaternion.Lerp(Quaternion.Identity, bone1.LocalRotation, weight1) * Quaternion.RotationMatrix(bone0.AbsoluteTransform)); // Matrix
var pos = v.Position; // Vector3

pos = Vector3.TransformCoordinate(pos - center, mat)
+ (center
+ (Vector3.TransformCoordinate(center, bone0.AbsoluteTransform) - center + Vector3.TransformCoordinate(v.SdefR0, bone0.AbsoluteTransform)) * weight0
+ (Vector3.TransformCoordinate(center, bone1.AbsoluteTransform) - center + Vector3.TransformCoordinate(v.SdefR1, bone1.AbsoluteTransform)) * weight1) * 0.5f;
v.Normal = Vector3.TransformNormal(v.Normal, mat);
v.Position = pos;

// WTFPL

474名無しさん@ダヨー:2013/09/15(日) 14:32:04 ID:Ru.BqRoM0
>>472
VertexShader→略→(GeometryShader)→っと来たのを違うVertexShaderにぶち込むことができるんで

未スキニング頂点を入力(MMM方式)

VSでスキニング

別のVSへ(MME方式のスキニング済みが送られてくる前提のシェーダー)

まぁこれはどうでもいいか。

働く床_VS → フィギュアとか他の質感シェーダ

のように変形系エフェクトの変形後を質感変えるシェーダーに流し込めるってのが良いな、と。


コンピュートシェーダといえば、
物理演算をそっちに持ってってそれもMMEれるとかなると面白そうって思ったたけどすげー大変そう


>>473
MMMの方式とだいたい同じ


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

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