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

282名無しさん@お腹いっぱい。:2011/05/31(火) 01:51:22 ID:Hao3m6r60
>>157
>標準シェーダーを否定するMMEのシェーダー見てニコニコしているのか?

したらばプログラミングスレでの、樋口Mと舞力介入Pのやりとりを見てないのか。
ttp://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1285499541/

283名無しさん@お腹いっぱい。:2011/05/31(火) 01:52:24 ID:Hao3m6r60
うわ、誤爆。すまんす>All

284名無しさん@お腹いっぱい。:2011/06/12(日) 16:50:43 ID:YxysabUk0
勃起不全のおっさんがハメ撮り公開してるw
http://yariman.zxq.net

285名無しさん@お腹いっぱい。:2011/06/13(月) 00:09:51 ID:mNpEG2FA0
すみません,物理演算のタイプで
0はBone追従、1は物理演算ですが2は具体的にどういう事をしているのでしょうか?

286名無しさん@お腹いっぱい。:2011/06/13(月) 01:32:28 ID:YMY3fmYA0
MMD物理演算解説書.txt から
> Bone追従・物理演算 の横の『Bone位置合せ』は、本来Boneの位置から動かないはずの剛体が動いてしまった際に、無理やりBoneの位置へ剛体を戻す処理をするためのフラグです。

揺れ物の付け根に使われているね

287名無しさん@お腹いっぱい。:2011/06/13(月) 17:55:03 ID:mNpEG2FA0
>>286
なるほどありがとうございます!

288名無しさん@お腹いっぱい。:2011/08/18(木) 01:05:54 ID:cRK6cO/U0
色々な板で質問してこのスレを紹介してもらったので来ました;
ARToolKit_MMD_20100405のコンパイル方法についての質問です。
readme.txtに書いてある
visual C++ 2008
DirectX SDK (February 2010)
ARToolKit 2.72.1
Bullet Physics SDK 2.75 RC6
を用意し、cmake等を行い、パス設定も行ったのですが
'libbulletdynamics_d.lib' を開くことができません。と出てしまいます。
このlibを探してきてもエラーが出続けてしまうので根本的に設定の仕方を間違えたのではと調べているのですが、解決できず・・・
設定したことがある人がいらっしゃいましたらどのように設定したのか参考にさせていただけないでしょうか?
急ぎであちこちに同じようなことを書いてしまっているので、マルチっぽくなっていてすみません;
どうぞよろしくお願いします。

289名無しさん@お腹いっぱい。:2011/08/18(木) 02:40:23 ID:VzskRl7g0
>>288
>'libbulletdynamics_d.lib' を開くことができません。
_d.libはデバッグ版の印っぽいけど、Bullet2.77のmsvc\2008に置いてある
ソリューションファイルはデバッグ版でも_dは付けてないね。

デバッグとリリースでディレクトリを使い分けるのは面倒だから
ARToolKit_MMDの作者がデバッグ版のファイル名を変更しているか、
古いBulletではそういう設定だったのかのどちらかではないか。

290名無しさん@お腹いっぱい。:2011/08/19(金) 00:28:40 ID:ctoL3nGo0
>>289
古いBulletで同じ手順を踏んだら、デバッグ版で_d.libが生成され
無事にコンパイル出来ました。
ありがとうございました。

291名無しさん@お腹いっぱい。:2011/08/21(日) 00:17:29 ID:4uLWOisQ0
すみません物理演算に関して質問です
読み込んだ剛体情報のサイズがw,h,dだった時に
そのまま
btSphereShape(w);
btBoxShape(w,h,d);
btCapsuleShape(w,h);
とすると,それぞれが衝突していて動きがガチガチになってしまいます.

なのでマージンを取らないとまずいと思うのですが
本家だとどれくらいになってるのでしょうか?
それともみなさん適当な感じてやられてるのでしょうか?

292名無しさん@お腹いっぱい。:2011/08/21(日) 09:51:16 ID:4uLWOisQ0
事故解決しました
グループの設定がミスってました><

293名無しさん@お腹いっぱい。:2011/09/15(木) 20:05:28 ID:WzNL5fi.0
すみません質問です
lat式をOpenGLで描写しようとしているのですが以下のように崩れてしまいます
http://www.dotup.org/uploda/www.dotup.org2025129.png

lat式は顔の法線が裏返っているらしく
反対側の面が描写されるらしいのですが
途中に目や口の陰影が描写されてしまいます

カリングはアルファが1の時だけしています
エッジ・シャドウ・スフィア・モーフは未実装です
OpenGLで描写している他ソフトのMMDAgentを改造して
エッジ・シャドウ・スフィア・モーフを除去してもちゃんと表示されたので
これらの機能は関係がないのではと思います.

何か足りない処理がありそうでしたらご指摘ください
よろしくお願いします.

