(ご注意) 以下の情報は multi motion mldu5+(5.5以降)とは違います。mldu5+以降をお使いの場合はこちらを参照してください。
http://snumaw.blogspot.jp/2012/07/mldu5.html
(これ以降の情報は mldu5+以降では MODE:AVXYZ オプションで利用する方法です。既定では以下の難しい指定方法(クセ)が必要なくなりました。)
multi motion modu5 はアバターの位置調整をノートカード記述でできますが、ちょっと位置調整はコツ(クセ?)があります。
もともとカップルダンスやグループダンスを踊るためにつくったので、まずはカップルダンスでダンスできるアバターの「向き」を調整します。ほとんどは Z 軸の回転だけで調整は終わるはずです。
そのあと、2人の間隔を狭めたり、広げたりする微調整は「アバターの向き」を基準に前後(X軸)、左右(Y軸)、上下(Z軸)で行います。アバターの向きが基準なので、「もうちょっと前、、」とか「もうちょっと右手方向に、、、」という調整方法です。アバター中心なんです。
ダンスの初期位置だけを指定するためにはこの方法が直感的なのですが、mldu5 を使い込んでいるユーザーさんの中には、まったく違うダンスをつなげて一連のショーケースを作る人もいらっしゃいます。そうなるとこの方法による指定はとたんにめんどうなやり方になります。
Sit ボールの位置から動いてしまった地点で、さらに向きを変えて移動しようとした場合は、向きを変えた時点またはそこからの移動先の数値は、アバターがボール位置にいると仮定して向きの角度をきめ、そこから動きたい先までアバターの前後左右上下で移動距離を算出しなくてはいけません。
以下のように動きたい場合は、、、その算出はかなり大変なはずです。(特に7番以降)黄色の線と黄色も数字順で方向を変えて動こうとした場合です。
実際にこの黄色い線の動きを実現するノートカード記述(マクロ)は以下です。アニメーション名はお手持ちのウォーキング アニメーションなどに置き換えてください。
//アニメーション, 再生秒数, x軸移動(前後), y軸移動(左右), z軸移動(上下), x軸回転(横回転), y軸回転(前回転), z軸回転(回転)
<Sample>
//(0,0), 0度
CCRunwayWalk01,3
//(0,0), 45度
CCRunwayWalk01,3,0,0,0,0,0,45
//1: (1,1), 45
CCRunwayWalk01,3,1.4,0,0,0,0,45
//(1,1), 135
CCRunwayWalk01,3,0,-1.4,0,0,0,135
//2: (2,0), 135
CCRunwayWalk01,3,1.4,-1.4,0,0,0,135
//(2,0), -135
CCRunwayWalk01,3,-1.4,-1.4,0,0,0,-135
//3: (-1,1), -135
CCRunwayWalk01,3,0,-1.4,0,0,0,-135
//(-1,1), -45
CCRunwayWalk01,3,-1.4,0,0,0,0,-45
//4: (0,0), -45
CCRunwayWalk01,3,0,0,0,0,0,-45
//5: (1,-1), -45
CCRunwayWalk01,2,1.41,0,0,0,0,-45
//(1,-1), 180
CCRunwayWalk01,2,-1,1,0,0,0,-180
//6: (0,-1), 180
CCRunwayWalk01,2,0,1,0,0,0,-180
//7: (-1,-1), 180
CCRunwayWalk01,2,1,1,0,0,0,-180
//(-1,-1), -26.57
CCRunwayWalk01,2,-0.45,-1.34,0,0,0,-26.57
//8: (0,-1.5), -26.57
CCRunwayWalk01,2,0.67,-1.34,0,0,0,-26.57
//9: (1,-2), -26.57
CCRunwayWalk01,2,1.79,-1.34,0,0,0,-26.57
//(1,-2), 180
CCRunwayWalk01,2,-1,2,0,0,0,180
//10: (0,-2), 180
CCRunwayWalk01,2,0,2,0,0,0,180
//11: (-1,-2), 180
CCRunwayWalk01,2,1,2,0,0,0,180
//(-1,-2),63.43
CCRunwayWalk01,2,-2.24,0,0,0,0,63.43
//12: 上から原点に戻る(上のXの半分=前に移動)
CCRunwayWalk01,2,-1.12,0,0,0,0,63.43
//13: (0,0), 63
CCRunwayWalk01,2,0,0,0,0,0,63.43
</Sample>
正直いって、8 番以降は三角関数使わないと X, Y の数値の算出はできません。
反面、ボールに向かって動く場合などは、上の 12 番のように、X 軸の数値を調整するだけでいいというメリットもあります。(前に進む指定をするだけ)
で、これはあまりに、、、ということで、、、、、ちょっとエクセルで計算する方式をご紹介します(笑
エクセルには ATAN2 (エータン2 または アークタンジェント2)という便利な関数があるので、それを使うと、ボールを原点として、移動したい X 軸、Y 軸の位置、さらにそこでの向き(Z 軸回転)を指定するだけで、アバター中心とした移動距離を算出することができます。
B6 セルに入っている関数が横のD6に書かれている関数になります。
B2 や B3 そして B4 に数値を入れれば、ノートカードで指定する X 軸、Y 軸の数値が B9 と B10 に出てきます。回転は B4 で入力したものをそのまま使います。
エクセルもってないー、という人は MSN の SkyDrive を使うと Excel Web App が無料で使えます。上の関数もちゃんと認識してますよ(^^)v
https://skydrive.live.com/#!/view.aspx?cid=44C574874F615DB1&resid=44C574874F615DB1%21107
埋め込みオプション使ってみました~