2007年11月6日火曜日

同期ダンスの限界に挑戦してみたり・・・

ちょっと前の投稿で「LIN ちゃんからオーダーありました~」って書きましたが・・・

つくってみました、同期ダンスボールw (また、、、玉かいっ!!!)

ですが、その玉は Massive Link Dancers Massive Link Dance Unit という命名をいただきました~

LINZOO さんの呼びかけで多くの方に参加してもらい、たぶん 50人(Avatars) を超えての同期ダンス(シンクロダンス)をたのしんだわけで。

そのときの模様がこれ・・・・

image

引いたときのフォトはこれで、、、
image

SIM は落ちなかったけど、PC 側が大変でしたw
Avatar の数ぶんのデータを PC 側で処理するわけで、40人を超えたあたりからディスクアクセスが・・・・
SIM おちる前に、PC 側の SL ビューアーが落ちそうな(クラッシュしそうな)勢いでした(笑
この Massive Link Dancer(s) は、SIM に対する負荷は(今は)とっても低いんです。
Top Script でみても、このスクリプトは平均して 0.1 秒前後しか SIM CPU を使っていないんです。
LINZOO さんいわく、「これだけたくさんの Avatar が Link したのを見たのははじめてかも、、、」らしいです。
ちょっと、まだ「使い勝手」という点で修正・追加しなきゃならない機能はありますが、おおもとのスクリプトはこれでいけることが確認できたので、ASUKA のクラブ雷神ではすでに本番稼動(でも、スクリプトはまだベータなんですけどね・・・)してます。
もう少しテストと修正を加えたら・・・・うっちゃう?(笑
でも、ほんと、同期ダンス(シンクロダンス)が楽しくて、今まで続けていたようなものなので、まさか自分で作るとは思ってもいませんでした。
実は、、、Yaz Mania 玉の、、、、これも応用だったりするんです。Yaz さんに感謝w
もう一枚 SS をw
image
これで、LINK LINZOO BALL がフルなのでシンクロダンスできません・・・・ということはなくなりましたねw
[11/8追記]
はいはい~、ビデオできました~。

Video: Massive Link Dancers Unit
[追記おわり]

スクリプトとしては、3つのスクリプトが llMessageLinked で通信をして、Avatar の管理をしています。

DDManager という Touch イベント、List によるスロットアサインと管理、SyncManager という Animation の管理とスタート・同期制御、danceSlot という Avatar の Permission 管理、存在チェック、llStartAnimation 指示、そういう役割にしました。
danceSlot を Prim のコンテンツ内で copy すると danceSlot 1, danceSlot 2 と連番がつきます。 100 人ダンスーなんていってますが、たぶん DDManager が管理する Slot List がどんどん大きくなるので、そのメモリがなくなるまで Slot を増やすことが理論上は可能です、、、、(いくつかは試していませんw)

同期させる仕組みはとても簡単で、同じタイミングで複数のアバターに同じアニメーションを開始させる、、、なんですが、一番悩んだのは、スロット管理でした。
一人の Avatar にひとつの danceSlot スクリプトをアサインします。これは Permission を扱うからなのですが、問題は、そのアバターがいなくなったことを感知してスロットを開放しなきゃいけない、、、っていうことです。
再度タッチでダンスはとまるので、明示的にスロット開放はわかりますが、ダンスを止めないで TP しちゃった、、、、なんていうのも考えられます。そこで使うのは llSensorRepeat なんですよね、、、、これの時間の設定が、また、微妙で、、、、あまり短くしすぎると copy した danceslot が次から次へと、、、
このあたりはまだまだ調整の余地がたくさんありそう・・・・

DDManager のスロット管理、、、完全に開放されていないステータスのスロットが残ったり、、、という不具合があるので徐々に改良していきます~

14 件のコメント:

  1. 人数稼ぎのため、
    この時、3つのアバターを登場させてました。
    1つでも重くなって来たのにね、操作が大変でした^^

    返信削除
  2. 世紀の大発明ありがとうでっす。
    これは、ダンスに革命をもたらすアイテムなのです。今後のダンスシーンが楽しみになりますね。
     これからも、いろいろまた作ってねん♡

    返信削除
  3. このダンスボールは、凄いです。
    確かに、存在チェックが悩みの種なんですよね!
    TPしたり、落ちたりと悩みますねー。
    また、何か見つけたら連絡しますね♪

    返信削除
  4. massive link dance ball
    でないと文法的に意味が通じないかもしれないかもしれません。
    massive link dancers
    大量にリンクダンサー(たち)
    massive link dance ball
    大量にリンクするダンスボール

    返信削除
  5. コメントありがと。
    Massive という単語は使いたいなぁ。
    Duzzy に聞きますかw 英語w
    Massively Link avatars with dance by scripted dance ball... むむーっw

    返信削除
  6. 主語がないw
    Make massive avatars liked....
    もういいやw

    返信削除
  7. ぬるぽボール作った時も「ダンスを止めないで TP しちゃった」の対応が一番悩みましたなあ…
    ちなみにぬるぽボールの存在チェックはセンサー使ってないです。
    センサーもぬるぽ方式も一長一短あるのでどちらがいいとは言えないけども orz
    もし行き詰ったら適当に呼びつけてちょうだい。
    …なんか偉そうだなわし((( ;・Д・)))

    返信削除
  8. 今度教えてください。。。(笑
    一番いいのは、llStartAnimation した時に Avatar が存在しない場合、スクリプトエラーになるのはいいんだけど、そのエラーをキャッチして解放処理する・・・・
    これができればいいのにね。

    返信削除
  9. あれ、動画撮影班はいなかったのかな。

    返信削除
  10. てことは、
    MLDボールならOKなんでしょうかね?
    MLDユニットとか、
    MLDアイテム?とかもOK?
    ただし、MLDだけでは変よってことよね?

    返信削除
  11. Massive Link Dancers Unit でいいかもw
    で、、、はいはい。動画できました(笑
    ただいま、例の「動画考察」のパラメータをチェック中です~。近々 Up できると思います。

    返信削除
  12. ビデオを追加しました。
    Massive Link Dance Unit ですね、、、Dancers じゃおかしいw(でも、もうビデオ修正は無理~)
    このビデオ、もちろん、雷神でも視聴できます。

    返信削除
  13. きたwwwww

    返信削除
  14. 曲のつなぎ・・・・ Yaz さんにほめられたw
    実際の Provisional End はもっと長いので、オリジナルのほうもよろしく~。

    返信削除