したらば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一任

445名無しさん@ダヨー:2013/08/04(日) 05:18:50 ID:yon7Hpzo0
ikx.cppを欲しがる人はそこそこ居そう

446sn0w75:2013/08/09(金) 12:37:44 ID:ekP3qPWE0
そろそろ一週間経ってるので少し更新。
いろんな方法をやってみたのですが、未だIK変形が出来ていません。保存したコード貼っておきます: http://pastebin.com/EZEh6CGb

コメント化していないupdateIK()は最新ので、その後続く、コメントされているupdateIK()は古いのです。
最新のはMMD_DesktopMascotのIKコードを改造したものですので日本語コメントが付いてます。

最新をやってみるとこんな感じです: http://imgur.com/unuypVj

他のMMDアプリケーションのソースコードも見てやってみたので、ikx.cppがあってもあまり役に立てない気がしてきた orz

449名無しさん@ダヨー:2013/08/14(水) 00:20:24 ID:S8yrno6g0
スレ見てるとC/C++ばっかだなぁ。javaで書いてjavascriptにポートしてるのは俺だけか。
JOGLとWebGLで使えて便利だぜ!とか思ったがプリミティブシェーダーが使いたい。
フラグメントシェーダーだけじゃもの足りん。

>>445
欲しいよ。MMDはIK謎すぎる

450名無しさん@ダヨー:2013/08/16(金) 19:19:51 ID:XQQnjolA0
プリミティブもフラグメントも同じ物かと思ってた!

451sn0w75:2013/08/21(水) 14:00:15 ID:dFoN8oGo0
しばらく休憩することにしたけど、休憩を始めた前はIK出来た…かもしれない。ただ軸制限がまだ掛かってない為凄く不自然に見えるw
http://www.youtube.com/watch?v=8Dsm0aCvD3k

これが完全に出来たら色々書くつもりだ…MMDのIKに付いての情報が足りなさすぎる orz

452名無しさん@ダヨー:2013/08/21(水) 19:07:42 ID:OnLXRHic0
>>451
https://www.sugarsync.com/pf/D109395_2949408_453861

453sn0w75:2013/08/22(木) 18:19:06 ID:pf65wSTw0
>>452
再うpありがとうございます…勿論上手く行かないけど orz

もう戦意失いつつあるなぁ…さすがにこんなやってても出来ないんだと傷つくというか、凄く悔しい。

