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

MMDのモデルデータについて語るスレ

1 名無しさん@お腹いっぱい。 :2008/08/26(火) 17:08:35 ID:rGtPZk460
■MMDのモデルデータであるmiku.xxおよびrin.xxの内部構造等について語るスレです。
モデルデータ改造関係の話題はここで

■関連2ちゃんねるスレ
MikuMikuDance動画制作/鑑賞スレ part 13
http://pc11.2ch.net/test/read.cgi/streaming/1219114396/

■過去ログ
http://www6.atwiki.jp/vpvpwiki/pages/25.html

■このスレでの注意事項(暫定)
・人をdisらない
・批判おkだが代替案を示すなどを推奨
・荒らしはスルー

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

951 名無しさん@お腹いっぱい。 :2009/04/29(水) 19:31:44 ID:MaziYFOw0
PMDエディタVer.0.0.2.6(2009/3/31) についてこちらで質問よろしいでしょうか。

材質の数が77あるxファイルをインポートしたのですが、
ambientが全て0になってしまいます。貼り付けたテクスチャが暗くつぶれてしまいます。orz
xファイルはメタセコイアから出力したもので、材質の自己照明を0.8にして
います。
材質数26のxファイル(これに編集を加えて材質を増やしたのが上のファイル)だと、
ambientが0.8で取り込まれます。
材質数の制限によるものか、対処方法などあれば教えていただけますか。
とりあえずPMDエディタ上でambientを入力しなおせばなんとかなるようですけど。

あと、確認なのですがメタセコイアの自己照明がPMDエディタでambient、
拡散光がdiffuse、反射光がspecularという理解でいいでしょうか。
モデルにテクスチャで色をつける場合、(ノッペリするけど)照明(ライト)の
影響を小さくするのに自己照明の値を大きく周囲光の値を小さくすればいいと
思っているのですが、ambientがメタセコイアでいう周囲光のような気もするので。

952 名無しさん@お腹いっぱい。 :2009/04/29(水) 21:04:53 ID:bRMzgRUw0
メタセコのX出力時のマテリアルの値は
出力データ       =メタセコ上の表記
拡散光 :dif =色×拡散光
自己照明 :emi =色×自己照明
反射光 :spc     =反射光
反射の強さ:power =反射の強さ:(power)

周囲光 :anb 項目なし

なので、アンビエントの値は始めから無いです。

953 951 :2009/04/30(木) 01:40:00 ID:RhC1.o4Y0
>>952
PMDエディターのreadme.txtから。
---
Diffuse : 減衰色 | ライトが当たった部分の色。主なパーツ色になる。
Specular : 反射色 | ライトが当たった部分の反射的な色。白系に設定するとテカテカした質感になる。
Shininess: 反射係数 | Specular反射の反射具合を変化させる値。
Ambient : 環境色 | ライトに関係なく表示されるモデルの色。

ただしMMD上では、ライトの当たり方にかかわらず、Diffuse と Ambient が混色されたような表現になるので注意。
---
で、PMDエディターの「材質」タブでDiffuse・Specular・Ambientの3つが設定できるんですが、
このAmbientは性質からメタセコイアの材質設定(諸設定)でいう自己照明にあたると理解しています。
が、表記上だと違うようにも思えたりしたので確認なのです。

メタセコイアの「周囲光」の値は出力されたxファイルには存在しない、ということはわかりました。

Ambient他はメタセコイア出力のxファイルでPMDエディターに取り込むことができると思うんですけど、
材質が多いと取り込めないのかな、というのが951の疑問です(MMDに持っていけるかどうか、も
問題ですけど)。

954 極北 :2009/04/30(木) 03:37:13 ID:uHCmdTHA0
Xインポートの場合、Ambientはそもそもデータとして
出力されてませんので取り込めませんよ。

PMDエディタ側ではインポート時にX側のDiffuseを少し減色して、
Ambientとして再設定しています。

Ambientの値が0値になっている材質のDiffuse設定を見直してください。

何にしてもメタセコ出力(というかDirectXライブラリによるX出力)での
XデータにはAmbientはありませんので取り込み対象外となります。

それから材質数はMMDでの描画パフォーマンスに重大な影響を及ぼす、
ということらしいので、できるだけ少ない材質数でモデルを作成してください。


関連でもう一つ、

PMDエディタ0.0.2.8ですが、Vistaでは起動しないようなので
該当される方はご注意ください。原因究明については製作者が
調査できる環境にないのでしばらくは難しいと思われます。

いつもご利用頂いている方には申し訳ありませんが、
そういうことでよろしくお願いいたします。