294名無しさん@お腹いっぱい。:2011/09/15(木) 20:28:04 ID:Hm9WBIQ.0
これで正常なんじゃなかったっけ
Lat式はtoonシェードでしか生きて行けないんだよ

295293:2011/09/15(木) 21:57:45 ID:WzNL5fi.0
トゥーン実装してみました
トゥーンインデックスが255の時の振る舞いが白飛びするようで
それで真っ白になるのですね

ありがとうございました.

296名無しさん@お腹いっぱい。:2011/09/17(土) 15:09:50 ID:TXC2Wnl.0
MMEの処理について質問です

MMEの処理(hlslアノテーション部のスクリプトを解析して描画する)を
作ってみようと考えているのですが、
以下2点の不明点があります。
ご存じの方がいらっしゃいましたら教えて頂きたいです。

1点目)
MME付属のREFERENCE.txt『2.9 頂点シェーダセマンティクス』に
記述されている"_INDEX"セマンティックスについて、
hlslの資料を見る限り、"_INDEX"セマンティックスは存在しない
と思うのですが、"_INDEX"セマンティックスを追加or使用可能に
する方法はあるのでしょうか。

2点目)
MMEではfxファイルを読み込む時、D3DXCreateEffectFromFile関数を
使用していると思うのですが、引数の
D3DXSHADERコンパイル オプションにはどのフラグを
使用しているのでしょうか。


以上、よろしくお願いいたします。

297名無しさん@お腹いっぱい。:2011/09/17(土) 18:20:05 ID:HwDqxGwg0
>>296
1点目に付いてだけであれば、解析したデータですが
_INDEXは
#define _INDEX PSIZE15
と定義されているようです。

D3DVERTEXELEMENT9の
Usage = D3DDECLUSAGE_PSIZE
UsageIndex = 15
な定義を
LPDIRECT3DVERTEXDECLARATION9に追加して
上記のelementに指定したであろう適当なoffsetに
頂点インデックスを追加した頂点バッファを作りなおすなりして渡せば良いかと。

298名無しさん@お腹いっぱい。:2011/09/18(日) 02:18:52 ID:mesx8itw0
>>297
回答ありがとうございます。

なるほど!
MMEでは"_INDEX"を"PSIZE15"として扱っていたんですね。
D3DXCreateEffectFromFile関数のpDefines引数を
使用して、"_INDEX"を"PSIZE15"に置き換えることで、
解決することができました。
大変助かりました、ありがとうございます。


残りは、2点目のD3DXSHADERコンパイル オプションの
組み合わせが分かれば、fxファイルをすんなり読めそうです。

299舞力介入P:2011/10/01(土) 20:41:31 ID:2.UvRXFs0
>>296
遅レスですが…、

>1点目)
>>297 の通り、マクロを利用して、PSIZE15セマンティクスで代用してます。

>2点目)
フラグには何も指定してません。0です。

300名無しさん@お腹いっぱい。:2011/10/04(火) 23:55:07 ID:2EN8Lm3U0
>>299
舞力介入Pさん、回答ありがとうございます。
MMEの開発者さんからレスを頂けたことに感激です。

回答を頂いた通り、フラグを0にしてみましたが、
私の使用しているDirectX SDK (August 2009)では、
シェーダ内のグローバル変数を変更するエフェクトを
読み込む場合、以下のようなエラーが出てしまいます。
(MMEでは読みこむことが可能)
「error X3025: global variables are implicitly constant,
enable compatibility mode to allow modification」

おそらく、MMEで使用しているDirectX SDK シェーダコンパイラの
verが違うためだと思います。
現状、私のプログラムでは、
フラグにD3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITYを
使用することでエラーを抑制し、エフェクトをモデルに反映することが
できていますが、気になりますので、
宜しかったら、MMEで使用しているDirectX SDK のverを
教えて頂きたいです。

以上、よろしくお願い致します。

301舞力介入P:2011/10/05(水) 19:26:56 ID:tBvhKdcg0
>>300
使用しているのは、DirectX SDK February 2007 です。
MMDの処理に割り込む関係で、
MMD本体と同じ(と思われる)バージョンのSDKを使用しています。

試してないので推測ですが、August 2009では、
D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY か
D3DXSHADER_USE_LEGACY_D3DX9_31_DLL を指定すれば、
基本的にMMEと同じ挙動になると思います。

302名無しさん@お腹いっぱい。:2011/10/06(木) 23:25:52 ID:mjqHq3as0
>>301
回答ありがとうございます。
February 2007 を使っているのですね。
実験してみたいと思います。

有難う御座いました。

303名無しさん@お腹いっぱい。:2011/12/10(土) 12:59:58 ID:zJhbxzCo0
MMEの処理について、質問させてください。
質問内容は、テクニックのスクリプトコマンド
「ScriptExternal=Color」についてです。

