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

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 で同期ダンス!のときにこの仕組みをつかってみました。