955 名無しさん@お腹いっぱい。 :2009/04/30(木) 04:15:30 ID:eHcaqlqk0
メタセコの周囲光=Ambientなのです。
出力時にばっさりデータを捨ててるので復旧はできません。

メタセコの自己発光はEmissiveです。
Xではメタセコのマテリアル色との積として出力されます。
PMDエディタでは参照していません。

私も80マテリアルのオブジェクトを取り込んでみましたが、
Ambientの値にはDiffuseと同じ値が入っています。
(これはこういう仕様なんだと思います)

問題のマテリアルのDiffuseが真っ黒、ということはないでしょうか?

956 名無しさん@お腹いっぱい。 :2009/04/30(木) 04:32:39 ID:eHcaqlqk0
かぶった orz
それだけじゃアレなので。。。

XファイルにAmbientを”入れることは”できます。

ただし、送り側(今回はメタセコ)と受け側(今回はPMDエディタ)で、
なんて名前をつけるか取り決めがないと結局受け渡しに失敗します。

だったらなんで最初から決めておかなかったのか?っていう意見はMicroSoftへどうぞ。

957 名無しさん@お腹いっぱい。 :2009/04/30(木) 19:44:40 ID:pz/kWvvc0
>>952
>>954-956

ご説明ありがとうございます。
そのような仕様でしたか。

自分の作ったデータを確認したところ、たしかにDiffuseが0になっていました。
いつかどこかで0にしたんだろうなあ。

材質は減らしたいです。材質が多すぎてMMDのアクセサリとして使えなかった
(MMD起動できず)ので、PMDなら材質多くても何とかなるかな、などと安直に
考えてました。つか、モデルが巨大化しつつあるし。

958 954 :2009/04/30(木) 21:00:00 ID:uHCmdTHA0
訂正です。
Windows Vista 32bit及び64bitでも動作確認取れたようです。

PMDエディタ0.0.2.8はVistaでも一応動作するようなので、
もし正常に起動できなかった場合などは、
DirectXランタイムを一度見直してみてください。

959 951 :2009/04/30(木) 22:10:15 ID:pz/kWvvc0
xファイル→アクセサリで表示
xファイル→PMD化→モデルで表示

で見た目(色)が変わる(ことがある)のはMMDの仕様
と考えていいでしょうか。

材質の設定については、表示するソフトにより影響・表現が異なるので
しょうけど、MMDではどの値がどのようにレンダリングに反映されるの
かなと思ったので。
こことここの値をこうすればアクセサリとPMDで同じ表現になるとかある
のでしょうか。テクスチャの有無とか、一概に言えないとも思いますけど。

んー、自分でもちょっと試してみます。

960 名無しさん@お腹いっぱい。 :2009/05/03(日) 23:46:45 ID:xCdbkVc20
MikuMikuDanceのモデル、モーションデータを自分のプログラムで
表示したいと思っています。とりあえず材質を読み込むところまでは作れました。
でもどうやってアニメーションさせるかが分かりません・・。頂点ブレンドとかよく分からなくて。
>>11を見ると、各頂点ごとにボーン番号が2つ設定されているみたいですがどう使うんでしょうか。
MMD3_IK_tやMMD3_Skin_tは>>11には載っていないんですがどうするんでしょうか。

961 名無しさん@お腹いっぱい。 :2009/05/03(日) 23:55:56 ID:p96GHyTU0
>>960
余計なお世話だけど。

頂点ブレンドなんてググればいくらでも出てくるよ。
DirectXのライブラリも調べるといいよ。

そういうの調べて構築するのがプログラミングの醍醐味だと
思うんだけどね。MMD独自の仕様を聞くのならわかるけど。

962 名無しさん@お腹いっぱい。 :2009/05/05(火) 00:19:34 ID:7ntF3NGo0
>>960
>>11 より転載
・スキン
WORD nSkins = 0x0010 = 16; // スキン数
MMD3_Skin_t skin[nSkins]; // スキンデータの列 (可変長 × nSkins 個)
補足
MMD3_Skin_t
 BYTE[20] MMDで言う所の表情名
 DWORD スキン頂点数
 BYTE 番号
  {
   DWORD MESHに対応する頂点番号
   FLOAT×3 X,Y,Z座標
   }× スキン頂点数

モーフ変形に対するデータ郡だと思う
  baseで示されるスキンが元になるデータ
  法線、UV 、ボーン、ウェイト値(?)などは元のメッシュにしたがう
  base以外のデータは、baseとの相違点であらわしている
  例えばこんな感じ
  瞬き、しながらの口パク
  形状A:baseのスキンを読み込む
  形状B:baseのスキンを読み込み、瞬き、で読み込んだ座標値を上書き
  形状C:A->Bでモーフ変形
  形状D:Cに、あ(口パク)、で読み込んだ座標値を上書き
  最終形:C->Dでモーフ変形
