2011年12月30日金曜日

ヘビロテ in Secondlife

今年の最初の投稿が MMD モーション移植した「Nostalogic を踊らせてみた」でしたが、今年たぶん最後の投稿は同じように MMD からモーション移植した「ヘビーローテーション」です。

おもいっきり AKB のライブ音源使っているので、いつか消されるかもしれませんが。一応アップした段階で YouTube からのアラートは出ていて、広告等が表示される、として即時削除対象ではないみたい。。。

移植させてもらったモーションは Cruyff 14 さんがトレスした [MMD] ヘビーローテション【少しいぢってみた】からお借りしました。

5人用のモーションです。(配布は、、、6人みたい)フロント3人、バック2人ですが、SL動画のほうではセンター以外のフロント2人分を4人で、バック2人を3人で構成した8人で踊りました。

ひさしぶりの動画撮影だったので 3D Connexion マウスの操作がおぼつかず、、、大人数は撮りなおしに限界があるので、この程度でお許しください><

配布されているモーションは

・ヘビロテ1.vmd センター –>SL_HR1_x
・ヘビロテ2.vmd フロント右 –> SL_HR2_x
・ヘビロテ3.vmd フロント左 –> SL_HR3_x
・ヘビロテ1(b).vmd バック右 –> SL_HR4_x
・ヘビロテ2(b).vmd バック左- -> SL_HR5_x

として以下のような mldu5 のプレイリストを使っています。

<AKB48Heavy>
SL_HR1_0|SL_HR2_0|SL_HR3_0|SL_HR4_0|SL_HR5_0, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_1|SL_HR2_1|SL_HR3_1|SL_HR4_1|SL_HR5_1, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_2|SL_HR2_2|SL_HR3_2|SL_HR4_2|SL_HR5_2, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_3|SL_HR2_3|SL_HR3_3|SL_HR4_3|SL_HR5_3, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_4|SL_HR2_4|SL_HR3_4|SL_HR4_4|SL_HR5_4, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_5|SL_HR2_5|SL_HR3_5|SL_HR4_5|SL_HR5_5, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_6|SL_HR2_6|SL_HR3_6|SL_HR4_6|SL_HR5_6, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_7|SL_HR2_7|SL_HR3_7|SL_HR4_7|SL_HR5_7, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_8|SL_HR2_8|SL_HR3_8|SL_HR4_8|SL_HR5_8, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_9|SL_HR2_9|SL_HR3_9|SL_HR4_9|SL_HR5_9, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
SL_HR1_10|SL_HR2_10|SL_HR3_10|SL_HR4_10|SL_HR5_10, 30, 0|-1.0|-1.0|-2.7|-2.7, 2.8|0.5|0.5|-3.5|-1.5
</AKB48Heavy>

X軸(前後)での調整と、Y軸(左右)の調整だけですね。
この調整はモーション次第でかわります。MMD の場合、複数モーションでも初期位置で踊らせて、センターバイアスまたはすべての親ボーンで撮影の際にモデルの位置を調整するタイプと、モーション作成時点から位置を調整してしまっている2つのタイプがあります。

それらに注意してアバターの位置調整をすればいいんですね~。

それでは皆様、よいお年を~!

2011年12月26日月曜日

[mldu5+] Start-up Guides part 1

(日本語記事は英語の後ろにあります. mldu5+ は一般にはまだ販売していません。marketplae には mldu5 がありますが、それは mldu5+ ではありません。今しばらくお待ちください。)
(on 28th Dec 2011, mldu5+ is beta version, and the marketplace provides you only mldu5. It’s not mldu5+. Please, please stay tuned.. but good news is mldu5+ has English version.)

This guide shows you how to use multi motion mldu5+ step by step.
mldu5+ provides you rich functions by only one HUD or dance machine. It’s not so difficult but something complex and unique. Don’t worry. So far over 300 users are enjoying MLDU series and you don’t need to use all functions. mldu5+ gives you many functions but you can use what you want.

I hope this guide series would help you enjoy your secondlife dancing.

1. About mldu5+

mldu5+ has unique functions as follows;

