2011年8月28日日曜日

mesh きました

公式ビューワーが 3.0 になって、すべてのリージョン(SIM)で mesh が使えるようになりましたね。

Mesh goes gridwide: Create, sell, buy & enjoy all-new things in SL

また、かがみんのブログで以下の YouTube のビデオシリーズを知りました。

Second Life Rigged Clothing Series

メッシュってモデリング中心で考えていたのですが、Rigged Mesh Clothing のエリアがあったのを初めて知りました。mesh ってスカルプみたいに考えていたのですが、これが全然違うんですね。

Weight 塗り、、、できるんだ(ここで MMD の知識応用がくるとは)

Weight 塗りできるということは、メッシュオブジェクトが「伸びる、縮む」ということです。

で、、、いきなり mesh の服に興味を持ったので、かばちさんのブログで紹介されているお店で各種 mesh 服のデモを購入、、、、おー、伸びる伸びる♪

って、文字だとなかなか理解しづらいので動画を。。。

あと、Rigged Mesh Avatar にもかなり可能性を感じますね♪ 
このエリアは日本のアニメ文化、オタク(いい意味で)文化で、かなりハイレベルなものが出てきそうな気がします。
luna256MeshAvatar 
(最後の最後はテクスチャマッピング+絵心だと思う ><)

動画で紹介した luna256 さんもすごいですし、ばけもの屋さんの conjoh さんも rigged mesh avatar 作ってますねー。

luna256さんのブログ
http://poto.aquel.jp/

conjoh さんのブログ
http://conjoh.blogspot.com/