違っていたらごめんなさい

余談になるけど
頂点一つに対してボーンが二つしか組み込めないので
スカートのウェイト設定がどうにも難しい
上手くやろうとするとボーンを沢山仕込むしかないんかな
そうすると、動きつくるのが偉い大変になるし、互換性の問題も出てくる

963 名無しさん@お腹いっぱい。 :2009/05/05(火) 00:59:10 ID:7ntF3NGo0
>>962
間違えました
base以外のデータはグローバルな座標値ではなく
baseに対しての加減算値です

あと、データを眺めていたら、
加減算値、0,0,0 というデータが在るので
実際の処理においては変形における影響のある点のみメッシュの座標値を書き換えているのかも
で、0,0,0は座標値は変わらないけど、法線が変わる所なのかもしれない

964 名無しさん@お腹いっぱい。 :2009/05/07(木) 18:35:45 ID:pijQsh/A0
>>961
何がプログラミングの醍醐味かはそれこそ人それぞれだろw
なぜ決め付けるんだ

965 名無しさん@お腹いっぱい。 :2009/05/07(木) 20:53:43 ID:gVPh4GAg0
>>964

『醍醐味だと「俺は」思うんだけど』

だと思
そんなに閣下砂

966 名無しさん@お腹いっぱい。 :2009/05/07(木) 21:55:38 ID:C1SDAzQU0
>>960
HDDが飛んでから書き直す時間が無くていじってないが、とりあえず、あれだ。

MMD3_Vertex_tの
bone:ウエイト設定する骨1本目、2本目
weight:骨1本目のウエイト。2本目は100%から引く(1だったかもしれん・・・)

あとは、他の人のソースとかReadMeをよく見ることと、
バイナリエディタで色々いじってみる。MMDが飛ぶのは気にしちゃいけないw

967 名無しさん@お腹いっぱい。 :2009/05/08(金) 03:39:44 ID:uV/lDT8o0
ローカルに置いといて消えたらアレだからここにも保存、、と

struct VMD_HEADER {
char vmdHeader[30];
char vmdModelName[20];
} vmd;

struct VMD_MOTION_LENGTH {
dword Count;
} vmd;

struct VMD_MOTION {
char BoneName[15];
dword flameNo;
dword Location[3];
dword Rotate[3];
dword unKnown1;
char Interpolation1[16];
char Interpolation2[16];
char Interpolation3[16];
char Interpolation4[16];
} vmd;

struct VMD_FACE_LENGTH {
dword Count;
} vmd;

struct VMD_FACE {
char FaceName[15];
dword flameNo;
dword Wait;
} vmd;

struct VMD_CAMERA_LENGTH {
dword Count;
} vmd;

struct VMD_CAMERA {
dword flameNo;
dword Length;
dword Location[3];
dword Rotate[3];
char Interpolation[24];
word ViewingAngle;
char unKnown[3];
} vmd;

struct VMD_LIGHT_LENGTH {
dword Count;
} vmd;

struct VMD_LIGHT {
dword flameNo;
dword RGB[3];
dword Loc[3];
} vmd;

968 名無しさん@お腹いっぱい。 :2009/05/08(金) 06:26:00 ID:XXoMYKJk0
>>965
>MMD独自の仕様を聞くのならわかるけど。
って押し付けてるんだから「俺は」は通用しないだろ

969 名無しさん@お腹いっぱい。 :2009/05/08(金) 09:25:21 ID:uV/lDT8o0
言葉遊びはそれくらいにしとけ、スレ違いだ。

970 名無しさん@お腹いっぱい。 :2009/05/08(金) 09:49:45 ID:98JdLVCg0
スレ立て人自ら970げとずさー

971 966 :2009/05/08(金) 20:54:45 ID:8QP.tPe.0
>>967
VMDの人、北〜

消えてから後悔してますorz
頭の中には残ってますが・・・

weightはWORDだから、1とかありえない と書いてから気づいたとか、色々終わってますw
あと、突っ込まれる前に。バイナリエディタでいじるのは、MMD本体でなくて、PMDとかVMDね。

972 966 :2009/05/08(金) 21:03:21 ID:8QP.tPe.0
>>俺
とりあえず落ち着け・・・

971は966の補足って事で。
967へのレスっぽくなってしまって、ごめんなさい。