Varied Dancing Mode

  • Synchronized motion to multi users
  • Delayed motion to multi users (Time Interval Defferent dancing)
  • Shuffled motions from a playlist to multi users
  • Muliti motions to multi users (like couple dance, group dance)

Hybrid equipment

  • Personal HUD mode (when you attach as HUD)
  • Dance machine mode (when you rez on the floor and managed by admins)

Inviting or Rezzing sit ball

  • Searching and inviting avatars to dance. Guests get permissions dialog.
  • Rezzing sit balls and inviting avatars to dance automatically (especially for couple/group dancing)
  • 2 balls for couple dance, from 3 to 6 balls for group dance

Playlists and macro control

  • 26 playlists can be modified
  • A playlist contains over 100 dance motion names (depends on memory)
  • Ordering dance animatons and specifying play time for each dance
  • Dancers positons and rotations can be included if you want. (but dancers should use the sit balls rezzed from mldu5+)
  • Up to 10 unique animations you can specifed for one time (synced starting)

Major usages

  • In clubs, playlists are composed by Music category or BPM(Beat per minutes)
  • For show case dancers, playlist are composed by show case
  • For Video creators, group dancing playlist is easy way to making film repeatedly

------
[Japanese]

このブログの記事で mldu5+ の使い方をステップ by ステップでご紹介します。
mldu5+ はたった1つの HUD / ダンス マシンで豊富な機能を提供しています。決して難しいわけではありませんが、ちょっと複雑だったり考え方が他にはなかったりします。でも、心配することはありません。これまで 300 以上のユーザーさんが MLDU シリーズ(MLDU3, 4, 5) を楽しんでいます。すべての機能を使う必要はありません。好きな、必要な機能だけを使えばいいんです。

このガイド シリーズがあなたのセカンドライフ ダンスを楽しくすることを希望します~

1. mldu5+ について

mldu5+ は以下のようなユニークな機能を持っています

多様なダンス モード

  • 複数ユーザーへの同期(シンクロ)ダンスの実行
  • 複数ユーザーへの時間差ダンスの実行
  • 複数ユーザーにプレイリスト(ダンス セット)からそれぞれ違うダンスを実行
  • 複数モーションを複数ユーザーに実行(カップルダンスやグループダンスを実行)

ハイブリッドな装置

  • パーソナル HUD として(HUD として装着します)
  • ダンス マシンとして(フロアに rez すると管理者グループで管理可能)

招待もしくは Sit ボールの利用

  • 周囲にいるアバタ―を検索し、ダンス招待をします。ゲストはパーミッション許可のダイアログを受け取ります
  • または、Sit ボールを rez して、ゲストに座ってもらうことでダンスを自動送信できます
  • 2個の Sit ボールはカップルダンス用、3個以上(、4個、5個、6個)はグループダンス用です

プレイリストとマクロ制御

  • 26のプレイリストを構成・編集が可能
  • ひとつのプレイリストで 100 以上のダンス記述可能(メモリーに依存します)
  • ダンスの順番付とそれぞれのダンスの再生時間の指定が可能
  • 必要であればダンサーの位置と向きを含めることができます(その場合は、ダンサーは mldu5+ から rez された Sit ボールをつかいます)
  • 1度に同期スタートで10個までのダンス アニメーションの指定が可能

主な使われ方

  • クラブでは曲のジャンル、BPM 毎にプレイリストを構成して切替えています
  • ショーケース、ショーダンサーはショーの演目毎にプレイリストを作成しています
  • ビデオ クリエーターはカメラワークを変えた繰り返しのビデオ撮影にグループダンスプレイリストを利用しています

2.に続く、、、

2011年12月12日月曜日

Sequencing Couples Dances...

http://sldancequeens.blogspot.com/2011/12/sequencing-couples-dances.html

ハルちゃんが踊ってる動画と MLDU5 が Dance Queens サイトで紹介されちゃってま。。。す ><

ノートカードも公開してますね。
これ、やっぱり今のノートカードの指定方法でも動くようにしておかないとwww