あ、ちなみに私は「玉姫」のとおり、スクリプトは作っても、玉しかつくれず。。。なので、オブジェクト製作できませんので、mesh についての質問は無しね (^^;

でも、うちの島(ホームグラウンド SIM) にくると2人くらい、その道にめっちゃ詳しい人がいますw

2011年8月16日火曜日

mldu5 を使った動画ご紹介

multi motion MLDU5 (以下、mldu5) をご愛顧いただきありがとうございます。
mldu5 をお使いいただいた動画がいくつか上がりはじめましたので宣伝かねてご紹介します。

team Ä・S・H 様

5人でのダンスを mldu5 を使って構成しています。各アバタ―へのダンスモーションの割り当て、それぞれのアバタ―位置の変更など、mldu5 ならではの使い方、、、といっていいでしょうね。

MaHal 様

複数のカップルダンスを mldu5 で組んで、カップルダンスを連続させて舞台を作り上げています。マクロ的なノートカードによるプレイリストと、マルチアバタ―対応によるカップルダンスをうまく利用されています。ダンスとダンスのつなぎでは「ダンス終了位置」と次のダンスの「開始位置」を合わせる微調整を行うことで自然な流れで複数アバターによる複数モーションにトライされています。

私 (^^;

mldu5 を使って10数個のダンスを連続再生させています。ノートカード記述によりダンス毎に再生秒数を指定できること、連続ダンスを作成したい場合はループアニメーション登録時に「ループイン」(ループを開始させる場所)を0.0から99.99などにしてダンスが終わったら最後のポーズのままで止まるようにしてあげるといった工夫をすると、うまく連続したダンスとして見せることが可能になります。この例はシングルモーションですが、もちろん、カップルや3人、4人、、、といった組みダンスをノートカードで構成することが可能です。

mudu5 は marketplace.secondlife.com にて好評発売中~です。

2011年7月18日月曜日

トリノコシティで SL ダンス紹介動画とか

オリジナルはボカロの曲で、40㍍P さんの「トリノコシティ」という作品があります。それをニコニコ動画の歌い手 ENE さんの「歌ってみた」がお気に入りだったんです。

で、ハルちゃんが紹介してくれていたダンスアニメーション ショップの MyANIMATION で My-HIPHOP シリーズのアニメを購入してきたので、ひさしぶりに MMD アニメーションじゃない、Second Life 用のダンス アニメーションを使って動画作ってみました。完全に「ダンス アニメーション紹介動画」ですけど^^;

やっぱり、WindLight 使うといい感じですね。上の動画は Phoenex の V2 UI 版の Firestrom beta を使いましたが、Windlight の設定切替がとても使いやすいのと、プリセットで多くのものが最初から入っているので、いろいろ試せるのがいいですね。

動画撮影は Fraps 有料版を使っています。一時、SL のビューワーの高機能化に伴い、かなり FPS が落ちていったのですが、1年ほど前に現在のノートPCに買い換えたのと、Kirstens をはじめ、軽めのビューワーがでてきているので、FPS は撮影前で 50 前後、撮影時でも 20 台をキープできるようになりました。(Light&Shadowオプションはさすがに、、)

あ、撮影、編集、すべてノートPCです^^;(といっても宇宙最強キャッチの DELL ALIENWARE M17x(2010年版) です)

動画編集は Corel の VideoStudio Pro X3 を使っています。もう X4 って出てるんですね。X3 も使いこなせていないので X4 へのアップグレードはちょっとお預け状態です。(といっても、この手のバージョンアップはしたほうが「使いこなせる」ようになるんですけどね)

SL での撮影は個人でやる分にはワンカメ(同時に録画できるのは1つのビューワーのみ)なので、凝った編集をしたくなったら、同じシーンを角度やカメラワークを変えて何度もとって、そのあと切り貼りするわけです。以前ご紹介した Nostalogic の動画なんかは、何度も何度もリテイクして、動画をためて、それを編集していました。なので、「あー、ここ、もうちょっとカメラワーク変えたい」と思っても、なかなか簡単に変更することができません。

その点、同じ 3D ソフトの MikuMikuDance はカメラワークはカメラワークで独立して変更・保存できるので、SL で動画を撮影するときの「リテイク撮影 - 編集」の時間がかかる繰り返しがないのがすごくいいですね。カメラワークの勉強になりますね~。

おおお~!という動画はまだまだ作れないと思うけど、いろいろ試しながら、見やすい動画作れるようになりたいと思う今日この頃でした。

2011年7月7日木曜日

新しく初期アバターが追加されました

Linden の公式ブログで7月のアップデートということで、新しいアバターや乗り物が紹介されていました。

有料のものではもっとクールなのはいっぱいありますが、最初から選べるアバターの種類がたくさんあるのはいいことでしょうね。

Linden 公式ブログ “July Update”
http://community.secondlife.com/t5/Featured-News/July-Update/ba-p/964435

これらの Outfit は インベントリの [Library] – [Clothing] – [Initial Outfits] から選択できます。

NewOutfit

2011年6月27日月曜日

第4回セカンドライフ踊り子組合ダンス会のポスターできた

MosaicRolePOP

一度、こんな感じのポスター作ってみたかったんw
今回の演目は OKGO の MMD ダンス&曲はモザイクロール。こちらは4人のマルチ・モーションを使ってのお披露目。
もうひとつは MMD の Nostalogic モーション。Live でのお披露目は初めてになるし、シングル・モーションなので飽きない工夫が必要。いま、一生懸命その工夫を考えています ><

残念なが SL 踊り子組合の発表会はオープンなイベントじゃないので、だれでも会場にきて見ることができません。普段、Club などでショーケースやらダンマスをやっている方々の集まりで、ゲストに見せる、、、というよりは、その手のダンスをゲストに見せている人たちの「発表会」としての色合いが濃いんです。

と、、、言ってもウチら「Prin Dance Club」はそんな営業してませんけどwww

これから詳細、演出をいろいろと試してつめていきます~。

2011年6月20日月曜日

[LSL] これはうれしいかも ~ llRegionSayTo ~

とある関数の説明を再確認しようと wiki.secondlife.com の LSL Portal みてたら、いくつか新しい関数が追加されていました。

llTextBox とか存在は知っていたのですがはじめて公式になりましたね。あと、Display Name 系もあったりしてます。

その中で「ああ、これが欲しかった~」というのが llRegionSayTo です。

llRegionSayTo

スクリプトからアバタ―に対して何等かのメッセージを送る手段は

llSay
llWhisper
llRegionSay
llOwerSay
llInstantMessage

なのですが、llSay, llWhisper, llRegionSay は他の人にも見えちゃうので、関係のない人に見られたくない場合は、必然的に相手先がオーナーであれば llOwnerSay, 他の人は llInstantMessage を使うことになります。

ですが、llInstantMessage は、私みたいにダイアログ使って処理をすることが多い場合は「鬼門」なのです。この llInstantMessage は [Delay] の属性を持っていて、wiki にあるように 2.0 Delay なのです。これの意味するところは、llInstantMessage を使うと 2.0 秒「スリープ」するんです。

なので、ダイアログを扱っているスクリプトから直接この関数を使うと次のダイアログ表示の処理まで「2秒とまる」ことになります。パフォーマンスが出ない、ダイアログの表示が遅い、という場合は llInstantMessage によって「止まっている」可能性が高いのです。

これを回避するために、スクリプトを分けて、ダイアログ処理スクリプトから llMessageLinked を使って、送信先の id とメッセージを llInstantMessage 送信用のスクリプトに渡す、、、などの方法があります。

でも、llRegionSayTo を使えば、もう、そんな手間なことをしなくてもよいわけ。
Delay もないですし、0チャンネルでも指定したアバタ―だけにメッセージが表示されます。
その他、llMessageLinked との違いは「同じSIMにいなければならない」ことです。まぁ、別SIMにいる人にメッセージを渡すようなことがなければ、llRegionSayTo が一番使いやすいかもしれません。0番のオープンチャンネルだけじゃなくて、指定したチャンネル番号を使えば「装着しているオブジェクト」がメッセージを拾うことができる、というのもおもしろそうですね。

あと、ちょっと面白いのは llSay と llWhisper と llRegionSay は声の届く距離だけが違うわけではないんですよ。
llSay/llWhisper は隣接する SIM にも聞こえます。でも、llRegionSay は隣接する SIM には一切聞こえません。この違いをうまく使って SIM 間のリレーチャットなんかもできます。
エレクトログラム Siva の複数SIM で同期ダンス!のときにこの仕組みをつかってみました。

2011年6月11日土曜日

むか~し、むかし

市原悦子風で。。。
てか、何むかし話してるのよwww
LINちゃんのブログ

といってもね、実はLINちゃんも知らないんだけど、私は桃源郷にあったころの ASUKA にいってたんだよ。LINちゃんには一度もあったことがないんだけど、そのときは Sae ちゃんが相手してくれてた。。。英語でwwww(私は外人だと思われていた風味w)

でもねー、やっぱ朱雀→ASUKAにいったころの雷神ではいろいろ学んだし、今のベースを作らせてもらったことには変わりないね~。

シンクロダンスマシンなんか、、、作ったことないのに「作るよ~」って言って、、、でもそのおかげで今でも楽しくやってますの。

まさに記念すべき、わたしの初めての ASUKA での動画は、、、レースじゃなくて、コレ! はずかしくなる編集ですけどね!

いまでも仲良し、お友達の子と踊ってます(^^

でも、LINちゃんも書いてるけど私にとって大きな影響を与えてくれたのが、やっぱり Yaz さん。自慢なんですが、その後、いろいろな人から私のこの動画を見て Yaz Rockett にはまった、、、っていう人が多いんですよw

で、、、今があるわけ。multi motion MLDU5 もそうだけど、やっぱり、それを作りたい~って思った原動力は MikuMikuDance のモーションを踊りたかった、、、んです。

と、、、いうことでw
よろしく~(^^:

2011年5月29日日曜日

[multi motion MLDU5] MaHal 35 でデビュー

multi motion MLDU5 のベータをとことん使い倒して、たくさんのフィードバックをいただいたハルちゃんのショー本番で MLDU5 初お目見えとなります。(といっても、、、MLDU5 そのものが ドーンッ ってあるわけじゃないけど)

MaHal 35
日時:5月29日(日)今日! 23:00~
場所:Pianissimo

すでのショーケースという意味ではカイさんがベータ版の MLDU5 でダンスを披露されております。2011年の5月15日に行われた team Ä ・ S・ H のオープニングイベントでした。
こちらにそのときの模様がビデオでも紹介されています。

blue... [KAIさんのブログ]

通常のダンスから、格闘系モーションとか、そういう、まさにマルチな扱いされてます~。
さて、、で、multi motion MLDU5 はいつ公開されるの?っていうわけですが、今、せっせと marketplace での公開準備をしております公開しました!!!。ちなみに POP はこちら。。。

PopBaseMLDU5-6-JP

今回のパッケージから「譲渡不可」にしました。譲渡したい場合は marketplace から「贈る」が使えるし、そのかわりといってはなんですが、たまに「HUD紛失~」なんてことがあるので、予備用としてもう1個いれます。なので、MLDU5 が2つ入っています。(お試し版は1つだけで変わらずです)バックアップ用として持つも良し、2つとも使うのも良し、お好きにお使いくださいませ、なので、譲渡不可にしました、という感じです。

今現在の予定

お試し版(3人用、5ダンスセット利用可能):1L$
6人用(6人用、26ダンスセット利用可能):600L$
9人用(9人用、26ダンスセット利用可能):900L$
12人用(12人用、26ダンスセット利用可能):1200L$

となります。近日公開予定です。(いつ~?笑)


あと、注意事項というか、製品の位置づけですが、


multi motion MLDU5 は MLDU4 を置き換えるものではありません。

通常のクラブ フロアでの利用は MLDU4 がよろしいと思います。multi motion MLDU5 は現時点では残メモリーがひっ迫しているため、12人を超えるものは、お願いされても提供できません。ショーケースなどで組みダンスを行いたい!カップルダンスを自分の HUD で楽しみたい! MikuMikuDance の複数人用モーションを楽しみたい!という方を対象にしています。
なので、marketplace では MLDU4 と multi motion MLDU5 の併売をしばらく続けます。
ご理解のほどよろしくお願いいたします。
゚・:,。★ MLDU ★。,:・゚ (https://marketplace.secondlife.com)
https://marketplace.secondlife.com/stores/70251

2011年5月1日日曜日

[LSL] 変更されたノートカードを探す

この数年、、、できないと思い込んでいたことが、今日できることに気がつきました!
オブジェクトのインベントリの中の「ノートカード」。これ、もう最初から「タイムスタンプとかないし、どれ修正したかわからない」と思い込んでいたんです。
で、スクリプトが扱うノートカードの制限ってあるにかしら?と思い wiki を見ていたら、、、「ノートカードは不変」の項目を見つけ、、、。
できるじゃん!!!!私、これ4~5年は無理だとあきらめてたのにっ!
wiki のノートカードの説明
つまり、、、修正した時点で実は新しいオブジェクトとなり、Key が変わる!ってことなんです。それだと修正されたノートカードがどれかわかりますね!
で、書いてみた~。
list noteKey = [];
list noteList = [];
integer noteNum;
init(){
    noteKey = noteList = [];
    noteNum = llGetInventoryNumber(INVENTORY_NOTECARD);
    if(noteNum>0){
        integer i = 0;
        for(;i<noteNum;++i){
            string tName = llGetInventoryName(INVENTORY_NOTECARD,i);
            noteList += tName;
            noteKey += llGetInventoryKey(tName);
        }
        llWhisper(0,(string)llGetListLength(noteList)+"個のノートカードをインベントリでチェック可能です。");
    }else{
        llWhisper(0,"ノートカードはインベントリにありませんでした。");
    }
}
default{
    state_entry(){
        init();
    }
    touch_start(integer total_number){
        llSay(0, "Touched.");
    }
   
    changed(integer change){
        if(change & CHANGED_INVENTORY){
            integer tNum = llGetInventoryNumber(INVENTORY_NOTECARD);
            llWhisper(0,(string)tNum+","+(string)noteNum);
            //追加
            if(tNum>noteNum){
                llWhisper(0,"ノートカードが追加されました。");
                init();
            }else if(tNum<noteNum){
                llWhisper(0,"ノートカードが削除されました。");
                init();
            }else if(tNum==noteNum){
                llWhisper(0,"ノートカードが変更されました。");
                integer i = 0;
                for(;i<noteNum;++i){
                    string tName = llGetInventoryName(INVENTORY_NOTECARD,i);
                    if(llListFindList(noteKey,[llGetInventoryKey(tName)])==-1){
                        llWhisper(0,tName+"が変更されました。");
                        i=noteNum;
                    }
                }
                init();
            }
        }
    }
}

先入観って怖いわ。。。