2011年11月23日水曜日

multi motion mldu5 での位置調整

(ご注意) 以下の情報は 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番以降)黄色の線と黄色も数字順で方向を変えて動こうとした場合です。

mldu5

実際にこの黄色い線の動きを実現するノートカード記述(マクロ)は以下です。アニメーション名はお手持ちのウォーキング アニメーションなどに置き換えてください。

//アニメーション, 再生秒数,  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 軸回転)を指定するだけで、アバター中心とした移動距離を算出することができます。

excel

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

埋め込みオプション使ってみました~

2011年11月17日木曜日

DANCE QUEENS

ハルちゃんが DANCE QUEENS のオーナーの Nottoo Wise さんに MLDU を紹介してくれたので、Nottoo さんから「MLDUについて教えて!」というメッセージをいただきました。

DANCE QUEENS ってセカンドライフ内の Dance に関連する情報をものすごい Passion でまとめているサイトなのです。

DANCE QUEENS : New to DANCE QUEENS?
http://sldancequeens.blogspot.com/p/new-to-dance-queens.html

で、今日ふと DQ のサイトみたら、、、MLDU のってたしw

DQ001

Dance HUD を 4つのカテゴリに区分けしているんです。
MLDU4 および MLDU5 は Category 4 (SEQUENCED) に分類されます。で、たぶんですが、MLDU5 は今後新しく追加される Category 5 (SHOW) に入ることになりそうですね。MLDU5 (multi motion MLDU5) の説明を Nottoo さんにしましたし。

muliti motion(Animation) を使った動画はハルちゃんやカイさんが公開してもらっていますが、考えてみると自分で作ったのって、、、、1つしかないwww

Breeze in Second Life by multi motion MLDU5

あと、、、テスト動画www

マトリョーシュカ テスト

あ、multi motion MLDU5 の説明動画の最後のほうも一応、、、それっぽいですね。

multi motion MLDU5 インストラクション (5分25秒くらいから~)

Category 5 に入るのって、Intan と MLUD5 くらいしかない?でも、Category 5 が Category 4 の機能を有する、となると Intan も入らないかな~(No.1 なくて Only 1 っていい響きw)

ハルちゃん、紹介してくれてありがとね~。