今修正中の MLDU5+ はボール軸で移動そして回転をかける書き方に変更します。デフォルトはそっち。で、今まで作ってきたノートカードの数値をそのまま使うために以下のようなオプションをダンスセット名にいれるようにします。そうすると今のバージョン設定のアバタ―軸の移動・回転で動きます。

<Sample MODE:AVXYZ>
anim1|anim2, 10.0, ……………
animi3|anim4, 12.5, ……………
anim5|anim6, 5.0, ……………
</Sample>

ただいま細かいところ絶賛調整中~♪

そっかぁ、Sequencing couple dances っていうんだ。(笑

あ、、、あと、ここまで作ったら以下のオプションもいれようかと。。。

<Sample MODE:SNUPOZ>
animi1|animi2, 10.0, /111 X Formation1
anim3|anim4, 12.5, /111 X Formation2:3.0
anim5|anim6, 5.0, /111 X Formation3
</Sample>

こっちは Kai さん向け、もしくはクラブで SNUPOZ 使っているダンマスさん向けだね~w

INSPI.ME さんに MLDU のフォーラム作成しました。しばらくは NaviSL との併用ですが、アクセス不可になることが NaviSL さん多いので、徐々に INSPI.ME さんに移行することになるでしょう。。。(たぶん)

追記)あ、、、同時に英語版。。。。。><

2011年12月6日火曜日

[LSL] llSetKeyframedMotion を使ってみた

この新しい関数、オブジェクトをスムーズに動かすことができるようで、いろんなところで使えそうなんですけど、ちょっとクセがありますね~。
単純な板を動して検証して、気が付いたことをメモしておきます。

と、、、llSetKeyframedMotion ってなに?という方はこちらの YouTube のビデオをご覧いただくと何となくわかるかも~。

1) おまじない(?)

wiki によれば、llSetKeyframedMotion を使う前に Prim の属性で [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX] を指定してあげる必要があるようです。ビューワーが mesh を読み込むできない場合は必要、、、とありますが、とりあえずこのおまじないは state_entry あたりで行っておきます。

単体プリムの場合は llSetPrimitiveParams で、複数プリムがリンクされているオブジェクトの場合は llSetLinkPrimitiveParamsFast で設定をします。なお、複数プリムがリンクされている場合、ルートプリムにしか影響しない(=必ず全部のプリムが動く)ようです。

あと、プリムの属性という意味では物理属性はダメです。非物理のプリムにしてください。

2) 位置、回転、移動時間

llSetKeyframedMotion は2つのリスト(keyframes と option)を引数としています。最初のリストは [位置、回転、移動時間] を設定します。キーフレームといわれているのは、この 位置、回転、移動時間 をリストの中で複数指定できる、それぞれをキーフレームとして、そこまで移動・回転を直線補間してスムーズに動かす、、、という意味です。

で、位置や回転なんですが、グローバル座標軸を基準とした現在位置からの「差分」の指定になります。SIM の東西南北天地の軸に沿った現在位置からの移動距離を指定することになります。当然回転もグローバル座標軸で回転します。もちろんラジアンでの指定になります。

移動時間は 0.1秒以上でなければなりません。また、この秒数指定をより正確にするためには、秒指定よりもフレーム数の倍数指定がよい、と紹介されています。どうやら 1 秒間に 45 フレームで移動させているようです。そのため、1/45 の倍数で秒を指定したほうがよさそうです。たぶん、キーフレームの考え方からすると、A地点からB地点へ2.0秒で移動、と指示した場合はA地点~B地点の距離を 90 分割(2秒なので 90 フレーム)して移動させているようですね。

この倍数じゃないと微妙にずれていくのでしょう。なぜなら、次の移動地点へは「今の位置」からの差分をとるように動いているからです。ちょっとのずれが積み重なって最後は大きくなる、、、っていうわけですね。たとえば、1.5秒という指定は、45*1.5=67.5 フレームで、0.5 フレームというのはないので、67フレームか68フレームとして45で割ってあげると、67フレームの場合は 1.4889秒、68フレームの場合は 1.5111秒です。これを LSL で書くと、

float time = 1.5;
integer frames = (integer)(time*45);
time = frames/45.0;