とりあえず最新のコード貼っとくか… http://pastebin.com/Q2VTxPWf
-足首がまったく回転しないのが気になる…多分targetBoneを正しく変形してない(変形してはあるが)。
-角度制限を掛けるともっと変な結果が出るだけだ(しょんぼり

454名無しさん@ダヨー:2013/08/23(金) 14:08:58 ID:xi82W2CM0
>>453
俺もIK関連で結構詰んでるんだが、最近C#ばっかすぎてそのC++のコードが全く読めねえ・・・
足首がおかしいのは俺もなんだよね。ただ回転しないってわけじゃなくて、足首がグルグルしちゃうっていうかIKの解が収束しないってことなのかな。
足全体はおかしくないはずなんだが、なんでだろうなあ。

455名無しさん@ダヨー:2013/08/23(金) 16:45:56 ID:Gtzbib0w0
先に一度IK拘束下のボーンを変形完了しておく

456sn0w75:2013/08/24(土) 16:22:07 ID:hHgtvhPM0
>>454
ぐるぐる回るって現象は僕のも前はありました。
確か、ボーンの回転変数を毎フレームリセットしないと、回転が重ねていって、永遠に回る状態になってしまいます。

457名無しさん@ダヨー:2013/08/24(土) 17:45:24 ID:vP1hIAdA0
>>456
ありがとう。まさにその通りだった。
多少だけど改善した!
俺がアドバイスできることは少ないかと思うけど、お互いに意見交換していこうぜ。

458LsK(457) ◆bYpriaxgmY:2013/08/26(月) 17:19:13 ID:uWQP5gzQ0
連投すまん。
ただ、自分も何を作っているか明らかにした上でお互いに持てる技術を共有していきたいと思う。
自分が作っているのはDirect3D11でPMXのモデルを表示することができるオープンソースのライブラリなんだ。
まだ公開していないが、自分のコードが誰かの疑問を解決できるのなら迷わず該当箇所を貼る用意がある。

現在の状況⇒http://youtu.be/jqtse-lH-Sc

sn0w75氏のように自分以外にもpmxの表示に手を出そうとしている人が居たようでうれしい。
自分もIKが完全にうまくは行っていないから出せる知識は少ないし助けられることばかりかもしれないが、よろしくお願いします。

459名無しさん@ダヨー:2013/08/26(月) 21:31:29 ID:VmaeWk2g0
OpenGL ES 2.0 なのがつらいけれど
iPhone/iPadでpmxのモデルとモーションを描画したいなあ。
タッチ操作でより直感的に編集できると楽しそうに思う。
Windowsのタッチ機能でも良いけどね

460名無しさん@ダヨー:2013/08/26(月) 21:58:31 ID:CNabeYHM0
タッチは感覚的でおおざっぱな操作には向いてるUIで
細かい操作には向かない気がするけどなあ

461sn0w75:2013/08/28(水) 10:38:13 ID:y/0fsZ0w0
>>458
返事遅れてすみません。この数日、IKを完成する為に色々試してたけど最終的に全然ダメだった。
君のIKが殆ど出来てるのようで羨ましい。共有は是非したい所ではあるけど掲示板じゃちょっと面倒になるかもしれません。
もしよかったら、チャットプログラム等で合流しませんか?(Skypeとか。)それも無理でしたらメールでも大丈夫です:
ibenrunnin@gmail.com

どちらも無理でしたらここでやってもいいですけど、他の人に迷惑にならないか心配です。

それでは、こちらこそ宜しくお願いします〜

463:2013/08/29(木) 17:00:53 ID:65uEXvOY0
MME導入むずかzjhb。

465LsK ◆bYpriaxgmY:2013/09/01(日) 21:21:56 ID:4fWsoknA0
MMMは頂点モーフってどうやって実装したんだろうか・・・
スキニングをGPUでやると、頂点だけの移動ってすごいやりにくい。

466名無しさん@ダヨー:2013/09/02(月) 02:35:16 ID:JCr/0BtU0
モーフって足すだけ・・・ とかそういうんじゃなくて?

467名無しさん@ダヨー:2013/09/02(月) 11:34:40 ID:MPVZd4mk0
モーフオフセットを格納するスペースを頂点に与えてやって
頂点シェーダなりコンピュートシェーダなりでスキニング直前にオフセットを足してやればいいんじゃないですかね。
MMMはCPUでやってるっぽいけど

469名無しさん@ダヨー:2013/09/06(金) 11:02:32 ID:7cC6W0qY0
車輪の再発明で心バキバキ
MMDDに期待。。。

470LsK ◆bYpriaxgmY:2013/09/06(金) 14:49:02 ID:1CPZ5yXA0
>>469 ご存知で頂いて嬉しいです。頑張って期待を裏切らないように完成させたいと思います。

他の方も興味があれば、協力していただけると嬉しいです。
https://mmdd.codeplex.com/

471名無しさん@ダヨー:2013/09/15(日) 05:30:39 ID:Ru.BqRoM0
MMDDのMME仕様拡張はちょい楽しみ
StreamOutputStageとかも使えるようになったりするんかな

一部読み込めないテクスチャってのはアルファ付きBMPとか?
SDEFもまだ未解決?

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の方式とだいたい同じ

475LsK ◆bYpriaxgmY:2013/09/15(日) 16:55:11 ID:/KFbf9720
>>473
SDEFの計算式ですか!ありがとう!利用させてもらいます。

>>474
なるほど、確かにエフェクトの可能性が広がりそうですね。そういった意見は是非取り入れていきたいと思います。
MMMとMMEのシェーダー対応のために、GPUスキニングとCPUスキニングを切り替えられるように実装しようとしていたので、
もし、その方法が取れるならGPUスキニングの利点を活かせますね。

476LsK ◆bYpriaxgmY:2013/10/15(火) 10:35:50 ID:lQW4tWgQ0
MMDDはMMF(Miku Miku Flex)に名称が変更されました。
それに伴い、CodePlexのページが変更されました。
https://mmflex.codeplex.com/
今後ともよろしくお願いします。

また、>>474で出ているStreamOutputについてですが、今プロジェクトでは舞力介入Pと一緒にDirectX11用のシェーダーを協議しつつ進めています。
その中でも、StreamOutputについては案として挙がっています。
MMFのページにある仕様は暫定的なこちらからの提案用の案ではありますが、舞力介入Pの指摘を受けて1度作り直したStreamOutputの仕様のため、大きな変更はないかと思われます。
ただ、まだコードのほうで実際に可能かテストしていないため実現できるかどうかは怪しいですが、MME/MMMのシェーダーの互換性を持たせる、複数エフェクトのモデルへの適用が行えるようになると予想しています。
もしよろしければ、シェーダーの仕様について助言をいただければと思います。

長文失礼しました。

477sn0w75:2014/01/07(火) 16:59:43 ID:4pcDsN7A0
どうも久しぶりです。大変久しぶりです。半年ぐらい経っちゃってますしw
皆さんのお陰で、開発がかなり進むことが出来ました。
最初は3Dのこと何も知らなくて、言語バリアもあって「同次変形行列」みたいな複雑な単語も知りませんでした。いやそもそも英語のHomogeneous Transformation Matrixって単語知らなかったわwww

でも今はFK、IKモーション、頂点モーフ、物理演算が出来てます。
http://www.youtube.com/watch?v=n3w319L3tus

まだバグだらけです(得にIKは酷い…)。でもこの最初の一歩で、Mac OSX、Linux等のOSでMMDの開発が段々進めていったら〜と思ってます。

とにかく、僕は自分の好きなOSでミクミクしたかった。そしてその自由が手に入れたら、それを皆と分け合いたかった。それをある形で出来そうです。
(ボーカロイドで自由にボーカルのある曲、動画等を作れる感じがあるのに、使ってるソフトが全部クローズドだなんて皮肉な話だと思ってましたし。)

もう少し時間掛かると思いますけど、もう少しバグ直してから最新のコードを公開して、ニコニコで発表したりしたいと思ってます。
その後は、そうですね…ちゃんと開発を進めて、コードのメンテ(バグ直し等)もする形でいきたいと思ってます。

後、多分二度と現ることはないでしょう、MMDの仕様について詳しくて英語もペラペラな自分がせっかくここにいますからねwwww
英語のブログでMMDの仕様やMMD関連プログラミングについて色々書くのもいいかもしれません。
それで海外でMMDの開発者がもっと増えるかもしれない。
日本語が分からない奴等がMMDの開発をしようとすること自体がいいことなのか悪いことなのかは分かりませんけどwwww

この点については皆さんの意見がちょっと気になりますね。
海外でボカロ流行ってほしい人の声も大勢聞いてきたし、例えなんですけどライセンスが読めないのに勝手にモデル等を使う人達に対して怒りを感じる人も見てきました。
まあ、このスレはあくまでプログラミングスレなんですから、ちょっと関係ない話かもしれませんけど。

それでは、長文大変失礼しました!色々ありがとうございました!本当に色んな人達にお世話になりました。
またニコニコ動画で、そのお礼をちゃんとしたいと思ってます。では!

478名無しさん@ダヨー:2014/02/06(木) 14:18:51 ID:7mli8u/60
ジンバルロックぺろぺろ
IKってまだブラックボックスなのかな

479LsK ◆bYpriaxgmY:2014/02/16(日) 03:02:12 ID:otoMUQm.0
>>478
CCDIK自体はそこまでブラックボックスではない気がします。一般的な有名なアルゴリズムの一つですし。
ただ、難しいのはCCDIKと回転量制限をどのようにうまく融合させるかということなんです。MMFでも今うまくいっていないのでモーションを完全に正しく表示できません。
特に、回転量制限かけた結果、CCDIKの収束解が振動してしまったりもしてしまいます。その辺がまだブラックボックスな感じがします。

480名無しさん@ダヨー:2014/02/16(日) 03:18:28 ID:geg8ktfM0
MMDだとpmxの角度制限がXYZすべて0.0〜0.0になってるIKでもループ回数以内に到達できなかったら
無理やり制限開放してターゲット位置にしてるけどそのへんはikx.zipのやつにも書いてないね

481名無しさん@ダヨー:2016/09/12(月) 23:06:02 ID:wPORBw1Q0
常識的に考えて樋口さんいないし後継ソフト止まってるこの状況って結構やばいんじゃないかな緩やかな袋小路でどうしようもない段階に来てしまったのでは

482名無しさん@ダヨー:2016/09/13(火) 13:06:11 ID:BYa6vguQ0
ボカロ衰退論と一緒で毎年何回か言われてるけど
むしろ利用者増えてるっていう

483名無しさん@ダヨー:2016/09/13(火) 14:04:28 ID:PGudX1/60
MMDだって7.39で終わりと思ってたのに突然アップデート来たしな

484名無しさん@ダヨー:2016/09/13(火) 14:26:18 ID:UBe9fknU0
何がヤバいのか分からない
機能が欲しければ他のソフト使えばいいし

具体的に何がヤバいのかな

485名無しさん@ダヨー:2016/09/13(火) 21:22:08 ID:2of.g1nY0
気になるのはDX9がいつまで使えるかぐらいかな。

次々と新しい機能が追加されないと困るようなソフトでもないし、扱うデータもどれもほぼ専用フォーマットだからバージョンアップされて対応しないと読めないデータが増えて困るってこともないし。

486名無しさん@ダヨー:2016/09/14(水) 19:10:29 ID://fr84ZE0
てか、今だと外人の作ったパッチで外部レンダリングできるからなぁ・・・・
派生ソフトは正直もう不要だと思う

まぁ、使い方が難しいからMMDユーザー向きではないわな
皆が慣れてるMMDがバージョンアップするのが望ましいけど厳しいよな
MMMはモーション作成するのには便利だけどv2になっても重すぎるし

487名無しさん@ダヨー:2016/09/14(水) 19:15:40 ID://fr84ZE0
現状、今のMMDで困ることってないよな
エフェクトはもうあらかた出揃ってるし

将来的にwindowsでMMDが動かないような日がいつか来るのかもしれないけどさ
別にMMD用のPC残しとけばいいだしな オンラインじゃなくてもいいわけだし


欲しい新機能もあまりないよな
360度の天球動画なんて正直すぐ飽きる
VRもそこまで面白くもないしな

488名無しさん@ダヨー:2016/09/14(水) 20:58:46 ID:V4z0v4Z60
>>482
そうなのかソースは?

489名無しさん@ダヨー:2016/09/15(木) 15:46:07 ID:eL7ScwC.0
鍵垢からフォローされたら怖い、薄気味悪い
って人けっこういるのかな?
自分は卵アイコンとか極端じゃなければ別にだけど

490名無しさん@ダヨー:2016/09/15(木) 15:56:36 ID:.JclIIrE0
とりあえずスレチだろ

ただ鍵垢ってアレな奴のイメージあるからとりあえず無視

491名無しさん@ダヨー:2017/10/07(土) 00:53:45 ID:YnaK0lCs0
Pmxeditorのプラグイン(PEPlugin)制作で疑問に当ったので質問します

モーフの表示枠を操作したいんでIPXPmx.nodeでIList<IPXNode>を取得したけど
このリストの中には「表情」ノードが存在してなかった(「root」もない)

操作したい内容はプラグインで追加した頂点モーフを表示枠に登録したいのだけど実はモーフ追加で勝手に表情欄に追加されている
…が追加した数だけ最後の方の表情が表示枠から押し出されてしまう

そんな変な状態を正常にしたいのだけどプラグイン内でハンドルするにも表情ノードを取得できないので手も足も出ない

どうすればいいでしょう?

492名無しさん@ダヨー:2017/10/07(土) 01:32:18 ID:9wIAV2tI0
[表情]はIPXPmx.ExpressionNode、[Root]はIPXPmx.RootNode
(システム管理用)なんて注釈ついてるから使っちゃいけないのかと思っちゃうよねぇ

493名無しさん@ダヨー:2017/10/07(土) 01:59:13 ID:YnaK0lCs0
>>492
ありがとう
別口の取り出し口があったのか
気がつかなんだ

494名無しさん@ダヨー:2017/10/08(日) 09:38:11 ID:.PjJKIp60
こういう話はPMXEditorスレの方が適切だと思う


新着レスの表示


名前: E-mail(省略可)

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

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

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

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