973 名無しさん@お腹いっぱい。 :2009/05/09(土) 05:06:29 ID:5VzHQEN.0
Blender2Pmd 2.12/2.11
http://bytatsu.net/uploader/mikumikudance/src/up0043.zip

書き出し時のIK順が設定ファイルを無視していたので修正。ほか

974 名無しさん@お腹いっぱい。 :2009/05/11(月) 06:24:32 ID:gJnEHDNs0
>>967
struct MD_MOTION

dword Rotate[3];
dword unKnown1;

これは、クォータニオンだと思うんだけど(前のほうのレスで話題になってる)
補間のパラメータがさっぱりわからない
データを眺めていると、フーリエ級数のような感じもするけど

975 名無しさん@お腹いっぱい。 :2009/05/11(月) 09:33:44 ID:cYoSYDFo0
>>974
モーションとカメラの補間フォーマットが複雑なのはバグによるもの。

本来は補間窓内の始点と終点のバッテンの座標をxy1バイトずつで
記録するはずが、型宣言だかで間違えたらしい。
変更するとvmd、mmd、pmdデータの互換性がなくなるので
あえて放置しているみたい。

976 名無しさん@お腹いっぱい。 :2009/05/11(月) 10:46:52 ID:PeA3bGis0
ちなみに
左下の点をX1、Y1 右上を X2、Y2としたときに、X軸の補間をX_Nnと書いたら。

X_X1,Y_X1,Z_X1,R_X1,X_Y1,Y_Y1,Z_Y1,R_Y1,X_X2,Y_X2,Z_X2,R_X2,X_Y2,Y_Y2,Z_Y2,R_Y2
Y_X1,Z_X1,R_X1,X_Y1,Y_Y1,Z_Y1,R_Y1,X_X2,Y_X2,Z_X2,R_X2,X_Y2,Y_Y2,Z_Y2,R_Y2,00
Z_X1,R_X1,X_Y1,Y_Y1,Z_Y1,R_Y1,X_X2,Y_X2,Z_X2,R_X2,X_Y2,Y_Y2,Z_Y2,R_Y2,00,00
R_X1,X_Y1,Y_Y1,Z_Y1,R_Y1,X_X2,Y_X2,Z_X2,R_X2,X_Y2,Y_Y2,Z_Y2,R_Y2,00,00,00

で64バイト。使ってるのは各行の0,4,8,12番目の要素だけみたい。

977 名無しさん@お腹いっぱい。 :2009/05/11(月) 20:14:05 ID:Y8Cy2EUo0
>>975
バッテンがハッテンに見えた俺は末期

とりあえず阿部さんモデルとバッテンしてくる

978 名無しさん@お腹いっぱい。 :2009/05/11(月) 23:27:58 ID:qq8uQ12o0
>>976
0, 4, 8, 12番目だけ抜き出してみると、
X軸の補間 X1 Y1 X2 Y2
Y軸の補間 X1 Y1 X2 Y2
Z軸の補間 X1 Y1 X2 Y2
R軸の補間 X1 Y1 X2 Y2
って事ですか。

なんだか、1行目のX_X1, Y_X1, Z_X1, R_X1・・・を1個ずつずらして、
縦に並べたかった感じですね。

フーリエに見える:補間で角度を半分x何回か の処理??
クオータニオンもsinとcosでできているので、似た処理が走るのかも。
(VMDはまだ見てないので、推測ですが・・・・・)

979 名無しさん@お腹いっぱい。 :2009/05/12(火) 01:59:18 ID:WUbd5.Js0
>>967,>>976
カメラの場合の
  char Interpolation[24];
はX,Y,Z軸とR:回転、L:距離、V:視野角のそれぞれに補間用のX1,Y1,X2,Y2が組み合わされてる
 (X,Y,Z,R,L,V) x (X!,Y1,X2,Y2)
と理解して良いのでしょうか。

980 名無しさん@お腹いっぱい。 :2009/05/12(火) 02:54:14 ID:kQ2qFeTU0
(0,0)(X1、Y1)(X2、Y2)(127,127)の4点でペジェ曲線を生成するんじゃないかな?
まだ試したわけじゃないから詳しいことはわからんですが。

そして出てきた曲線のXを時間軸、Y軸を割合にして、それぞれの変化量に影響させてるんだと思う。

981 名無しさん@お腹いっぱい。 :2009/05/12(火) 19:45:35 ID:LNn7.Hx.0
アノマロ氏のメカ物って、どうやってエッジの効いた影?を付けているのかご存じないでしょうか?