実際にこれをやると time は 1.488889 秒 (67フレーム分)になりますね。

3) オプション

まず、オプションの種類として3つあります。

・KFM_MODE

モード指定で、指定できるのは ループ、リバース(逆順序)、フォワード、ピンポンです。これは keyframes で指定した複数のキーをどのように扱うか、ということですね。
[A, B, C] と keyframes を指定した場合、何も指定しなければ既定値の KFM_FORWARD が使われ、A –> B –> C と動く、KFM_REVERSE だと C –> B –> A、ループだと A –> B –> C –> A –> B –> C –> A.. と繰り返し、KFM_PING_PONG だと A –> B –> C –> B –> A –> B –> C.. と繰り返すわけです。(正確にはループ/ピンポンの場合は 4) で書いているように初期位置に戻ってから、移動分 A を行います)

・KFM_DATA

これは keyframes で指定するデータの種類を指定するオプションのようです。KFM_DATA オプションを使わない場合は必ず <ベクター型の位置>, <ローテーション型の回転>, float 型の秒数 の3種類を指定しなくてはなりませんが、位置だけでいいや、という場合は KFM_DATA, KFM_TRANSLATION というオプションをつければ <ベクター型の位置>, float 型の秒数 というように回転の指定を省くことができるようです。同様に KFM_ROTATION は回転指定と秒数指定のみで、位置指定を省くことができるわけですね。

実際はこのオプションなしで、ZERO_VECTOR や ZERO_ROTATION 使いそうですけど。

・KFM_COMMAND

おもしろいオプションです。アイディア次第でいろいろな適用箇所があるかもしれません。モーション移動途中で中断 (KFM_CMD_PAUSE) させたり、再開始 (KFM_CMD_PLAY) させたりできます。停止 (KFM_CMD_STOP) させるとリセットされるので、次に再開始 (KFM_CMD_PLAY) すると一番最初の keyframes から開始させます。。。。って、これ、はまりそうなポイントなんですけどね。

このオプションは他のオプションと一緒に使えないことに注意です。keyframed のリストも指定できません。なので使い方は、

llSetKeyframedMotion([], [KFM_COMMAND, KFM_CMD_PAUSE]);

のような使い方になります。

4) 利用上のポイント、注意点 (?)

といっても、、、まだそんなに使いこんでいるわけじゃないので偉そうなことは言えないのですが、、、

a) 障害物があった場合は・・・・

非物理や土地などは突き抜けますが、物理オブジェクトやアバタ―がいると「衝突」が発生します。アバタ―を push するときもあれば、オブジェクトがアバタ―につっかかってしまって止まるときもあります。そこからキーフレームで指定している分だけ移動するので期待しない位置にいく可能性がありそうです。

b) なんとなくパーティクルと一緒な、、、

空のリストを使ってあげると完全にクリアになりますが、それをしないとセットした属性というかプロパティというか、情報はプリムに残っていますね。

llSetKeyframedMotion([],[]);

llParticleSystem のクリアも確かそんな感じでしたよね。

c) 初期位置は、、、、グローバル座標で覚えているみたい

llSetKeyframedMotion でキーフレーム モーションを設定した時点の「位置」を覚えているようです。KFM_MODE, KFM_LOOP でキーフレーム移動をループさせると、たとえば上の a) のような障害物があってずれていっても、LOOP で最初の位置に戻ってから、A->B->C と動きます。なので、A->B->C と設定したときは、llSetKeyframedMotion をコールしたときの位置 i から、i –> A –> B –> C –> i –> A –> B –> C,,,, と動きます。

ピンポンも、i –> A –> B –> C –> B –> A –> i –> A –> B ...と動くみたいですね。

今は通常の SIM でも利用できるんじゃないかな? わたしの SIM では使えました~。

//llKeyframedMotion のサンプル。左に5m、前に5m、右に5m の移動をピンポンモードで。

integer flg;
list kfList = [<0,0,0>, 3, <0,5,0>, 3, <5,0,0>, 3, <0,-5,0>, 3];