レンダリングターゲットにレンダリングターゲットテクスチャを
設定した状態でこのスクリプトコマンドを呼び出した場合、
アンチエイリアスをかけた状態のレンダリング結果が
テクスチャに描画されているように見受けられます。
(レンダリングターゲット用のテクスチャは、
サーフェスのMultiSampleTypeがNONEになるため、
アンチエイリアスを付与して描画できないと思います。)
そこで、以下質問があります。

・内部でどのようにアンチエイリアスをかけているのでしょうか?
(アンチエイリアス可能なレンダリングターゲット、
深度バッファを作って、テクスチャに転送しているのでしょうか?)

以上、よろしくお願いいたします。

304舞力介入P:2011/12/11(日) 02:51:10 ID:Q3TUn0lw0
>>303
ご推測の通りです。
MultiSample有効なサーフェイスを用意(可能ならば既存のものを流用)した上で、
そこに描画を行った後、テクスチャのサーフェイスへStretchRectで転送しています。

305名無しさん@お腹いっぱい。:2011/12/11(日) 11:27:54 ID:GPauuFAk0
>304
舞力介入Pさん、夜分遅いにも関わらず、
回答有難うございます。

参考になりました!

306名無しさん@お腹いっぱい。:2011/12/20(火) 15:17:12 ID:0T9Zqh/.0
輪郭描画の処理に関して質問があります。

舞力介入Pさんが作成されたfull.fxの輪郭描画の頂点シェーダーを見ると

return mul( Pos, WorldViewProjMatrix );

という1行のコードで頂点の位置を求められていますが、
このWorldViewProjMatrixはどのように算出すればいいのでしょうか?
自分の場合、頂点シェーダで法線方向に頂点を伸ばす方法しか知らないので、
頂点位置とマトリックスから求まる理由がわかりません。

現行の方法で輪郭描画はできてはいるのですが
自分のツール上でもMMEのエフェクトを動かせたらと思い、質問させていただきました。
※最近MirrorやWorkingFloor(OFFSCREENRENDERTARGET)が動くようになりました。

もしご存知の方がいらっしゃっいましたら教えてください。

307名無しさん@お腹いっぱい。:2011/12/21(水) 00:52:54 ID:xmx/UbqU0
>>306
MMDはマトリクスブレンドやモーフなどの頂点計算をGPUではなくCPUでやってるようなので
MMEと互換性を持たせるなら同じようにプログラムで法線方向に押し出したのをDrawPrimitiveするのが正解だと思います

WorldViewProjMatrixはまぁ普通にWorldとViewとProjの行列かけたやつですね

308名無しさん@お腹いっぱい。:2011/12/21(水) 09:44:25 ID:rVbfGHnQ0
>>307
ありがとうございます。
頂点計算にコードを追加するのは速度的に気がひけますが、他に方法はなさそうですね。
それで試してみます。

309名無しさん@お腹いっぱい。:2011/12/21(水) 09:48:59 ID:7pXmQ5w60
速度優先と切り替えられるようにする手はよくあるな。

310名無しさん@お腹いっぱい。:2012/01/07(土) 12:25:51 ID:Ex8b4O5s0
質問です
キャラクターのモーションを作ってDxlibで動かしたいのですが
Dxlibは物理演算に対応していません。
しかし、物理演算による自然な布の動きを再現したいです。

そこで質問なのですが、MMD側で物理演算を適用し、その時々のIK(IKのみならず、物理演算によって影響が出るボーン)の情報を.PMDや.vmbに書き込めばデータ量が増える代わりにDxlibでもMMDと同一のモーションを表現できるのでは、
と考えました

これらを実際にすることは可能なのでしょうか?
また、できるとしたらどんな方法がありますか?



また、この質問は
MikuMikuDance初心者質問スレ part11
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1322811842/
のスレから誘導されたので結果的にマルチポストになっています。