982 名無しさん@お腹いっぱい。 :2009/05/12(火) 20:08:55 ID:hhEgFsdc0
>976
2行目の最後のところは 00 じゃなくて01 じゃない?
3行目の最後から2番目と、4行目の最後から3番目も01だと思う。

>980
976ので言うと、X軸については (0,0)(X_X1、X_Y1)(X_X2、X_Y2)(127,127)になってる。

983 名無しさん@お腹いっぱい。 :2009/05/12(火) 21:17:32 ID:hhEgFsdc0
>>979
カメラのところはこんな感じ

X_X1 X_X2 X_Y1 X_Y2
Y_X1 Y_X2 Y_Y1 Y_Y2
Z_X1 Z_X2 Z_Y1 Z_Y2
R_X1 R_X2 R_Y1 R_Y2
L_X1 L_X2 L_Y1 L_Y2
V_X1 V_X2 V_Y1 V_Y2

984 次スレテンプレ案 :2009/05/13(水) 00:04:21 ID:ZcEEJV.I0
■MMDのモデルデータである.pmdの内部構造・改造・自作等について語るスレです。
モデルデータ改造関係の話題はここで

■前スレ
MMDのモデルデータについて語るスレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1219738115/

■関連2ちゃんねるスレ
現行スレ・過去ログ
http://www6.atwiki.jp/vpvpwiki/pages/25.html

■このスレでの注意事項(暫定)
・人や作品をdisらない
・荒らしはスルー

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

こんなもんでしょうか

985 かんな ◆LROMJ4PcOQ :2009/05/13(水) 00:07:29 ID:BMn1exp.0
次スレが立ってない場合は立てときます。
一応、>>990にお願いしたいですが…

986 名無しさん@お腹いっぱい。 :2009/05/14(木) 03:39:50 ID:OY3K6TEQ0
>>981
MMDは基本的に頂点法線を扱っているので、エッジを効かすなら、
面の折れている部分で、頂点を二重化するしかない
イメージ的にこんな感じ

面  ↑(法線)
--------・
    ・→(法線)
    |
    |

987 名無しさん@お腹いっぱい。 :2009/05/25(月) 19:35:29 ID:lgSVeY0s0
顔テクスチャが上手くいかない…
あじの開きやるのに良い方法ないですか?

988 名無しさん@お腹いっぱい。 :2009/05/26(火) 11:53:09 ID:N//EMcgc0
メタセコならUV Power Toolsとかになるんかな。

989 名無しさん@お腹いっぱい。 :2009/05/30(土) 21:30:26 ID:9JISmBYQ0
ギリギリなんですけど、PMDエディターでいじるとMMDで動かしたときになぜか全く動かずにY軸に残ったままになるところがあるんですが、どうすればいいでしょうか?

990 名無しさん@お腹いっぱい。 :2009/05/31(日) 01:45:01 ID:baxSlJ6I0
>>989
よく分からんが、ウエイトがおかしいからそうなるんでないか。

991 名無しさん@お腹いっぱい。 :2009/05/31(日) 20:44:56 ID:zA9vjQjg0
次スレはこのあたり。
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1243770114/
誰も立てないので、立ててみた。

992 名無しさん@お腹いっぱい。 :2009/06/01(月) 20:08:33 ID:nWVEQ3xk0
>>991おつです

993 名無しさん@お腹いっぱい。 :2009/06/21(日) 05:21:01 ID:d/zxXm/.0
>>991乙です

994 名無しさん@お腹いっぱい。 :2009/06/21(日) 08:57:29 ID:T4Uwz50Q0


995 名無しさん@お腹いっぱい。 :2009/06/21(日) 13:44:32 ID:3jC0bjFg0
埋め

996 名無しさん@お腹いっぱい。 :2009/06/21(日) 21:15:46 ID:m3I6uxcE0
ホメ

997 名無しさん@お腹いっぱい。 :2009/06/21(日) 22:18:53 ID:/phKsDEk0
ガガガガガガガガガガガガガガガガ

998 かんな ◆LROMJ4PcOQ :2009/06/21(日) 22:44:27 ID:5woOUiqk0
埋めるよw

999 名無しさん@お腹いっぱい。 :2009/06/21(日) 22:45:03 ID:5woOUiqk0
よっこいしょ

1000 名無しさん@お腹いっぱい。 :2009/06/21(日) 22:45:46 ID:5woOUiqk0
1000なら千早は俺の嫁




■ したらば のおすすめアイテム ■

「君の名は。」Blu-rayスタンダード・エディション - 新海誠


この欄のアイテムは掲示板管理メニューから自由に変更可能です。


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