init(){
        flg = FALSE;   
        llSetKeyframedMotion([], []);
        llSetKeyframedMotion(kfList,[KFM_DATA,KFM_TRANSLATION,KFM_MODE,KFM_PING_PONG]); 
        llSetKeyframedMotion([],[KFM_COMMAND,KFM_CMD_STOP]);
}

default
{
    on_rez(integer start_param){
        init();   
    }
   
    state_entry()
    {
        llSetPrimitiveParams([PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]);
        init();
    }
       
    touch_start(integer num_detected){
        if(flg){
            flg=FALSE;
            llSetKeyframedMotion([],[KFM_COMMAND,KFM_CMD_PAUSE]);
        }else{
            flg=TRUE;
            llSetKeyframedMotion([],[KFM_COMMAND,KFM_CMD_PLAY]);
        }
    }
}

[LSL] LSLCON 2011 にエントリーしちゃいました

まるでデジャブーなタイトルですが、、、
2011年2月27日の投稿で「LSLCON 2010 にエントリーしちゃいました」とまったく同じタイトルですけど。

あの時はまだ mldu5 はベータでした。LSLCON 2010 でベータを使ってもらったハルちゃんからの熱心なラブコールをもらって正式版に仕上げ、marketplace で販売開始させてもらったのがもうかなり昔に感じられます。

実は、、、LSLCON 開催に気が付いたのは3日前、、、参加応募締切が 2011/12/9 って、、、もうギリギリじゃんw ということで急いでエントリー。関係者の皆様、ごめんなさい、、、。

LSL に興味にある人はこちらの LSLCON のページを見てくださいね。

http://lsl-con.org/2011/

開催は 2011年2月4日(土)~ 2月19日(日)まで。メイン会場は New Script SIM です。
一応、アイテムデモにも登録してます。正直 15 分くらいでダンススクリプトの説明って相当難しいんです。無理です(笑)

なので mldu5 自体のデモが中心になると思いますが、もう、いっそのことみんなで楽しんじゃえ!という感じにしたく、難しいスクリプトの話は極力少なくっ!!でも、ここまでできるんだよ~ということを感じてもらえれば、、、という主旨にしたいと思っています。

そこで!

展示およびアイテムデモは「みんなで踊っちゃいなYO!」的な感じでいこうかと。
もしかしたら、運営様から NG がでるかもしれませんが、、、、ちょっと llParcelMediaCommandList 使って、動画に合わせてダンスを踊ろう~みたいなデモにしようかと思います。実はこれすでにあったりします。

MMDDR

実際のところ、ラジオと違って動画の「開始タイミング」はネットワークなどかなり個々人の環境に依存するので、今ある仕組みを売り物にするほど汎用的じゃないと思っています。ビューワーが V1 系と V2 系が入り混じっていたころは、バージョンの違いでそれぞれのビューワーで4~5秒もの開始の差(ズレ)があったり、、、

でも、過去の LSLCON で MLDU4, MLDU5 とアイテムデモすると、やっぱりダンスのときは「曲」があったほうがいいんですよね~。なので、現在ある MMDDR をもうちょっと見直して出展しようかと思っています~。(運営さんから許可がおりたら、、ですが)ダンス/アニメーション コントロール部分はフルフル multi motion mldu5 を流用してますしねw

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)

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

2011年10月22日土曜日

Nostalogic SL用 モーションファイル公開

Marketplace に Nostalogic の SL 用モーションファイルを公開しました~。もちろんモーションファイルは無料でございます。

https://marketplace.secondlife.com/p/MMD-Nostalogic-motion-files/2810598

NostalogicMotion

