MLMが上手くいった話





かねてより頑張って自分のプログラムとの合併を試みていた
ジオさんのMLM(マルチレイヤーモーション)が、上手く動きました!!




現在のMLMは、「始めからMLM用にモーションをロードする」と
上手くいきますが、「既に読み込んだモーションから、
必要なモーションだけMLMに登録する」というのは
そのままではできないようです。




原因は、MLM内でのモーションの通し番号と、モーション自体の番号が
ずれることにあります。
なので、MLMの中身を少し修正すれば、必要なモーションだけ
MLMに登録して使うことができるようになります。




※以下は自分のための防備録です。
 他の方の環境でもうまくいくとは限りません。あしからずm(_ _)m





//MultiLayeredMotion.asの349行目
//MLM内でのモーションの通し番号と、
//モーション自体の番号が同じでないとバグってしまう
  repeat hs_num
    _hs_cnt = cnt
    repeat mot_num(_hs_cnt)
  mot_id(_hs_cnt, cnt) = cnt //←ここの修正が必要
    loop
  loop




その他、ちょっとした修正が必要になります。





//MultiLayeredMotion.asの392行目
//_mot_cntは、MLM内での通し番号だから、モーション自体の番号にしないと
//通し番号とずれたときにバグってしまう
E3DGetMotionType _hs_cnt + hs_idx, _mot_cnt, mot_type(_hs_cnt, _mot_cnt)

E3DGetMotionType _hs_cnt + hs_idx, mot_id(_hs_cnt, _mot_cnt), mot_type(_hs_cnt, _mot_cnt)



MLMを使ったカンタンなサンプルムービーを
例によってニコニコに上げました。
http://www.nicovideo.jp/watch/sm1669443




BGMは鈍牛伝説(http://donden911.amigasa.jp/donden.html)さんの新曲です。
いつも素敵な曲をありがとうございますm(_ _)m



そして、すばらしいプログラムを提供してくださるジオさんにも大感謝です!