311名無しさん@お腹いっぱい。:2012/01/07(土) 14:00:36 ID:xRYd/bOA0
>>310
こっちに移動しましたって向こう締めてきたら?
マルチポストです(`・ω・´)キリッじゃなくて

312名無しさん@お腹いっぱい。:2012/01/07(土) 19:14:19 ID:f5M5KLUc0
>>310
てかBlenderでやったら?とか思ってしまったんだが…
MMDの資産を利用したいのは判るけど、結局遠回りの気がしてならない
BlenderにもvmdImporterあるし、そっちならMMDより制約無くキーフレーム扱えると思うんだけど

313名無しさん@お腹いっぱい。:2012/01/09(月) 15:37:34 ID:RjFcUVe.0
はじめまして。
少々ピンポイントな質問になってしまいますが、質問させていただきます。

PMDエディタでxファイルをpmdファイルに変換した後DXライブラリのDxLibModelViewerで表示しようと試みたのですが、
モデルが表示されない、というより「開く」を押しても無反応のままでメッシュやマテリアルなどの情報も出てきません。
試しにPMDエディタでもう一度同じpmdファイルを読み込んだところ、正常に表示されました。

もしここにDXライブラリを使っている方がいましたら、PMDエディタでどのようにpmdファイルを出力しているか教えていただきたいです。
使わせていただいているエディタは極北Pの0.1.3.6です。
どなたかご回答よろしくお願いいたします。

314名無しさん@お腹いっぱい。:2012/01/09(月) 17:00:53 ID:GLKAKP5E0
自分はさっぱりわからないが、とりあえず上げる

315名無しさん@お腹いっぱい。:2012/03/05(月) 18:54:05 ID:ULQeB1.c0
質問なんですが・・・
MMEをGUI上で適用させるとテクスチャが消えるんですが・・・
メモを読んだりしたりしても全く治りません。
ポリゴンは健在みたいです。

誰か解決方法を教えて下さい。

316名無しさん@お腹いっぱい。:2012/03/06(火) 17:46:15 ID:vXK3laPM0
>>315は別スレで結論出たみたいだね
マルチしない・あるいはしたとしても解決したら必ず閉めようね

317名無しさん@お腹いっぱい。:2012/06/10(日) 12:14:51 ID:9YDu.QkI0
ここで質問するのはちょっと違うかもしれませんが

VMDファイルのクォータニオンデータはグローバルな回転ではなく対応ボーンにおける
ローカルな回転を意味するのでしょうか?

318名無しさん@お腹いっぱい。:2012/06/10(日) 12:31:06 ID:ei6r7GR20
>>317
ボーンの初期角度に対するオフセットがグローバル系で記録されています

319名無しさん@お腹いっぱい。:2012/06/10(日) 14:57:13 ID:dbSmSBYY0
あれ?そうなんですか
もう少し自分で調べてみます

ありがとうございました

320名無しさん@お腹いっぱい。:2012/09/26(水) 21:29:21 ID:rvKxV.x60
表情に対応したオープンソースってありますか?
ARTK_MMDとARToolKit_MMDは試させてもらったのですが、表情が動かなくて・・・

321名無しさん@お腹いっぱい。:2012/09/27(木) 00:08:27 ID:CYVXSTw20
俺の持ってるARToolKit_MMDのソースはモーフィング関係処理してそうな感じだけどなぁ
実行したことないけど

322名無しさん@お腹いっぱい。:2012/09/27(木) 15:45:50 ID:lXMewFOc0
MMDXなら物理演算まで実装済みだよ

323320:2012/09/27(木) 18:33:24 ID:M/qQX7y60
>>321
あれ、ほんとですか・・・
もう1度試してみます、申し訳ないです。

>>322
ほんとですか!
XNA・・・初耳ですが、もしかしたら挑戦するかもしれません、ありがとうございます!

324名無しさん@お腹いっぱい。:2012/10/03(水) 01:44:23 ID:VQJ2r9lE0
MMDの補間パラメータってどうして64ビットも使っているのでしょうか
必要なデータは16で十分な気がするんですけど

325名無しさん@お腹いっぱい。:2012/10/03(水) 02:09:06 ID:as6UsbDU0
あれ謎だよね、俺も4x4の16しか見てない
関係ないけど127=1.0じゃなくて128=1.0だったら計算にシフト使えたんだけどなー と言いつつfloatにしちゃうんですけどね

326名無しさん@お腹いっぱい。:2012/10/03(水) 03:01:08 ID:p0CF6UDM0
あれは確かバグというかMのミスだったんじゃなかったっけ
広く流通してしまった後だったからファイルフォーマットを変えるに変えられず今に至った、はず

327名無しさん@お腹いっぱい。:2012/10/03(水) 03:50:26 ID:VQJ2r9lE0
やはり不必要な領域だったんですか
スッキリしましたありがとうございます

328名無しさん@お腹いっぱい。:2012/10/03(水) 09:58:52 ID:EkpTDVBg0
プログラムってどうやって覚えるんですか?

329名無しさん@お腹いっぱい。:2012/10/03(水) 16:19:37 ID:oy4MB9eY0
簡単なことから理解して、それの積み重ね
javaなりC#なり、1つ理解できれば他の言語の理解も比較的容易
覚えたいと思うなら、まずは簡単なプログラムを見よう見まねで作ってみると良いと思う

330名無しさん@お腹いっぱい。:2012/10/03(水) 19:34:18 ID:qDfsIgUs0
「とりあえずプログラムってどんなものかを知る」ためには
環境用意するのが一番楽なJavascriptがいいんじゃないかな
Javascript 入門 って感じでぐぐってみるといろいろ出てくる
#あ、JavaとJavascriptはまったく別物ね

そこからさらに進むならいろんな道があるだろうけど、それはまた別の話

331名無しさん@お腹いっぱい。:2012/10/03(水) 20:23:08 ID:oy4MB9eY0
javascriptはオススメできない
なぜなら型が曖昧(というか意図しない変換が多発する)で、分かってる人にとっては制約が緩くて作りやすいが最初に習得する言語としては適切ではないと思う
ただ、プログラムってどんなもの?を知りたいだけならその限りでは無いので良いかも知れない

332名無しさん@お腹いっぱい。:2012/10/03(水) 20:39:05 ID:qDfsIgUs0
>>328 みたいな疑問が出るような人なら
出力と演算と条件分岐とループができればもうそれで回答になるんじゃないかな
なので最重要なのは手軽さかなと


趣味でいいなら
「せっかくだから、俺はこの赤のRubyを選ぶぜ!」

333名無しさん@お腹いっぱい。:2012/10/05(金) 10:59:04 ID:sj0IRWc60
補間パラメータ難しいですね…
指定した時間における正しいフレーム進行度を得るには
あの気違い染みた計算をリアルタイムで行うしか無いのでしょうか
それとも近似的な計算でもあるのでしょうか?

334名無しさん@お腹いっぱい。:2012/10/05(金) 11:37:10 ID:dPsu4pRM0
>>333
3次方程式を解くより目的のuを二分探索したほうが早かったよ
u探すだけなんでいらない処理をはぶいたりがんばったけど条件によって早かったり遅かったり

127x127x4096 = 66064384回くらい計算して
二分探索 29734msec
方程式版 31797msec
ってところまで行ったけどもういいやってことで二分探索を採用した

335名無しさん@お腹いっぱい。:2012/10/05(金) 12:04:54 ID:sj0IRWc60
なるほど2分探索で近似させるんですか
繰り返し回数で計算時間の調整もできそうですね
家に帰ったら試してみます
ありがとうございました!

336名無しさん@お腹いっぱい。:2012/10/29(月) 01:50:23 ID:bOX3FxdE0
質問です。PMDエディタスレから誘導されてきました。

PMDeのCSScriptで、両目を動かすボーンモーフを作ろうとしています。
両目ボーンをオフセットに登録するところまではできたのですが

eyelower.Rotation.X = -5; (eyelowerはオフセット名)

この回転角度指定がどうもまずいようで、うまく回転してくれません。
直接手で-5を打ち込めばうまく動くのですが、どうしてこれで上手くいかないのかが分からない状態です。
分かる方いらっしゃいましたらご指導お願いいたします。

337名無しさん@お腹いっぱい。:2012/10/29(月) 04:53:52 ID:Fd/c8eNg0
PEPlugin.Pmx.IPXBoneMorphOffset.Rotation はクォータニオンです
その eyelower がボーンモーフオフセットなのであれば eyelower.Rotation = new Q(-5, 0, 0); で

338名無しさん@お腹いっぱい。:2012/10/29(月) 12:52:29 ID:bOX3FxdE0
>>337
ありがとうございます!
おかげで上手く動きました。

340名無しさん@お腹いっぱい。:2012/11/04(日) 15:06:04 ID:158VzQPY0
test

341agomeogueby:2012/11/23(金) 22:20:07 ID:Z4HMqLGE0
Finding out <a href=http://www.drawingwithconfidence.com/how-to-find-the-perfect-drawing-course/&gt;drawing course for beginners </a>

I might choose to speak extra about the way you can study to attract a rose thorough. You can wish to come across out to attract a rose step-by-step because you want a rose to the tattoo or else you can want to master on account of the specific drawing your accomplishing. Whatever the purpose you wish to discover to draw a rose little bit by bit the extremely initial you will have to complete is get an technique within your head about that which you would like to accomplish whilst inside the drawing.

I love to recommend you do an unfastened sketch first preceding to you get started. Drawing loosely does have its gains when identifying to draw a rose thorough or exploring to draw anything for that issue climate it really is regarded a rose an automobile or probably a making.

Initially off any time you discover to draw a rose complete evaluate whatsoever you happen to be drawing consider a rose in the hand and actually sense it evaluate the shape, this definitely is very seriously important simply because you ought to get it locked as section of your head.

Begin by using a simple little bit of paper and start to carry out a cost-free rough sketch. At this time your drawing won't ought to be suitable in anyhow. Consider it as if you've been a writer, all you’re undertaking is placing down your robust strategies to start with then this will likely inevitably kind the premise of one's letter, publication or tales. It is the very same in addition to your drawings.

After your unfastened rough sketch is completed therefore you've got it down on paper you could potentially then start off off to create things even further and start to put shading into your drawing. I usually draw my pics on A3 dimension paper 1st, this fashion I can do little thumbnail sketches of what I intend to attract and then rework and strengthen the very first drawing if essential.

So after you study to draw a rose in depth you begin devote in drawing a loose sketch of one's development and just like a sculptor would you want to flesh out the drawing and integrate things like the thorns and leafs and stem so you simply will get started off to find out the drawing occur to existence.

This technique shouldn't be skipped in almost any circumstance in practically any drawing you plan to undertake when you will discover it can be possible to create loads of drawings by carrying out this, drawings that you just just potentially wouldn't of get there up with from the initial spot for all those who didn't do free sketches.

342名無しさん@お腹いっぱい。:2012/12/01(土) 02:40:23 ID:ubfQ2cHA0
質問なのですがこちらのモデルのルカ
http://kotankor.blog46.fc2.com/blog-entry-63.html
のモデルを読み込み、モーション再生しようとすると
VMDが対応していないとエラーが出てきてモデルが表示されません
VMDを読み込まない状態では表示はうまくいきます。モーション再生に関してもLat式ミクではうまくいっています。
これはもうプログラム側では解決できない問題なのでしょうか?
モデルver 2.02
DXライブラリ使用
使用モーション http://bowlroll.net/up/dl7836 passはsm○○の数字部分
VisualC++2008使用

343名無しさん@お腹いっぱい。:2012/12/01(土) 18:39:32 ID:0Kmde0VA0
>>342
質問スレは
MikuMikuDance初心者質問スレ part15
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1353706917/
なのよー。

質問スレに移動して、まずMMDのバージョンを正確に書く。
DXライブラリ使用とのことだけど、6だか7だか、小数点以下まできっちりと。
分かるなら「64bit版」か、そうでないかも。

MMDのプログラムん中には「対応していない」みたいな感じのメッセージは無いみたいだけど
エラーメッセージは、正確には何と書いてあったか?
エラーが出た際のスクリーンショットを撮れれば吉。

モデルは、おれver2.02を落としてないからちょっと分かんないけど
2.08にはモデルが複数あるのね。どのモデルを使ったのか?

モーションは、ミク用とリン用があるけど、どっちを読み込んだのか?
「Latミクではうまくいっています」との事だから、ミク用のを試してるんだろうと推測できるけど、念のため。

最初の500フレームくらいは、ルカさんは画面外の右の方でマッタリしてるけど
カメラを右に向けてもやっぱり表示されていないのか?

質問スレでね。

344名無しさん@お腹いっぱい。:2012/12/01(土) 20:55:23 ID:ubfQ2cHA0
>>343
ありがとうございます。そこで聞いています。

345名無しさん@お腹いっぱい。:2012/12/02(日) 13:07:37 ID:wtvywIK.0
IKボーンの計算の話なのですが
IKボーンの計算をする際、膝のボーンはX軸だけにしか可動せず
計算結果に他の軸成分が含まれていた場合はその成分を0として
0にしたぶんの成分をX軸の回転に加えるそうですが

具体的にどういう事なのでしょうか
クォータニオンの回転量をそのまま使うのかとも思ったいましたが
クォータニオンの回転は飽くまで軸の回転なので違うようなので
それらしい答えが分かりません

346名無しさん@お腹いっぱい。:2012/12/02(日) 14:17:22 ID:Kz4toYqM0
IKするときにはボーンの方向をターゲットの方向に向ける処理をするんだけど
その時の回転は
回転軸  = cross( ボーン方向, ターゲット方向 );
回転角度 = acos( dot( ボーン方向, ターゲット方向 ) );
(ボーン方向とターゲット方向はnormalize済みとする)
で出すんだけど
膝の場合は親のMatrixのx軸成分を回転軸として使う感じ

ここで出してる回転角度はIK情報の回転角度制限とnループ目のnの値によって制限される
あと膝が前に曲がらないような処理も入ってる

347名無しさん@お腹いっぱい。:2012/12/02(日) 14:39:50 ID:wtvywIK.0
うーん
つまりIKの計算後に膝の処理に手を加えるのではなく
IKループ中に膝の例外処理として7行目のような方法で計算すればいいのでしょうか・・・?

アドバイスありがとうございました。ひとまずもう一度試してみます

348名無しさん@お腹いっぱい。:2012/12/02(日) 15:11:41 ID:Kz4toYqM0
樋口さんのソースでそうなってる
PMXの場合の各ボーン軸制限もループの中

で、ちょっと間違ったこと書いたんだけど
>>回転角度制限とnループ目のnの値によって制限される
nループ目じゃなくてIKの先に行くほど制限が緩くなる感じでした

回転角度 = clamp( acos( dot( ボーン方向, ターゲット方向 ) ), 0, 単位制限角 * (k+1)*4 );
kはIKのボーンインデックスのループ変数

349名無しさん@お腹いっぱい。:2012/12/12(水) 12:46:45 ID:nwsdGzSk0
すいません、クオータニオンに関して少し伺いたいのですが

現在PMDEのC#スクリプトで、ボーンモーフの回転量を調整する(今回は0.1倍)スクリプトを組もうとしています。

IPXBoneMorphOffset test = (IPXBoneMorphOffset)morph[43].Offsets[0] ; //ボーンモーフのオフセットを定義
test.Rotation = 0.1f * test.Rotation; //Rotationがボーンの回転量を表すクオータニオン

このようにしたら回転量を0.1倍にできるかと思ったのですが、なぜか0.009倍くらいになってしまいます。
さらに、挙動も少しおかしくなってしまいます。

よろしければ
クオータニオンを上手く定数倍にする方法を教えて下さい。

350名無しさん@お腹いっぱい。:2012/12/12(水) 13:00:07 ID:FPC1CiIE0
quaternion qIdent( 0, 0, 0, 1 );
qResult = slerp( qIdent, qRotation, 倍率 );

351名無しさん@お腹いっぱい。:2012/12/12(水) 14:24:18 ID:nwsdGzSk0
>>350
ありがとうございます!できました。
最終的に以下のスクリプトになりました。

IPXBoneMorphOffset test = (IPXBoneMorphOffset)morph[43].Offsets[0] ;

Quaternion zero = new Q(0,0,0,1);

test.Rotation = Quaternion.Slerp(zero , test.Rotation , 0.1f);

356名無しさん@ダヨー:2012/12/17(月) 17:44:43 ID:0uprkOQ60
書き込みが連続して削除?

357名無しさん@ダヨー:2012/12/17(月) 21:46:01 ID:2zykkC8M0
スパムがたくさん来てたからね

358名無しさん@ダヨー:2012/12/26(水) 04:38:27 ID:LLTqLjvY0
ここに書いていいのか迷いましたが、おそらくここが一番近いと思ったので質問させて下さい。

MMMを使って補完曲線をつけた表情をMMDでも読めるように細かくキーを打つC#スクリプトを作ろうとしてます。
今回は試しにまばたきで挑戦しています。

while (current < end)//currentは対象となるフレーム数。endまで処理する。
{
//まばたき登録

//対象位置のモーフフレーム情報を得る
MorphFrameData recording = Scene.ActiveModel.Morphs["まばたき"].Frames.GetFrame(current);

//対象フレーム位置をすすめる
current += 3;


//作成したモーフフレームデータを登録する(同じフレームに既存キーフレームがあったら上書きされる)
Scene.ActiveModel.Morphs["まばたき"].Frames.AddKeyFrame(recording);
}

これを実行すると、補完曲線が無視されて直線状にキーが打たれてしまいます。
また、途中のキーフレームで増加傾向が変わっても、ついて行けてません。

補完曲線を生かしたままキーをたくさん打てるような、良い方法があったら教えていただきたく思います。

359名無しさん@ダヨー:2012/12/26(水) 06:55:34 ID:eUVxwAv60
>>358
検証してみたけどそれはMMMのバグかな?
補完曲線がどんな値だろうがWeightには直線的に補完された値しか入ってないっぽい

360名無しさん@ダヨー:2012/12/26(水) 11:34:54 ID:LLTqLjvY0
>>359
バグですか。残念・・・
フィックスされるのを気長に待つとします。
359さんありがとうございました!

361名無しさん@ダヨー:2012/12/27(木) 01:16:45 ID:A8tBw4cE0
>>360
直ぐには直らないかもしれないけど、必要ならばメールで報告しといた方が良いよ

362名無しさん@ダヨー:2013/01/27(日) 13:42:14 ID:Dg/gVmWA0
てs

363名無しさん@ダヨー:2013/01/27(日) 17:21:17 ID:TTSUq64s0
書けるかな

364名無しさん@ダヨー:2013/01/27(日) 17:32:20 ID:TTSUq64s0
すいません、2ch規制されていのでテストさせていただきました。

自作mmdもどきにmmeを組み込もうとしたのですが
hlslのでfloat3でcolorを定義したときc++側から4要素送った場合、hlslのレジスタを汚すこ
とはないのでしょうか?


//hlsl側
//float3 TestColor0;

//cpu側
float c1[3]={1};
hr=mEffect->SetFloatArray("TestColor0", c1, 4 );//hlslのどこか上書きしたりしない?

float c1[1]={1};
float* p=c1;
TRACE2( "%f, %f\n", *(p+1), *(p+2) );
hr=mEffect->SetFloatArray("TestColor0", c1, 3 );//NG 変なデータがhlsl側に送られる

365名無しさん@ダヨー:2013/01/29(火) 00:23:00 ID:G/kleOs60
>>364
float 〜 float4までは一律で1つのconstレジスタ(float4つ)を使うみたいだけど
上限超えそうになったりした時にTestColor0.wを他のfloatで使用するかもしれないから
気になるならfloatの3だとかそういうの調べてそれセットした方が。Elementsだっけ?

下は普通に未初期化アドレスを参照させてるのでNG

366名無しさん@ダヨー:2013/01/29(火) 15:35:58 ID:1n7DD16.0
>>365
ありがとうございます
上限付近でバグが出たとき考えることにしますww

しかし、mmeはホックだけでよくこんな拡張できるな

367名無しさん@ダヨー:2013/02/14(木) 02:03:46 ID:HeW/92ig0
樋口さんは3度の飯より開発が好きなのではなかったの?

368名無しさん@ダヨー:2013/02/14(木) 07:40:03 ID:T0bUK//g0
何か別のもの開発してるんじゃね?

369名無しさん@ダヨー:2013/02/15(金) 22:57:45 ID:Tqc76.qY0
>>367
それかMが開発されてるんじゃね?
動きが無かったらそういうことにしておきましょうそうしましょう

370名無しさん@ダヨー:2013/02/16(土) 15:02:11 ID:SwAQ6EfA0
すいません、MMMのスクリプトの質問ですがよろしいでしょうか?

Scene.ActiveModel.Morphs["まばたき"].Selected = true;

こんな感じでモーフの選択フラグをtrueにしようとしてるんですが、実行してもまばたきが選択状態(色が赤く変わる)にならないんです。
スクリプト側で選択状態を操作する方法って無いんでしょうか?

371名無しさん@ダヨー:2013/02/16(土) 15:17:31 ID:LioGzJMo0
その操作のコンテキストだとタイムライン上の選択状態を操作出来るはずだけど、出来ないのならばバグか仕様かだろう
moggさんに聞くしか無いんじゃないかな

372名無しさん@ダヨー:2013/02/16(土) 15:26:48 ID:SwAQ6EfA0
>371

では、moggさんにメールしときます。
ありがとうございます!

373名無しさん@ダヨー:2013/02/17(日) 08:04:36 ID:0B8tEXCg0
そういえばCurrentWeightに他の数値を突っ込んでも変化しないとかたまにあったな

374名無しさん@ダヨー:2013/05/02(木) 23:40:18 ID:zjbkwwTY0
お聞きしたいことがあります!
pmxファイルを表示、アニメーションしようとC#でSlimDXを用いてプログラミングしていますが、壁に突っかかったのでお知恵をお借りしたく書き込みしました。
モーションなどの再生などはいいところまで行っても、IKの角度制限がうまくいかないのです。
ローカル軸が指定されているIKでは、そのローカル軸に対しての角度の回転量制限がかかるものだと認識しています。
しかし、CCDIKで回転させるところでは、回転軸、回転角度、グローバル座標の変位などから、ローカル軸からの回転量にどうやって変換したらいいか頭を悩ませています。
どなたか、参考になるサイト(英語でも大丈夫です)か、解決法など、何かご教授いただけませんでしょうか。

375名無しさん@ダヨー:2013/05/03(金) 23:25:01 ID:W3PIMMhc0
樋口さんが公開してたIKのソースのリンク切れちゃってるしなぁ…。

376名無しさん@ダヨー:2013/05/04(土) 00:28:30 ID:.LWt6mKc0
親ボーンのグローバル回転の逆行列を掛けて
ローカル回転を出して
そこからaxis-angleに変換して角度を取得
その角度に制限処理して
指定されたローカル軸に適用してみるのはどう?

377名無しさん@ダヨー:2013/05/06(月) 13:28:04 ID:7JzZCbnM0
>>374 ttp://www.nicovideo.jp/watch/sm15701266 とか どうかしら

378374:2013/05/07(火) 11:35:57 ID:ex6sqoeE0
377,376の情報を基にもう一回考えてきます。

379名無しさん@ダヨー:2013/05/08(水) 19:14:13 ID:bBIAm9Cs0
ワールド座標系での回転軸は
ボーンのワールド行列の逆行列かければローカルになるよ

そこで両ひざは正し方向にしか曲がらないように軸か角度を逆にすればオッケ

380名無しさん@ダヨー:2013/06/10(月) 08:35:55 ID:uS.zomSU0
PMXの仕様にある、SDEF変形で詰まっています。
計算式などが乗っているサイトなどを探しましたが見つかりません。
SDEFって、正式名称なのでしょうか?SDEFは省略形で、本当の名前などありましたら教えてください。

381名無しさん@ダヨー:2013/06/10(月) 09:20:38 ID:NDKKHZR60
>>380
mikotoでググってみればいいんじゃない?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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