SL_MMD_Nostalogic0 は初期ポーズです。
1~8 を 30秒でマクロ、ノートカードで組んでください。
プライオリティは 3 です。AOは切ってください。
いろいろ検討したのですが、まずは素のファイルを公開しますので、指の件は各自、、、(笑
プライオリティ4 の指/手表現のファイルを使えば、モーションと別で動かすことで上書きすることができますから、ぜひ挑戦してみてください。

コピー可、モディファイ可(といっても名前くらいですね)、譲渡不可となります。

2011年9月27日火曜日

モーション調整中~?

YouTube にあげていた Nostalogic [single edit] の動画のコメントに「モーションどこで手に入るの~」というコメントを複数の方からいただいておりました。

Nostalogic の動画で使われているダンス モーションは MMD (MikuMikuDance) 用に のりさんが作成され公開されたものを、mio を使って一般の bvh ファイルに変換して、esetomo さんが作成された MMDBVHToSLBVH を使ってセカンドライフ用の bvh ファイルにさらに変換、それをセカンドライフにアップロードして、私が作成したダンス スクリプト コントローラーの MLDU にいれて、ダンスをさせて撮影したものでした。

YouTube の動画のほうに、、、のりさんご本人らしき人からのコメントをいただいて小躍りしていたわけですが、だめもとで「モーションのセカンドライフ内での再配布、ご許可頂けますか?」と YouTube の中のメッセージを使ってお願いしたところ・・・・

許可がおりました~ キタ━(゚∀゚)━!!

MMD のモーションをセカンドライフに移植する方法はいろいろと紹介されていますし、YouTubeでも「踊ってみた~」で動画があがっています。モーションによっては「再配布OK」なものもありますが、readme.txt や はじめにお読みください を見ると、再配布禁止しているのも結構あります。のりさんの Nostalogic も再配布は基本禁止だったのです。

●利用条件 (Nostalogic 配布物内の _はじめにお読みください.txt から引用)
(1)振付を考えてくれた Yumiko さんに感謝しましょう。ありがとう Yumiko さん!
(2)個人的に楽しむ目的での利用には、いかなる制限もありません。引用元の表示も不要です。
(3)動画共有サイトに動画ファイルをアップする目的での利用には、いかなる制限もありません。
(4)データそのものの再配布は禁止いたします。配布用サイトからダウンロードしてください。
(9)上記以外の利用方法については個別にお問い合わせください。

なので、(4) で再配布禁止になっていたので、のりさんから OK ですよ~とご返事いただいた時は本当にびっくり&嬉しかったわけです。

で、じゃ、早速配布しちゃえばいいじゃない?と思われるでしょうけど、、、実はモーションの調整をしているんです。

ええ、のりさんが作成された MMD 用のモーションは上述の変換ステップを通しても、ほぼ問題なく動くのです。関節がねじれちゃったり、手足があさっての方向にいくことはほぼない、すばらしいモーションなんです。

でも、、、ほんとうに、ええ、本当にほんの一部だけねじれちゃうところがあったりします。動画内ではカメラアングルとカットでそれが見えないように動画を編集していました。

ねじれるところは、、、そう「肩」です。でも、ほんとうに2~3か所くらいなので修正自体はもう終わっているんです。

正常の肩はこちら。ほどんどはこれです。
MikuOK

1520フレーム付近の肩。この程度であれば変換してもあまり目立ちません。
Miku1520s

3255フレームの左肩。これは修正したほうがいいねじれになっていました。
Miku3255s

せっかく再配布のご許可いただいたのですから、このくらいは修正したいですよね!

で、なんで再配布に時間がかかっているかっていうと、、、、

指なんです。(え~、そこ?って感じですが。。。)

残念ながら、セカンドライフでの「手、指」は非常に悲しいものがあります。ボーン調整での bvh ファイルでは指の動きはつけられず、通常だとモーションファイル アップロード時に指・手の形を指定する、となります。

でも、Nostalogic の動画の中では指、、、やってるんです。
こんな感じ、、、

Nostalo1

Nostalo2

これは、Nostalogic のモーション ファイルの優先順位をアップロード時に 3 にして、指さしだけするモーションや、握るだけのモーションを別に作成して優先順位 4 でアップしておき、タイミングを合わせてモーションの上書きをスクリプトからやっていたのです。。。。

これ、、、動画見て、モーションン手に入れた人は、、、期待しますよね???

そこで、どうしようか、、、悩み中というわけです。解決策(実現策?)はいくつもあるんですけど、なんか、こう、しっくりこなくて。。。

ということで、もうしばらくお待ちくださいませ!

[追加] モーションを Marketplace で公開しました~
http://snumaw.blogspot.com/2011/10/nostalogic-sl.html