2014年12月15日月曜日

MMD と SL ~ モーフ編

これはセカンドライフ技術系 ADVENT CALENDER 2014 12月15日向けの投稿になります。

モーフとは

今日はモーフの話しです。
モーフ(Morph)もしくはモーフィング(Morphing)と呼ばれる技術があります。ある形状から別の形状に徐々に変化させることを指します。
セカンドライフの標準アバターでもモーフィングの技術が採用されています。一番わかりやすいのは「シェイプスライダー」を使って体型を変えるアレです。また、ボイスチャットの LipSync の口をパクパクさせるアレもモーフです。笑う、怒る、ウィンクするなどの顔の表情もモーフです。(*1)

セカンドライフの LipSync 

3DCG のモデルの表面は「頂点」、「面」、「辺」から構成される「メッシュ」で表現されています。この頂点を移動させて形状変化を作っています。
LipSync も口の周りの頂点や、歯、舌の頂点が動いて「口パク」しているように見せています。
モーフとは頂点を移動させることによって形状変化することを指します。

Wireframe 表示での LipSync による頂点の動き

(*1) もしかすると、ここにあげたすべてをモーフといえない可能性があります。隠しボーン(Armature)があって、それを動かして形状変化しているものは、モーフと見た目は一緒で、頂点が移動しますが、厳密には頂点だけで形状変化をするモーフとは言えません。詳細に調べたわけではありませんが、組み込みアニメーションを使って形状変化しているものは隠しボーンのようなものを動かしてメッシュを追随させている可能性があるからです。

MikuMikuDance のモデルでもモーフが至るところで使われています。まばたきをする、ウィンクをする、笑う、など顔の表情から、キュンキュン眼鏡のサイズおよび場所の変更、照れを表現するテクスチャのサイズ・場所変更などなど。キュンキュン眼鏡や照れテクスチャはサイズを小さくして頭の中に入れ、モーフスライダーでサイズ・位置を変更して装着、表示しています。

PMX Editor の Transform ビューでモーフを確認

Blender でのモーフ 「ShapeKey」

MMD モデルを Blender にインポートする mmd_tools は MMD モデルに設定されているモーフも Shape Key としてインポートしてくれます。 Blender の Shape Key は MMD でいうところのモーフに相当します。


ShapeKey をざっくり説明すると、ベースとなるメッシュ オブジェクトの形状に「Basis」という名前の ShapeKey をつけ、頂点を移動させて変形させた(つまり、モデルを編集した)結果の形状を「Key 1」と設定すれば、Basis から Key 1 までの形状変化を 0 (basis) から 1.0 (key1) でスライダーを使って連続して変化させる機能です。大切なのは Basis と Key 1 は変化する頂点数に増減がないことです。

Shape Key がサポートされないセカンドライフ メッシュ

セカンドライフのメッシュでは、これら モーフ / Shape Key がサポートされていません。
私も暫くの間「あ~、じゃぁ、まばたきとか、できないじゃん」と思ってあきらめていました。MMD モデルをお借りして Rigged Mesh アバターは作っても表情ないと面白くない、、、

スカルプを使ったアニメヘッドの表情などはテクスチャアニメーションを切り替えることで表情を作ることができました。形状が変化する Mesh でテクスチャアニメーションでの実装はありません。

顔全体を透明・不透明で切り替えることも考えましたが、そうすると表情のバリエーションが限られてしまう、オブジェクトの数が表情の数だけ必要になる、など、ちょっと無理ゲー。。。

ところが 2012年の11月に、この動画を見て「!?」と衝撃が走りました。


SNOW RABBIT さんのところの NEA ちゃん(発売前)の動画ですが、3日間くらい「なに、なに、これ、なに使ってるの?」と悩み、Linden のサイトを探しましたが、モーフができるなんて一文もない、、、

で、口元をよくよく見ると、これ、どうも、透明・不透明の切り替えを行っているっぽい、、、と気が付くわけです。それも「口元」だけ。

そこで、気が付きました。顔のパーツを口元、目元などに分けて、それぞれに形状を変化させたオブジェクト(もしくは材質)合わせて構成すれば、単独で瞬きしたり、瞬きしながらクチパクしたりできる!

でも、問題が発生しました。顔をパーツで分割すると、パーツの境界線が見えてしまうのです。NEA ちゃんはそんな境界線見えてないのに、、、

分割したオブジェクトの境界線を消す - WELD EDGE NORMALS

境界線が見えてしまうのは、分割後、重なっている頂点の「法線の向き」が違うからです。


この法線の向きを均一に保ってくれる機能は Blender にはありませんが、あのツールにオプションとして実装されていたのです、、、そう Avastar です。それが Weld Edge Normals オプションです。

英語ですが、なぜ線がでるのか、どうやって直すのか、というのを Avastar の開発者の Gaia さんが YouTube で解説しています。



この分割線対応は「ばけもの屋」のこんじょさんも工夫して対応しています。
こんじょさんはある理由から Avastar を使うことができずに、独自で目立たなくする方法を見つけて、ブログで公開されています。

http://conjoh.blogspot.jp/2013/10/wyvern-5.html

あと、Nea ちゃんが発売されてすぐ購入して、Neaちゃんでビデオ作った関係で、その後スノラビのうさぎちゃんとお友達になったのですが、うさぎちゃんが使っているツールは Maya で、Maya にはこの法線を均一にする機能が最初からあるそうです。なので、Maya ユーザーは普通に消しているとのこと(泣



そして、もう一つ重要だったのは頂点をうまく選択し、分割すると Shape Key が有効のままオブジェクトを分割できることでした。

Shape Key 有効のままオブジェクト分割

これは試行錯誤するしかないのですが、分割するための頂点の選択に失敗すると Shape Key によるモーフでオブジェクトがぐちゃぐちゃになります。

Shape Key を有効にしたまま分割するための方法は私の経験上、分割するエリアの「材質名を変える」、そして「材質名で分割する」で分割する方法が良いようです。(それでもたまにぐちゃくちゃになる場合があります。その時は試行錯誤します。)

Shape Key を有効にしたままで目元や口元、眉といった「モーフで形状変化するパーツ」のベースとなるオブジェクトを作成して、そのオブジェクトから表情パーツを作成していきます。

この時「パラパラ漫画」の手法をとります。まばたきを表現するのであれば、まぶたを閉じるまでの中間の形状を入れます。口パクの場合は、「あ」「い」「う」「え」「お」などをそれぞれ別形状として保存します。この時、それぞれのオブジェクトの「材質名」はすべて連番などをつけて違う名前にします。最終的には1オブジェクトに統合するためです。

1つのオブジェクトに統合する際、そのオブジェクトは最大8つの材質(面)を持つことができます。顔は結果的に2つ以上の分割されたオブジェクトから構成されますが、そのままセカンドライフにアップすると、セカンドライフでは「リンク オブジェクト」とみなされます。セカンドライフ内のリンク解除で再度わけることが可能です。


アップしたオブジェクトにスクリプトを組み込むことで、パラパラ漫画による「疑似モーフ」を実装することができます。このお話はすでに以下のブログでご紹介しています。

まばたきを実装せよ
http://snumaw.blogspot.jp/2014/09/blog-post.html

モーフ/Shape Keyではありませんが、手の形状変化も同じ方法でそれぞれの形状変化後のパーツをつくり、1つのオブジェクトにまとめて、スクリプトで変化させます。

オブジェクトがちらつく

最後に、この透明・不透明切り替えのスクリプトをいれるパーツでセカンドライフへのアップロードの際のオプションで「ジョイント」を入れると、セカンドライフ内で変な挙動(ちらつきのような動き)を起こすことがあります。ジョイントは関節(ボーン)の位置を修正したパーツでは必須ですが、そうでなければジョイントを入れる必要はありません。ジョイントを入れないことでちらつきを防ぐことができました。


以上、セカンドライフ技術系 Advent Calender 2014 12/15 分でした。
みなさま、良いお年を~

2014年12月14日日曜日

MMD と SL ~ メッシュ編

この投稿は セカンドライフ技術系 Advent Calender 2014 の 12月14日向けのものになります。

正直、技術的な話題という意味ではあまりに広く、深いテーマなので何をどう書いたらいいか悩むところではありますが、MMD (MikuMikuDance) のモデルさんをセカンドライフのフルメッシュアバターとしてインポートしようとした時に、「簡単にできる」ことと「頑張ればなんとかできる」ことと「ムリです、それ」なことにわけて書いてみようかと思います。

MMD モデルとは

MikuMikuDance には標準でボカロファミリーのいくつかのモデルがついてきますが、それ以外にもユーザー作成モデルが多く公開されています。

ユーザー作成モデル 紹介サイト「みさきる!」様
http://blog.psocafe.com/

モデルは PMD もしくは PMX データと呼ばれるものですが、一般にはメタセコイアMayaBlender といった 3DCG ツールでメッシュによる造形や表情付けのモーフ設定を行います。骨格・関節に相当するボーン入れやボーンとメッシュを関連付けるウェイト付けなどもこれらのツールで行いますが、リグ用(ウェイト付け)のアドインなども存在しています。

ゼロからモデルを作るには上述のツールで作りますが、ちょっとした修正などは PMD/PMX 専用エディターの PMX Editor を使うことができます。また、MMD向けの最適化(スカートなどの調整、材質名の修正や統合、モデルとして不正な頂点の確認と削除など)を PMX Editor で行うことができます。



MMD の動画を見ていると、髪の毛やスカードの動きがとても自然に感じると思います。セカンドライフ ユーザーの観点からすれば、フレキシなプリムの動きをしながらも、そのプリムが体に貫通しないような動きです。MMD モデルではスカートや髪の毛にも「ボーン」を入れて、かつ「剛体」と呼ぶ透明な「重り」をボーンに関連付けることができます。この剛体は他の剛体と衝突判定をすることができるので、剛体同志がぶつかって貫通しなくなったり、重りの調整をすることでふわふわな感じを表現することができます。また、剛体をつなげる「ジョイント」というバネのような蝶番があって、それを調整することで撓りや復元力をつけることができます。

また、これらボーン・剛体・ジョイント・ウェイト付けの調整を自動化する PMX Editor 用のプラグインもあります。


セカンドライフの Rigged Mesh のスカートは腰、足、膝にウェイト付け(腰や足や膝の動きに追随)されていますが、MMD のスカートはスカートの入れたボーンに追随します。これがふわふわする理由です。

セカンドライフ アバター モデルとの違い

セカンドライフ メッシュアバター モデルとの違いはざっくり言うと以下です。
  • 骨格が違う。特に「手・指」の骨格はセカンドライフのモデルにはありません
  • スカートや髪のボーンがない
  • 剛体・ジョイントによる重力設定がない
  • モーフで実装されている瞬きや口の動き、眉の動きがない
メッシュデータ(およびテクスチャ)そのものはほとんどの場合そのままインポートできます。ただし、頂点に含まれているモーフ情報(Blender では ShapeKey 情報)はセカンドライフ モデルの Collada では反映されません。モーフ、ShapeKey については明日の投稿で取り上げるのでここでは割愛します。

たとえば、リグしていない(アバターとして動かない)、お人形モデルを作るのであれば、上記の違いを意識し解決する必要はほとんどありません。

上記でご紹介した PMX Editor の使い方を覚えれば(ただし、PMX Editor も奥が深いのでこれを覚えるだけでも相当時間がかかります)、ポーズをとって、スカートなどが物理演算された状態で固定することができます。それを Blender に取り込んで、オブジェクト(プリムに相当)の材質数(面の数に相当)を調整すればいいのです。(オブジェクトと材質については、モデルの違いというよりは、セカンドライフのメッシュオブジェクトの制限(1オブジェクト8材質)です)
ただ、その調整は Blender の使い方、特にオブジェクト統合・分割、材質統合・分割、テクスチャ貼り付け、などを知っている必要はあります。(この Blender の使い方を覚えるのも、それほど平坦な道ではありませんけど。。。)

スカートの物理演算が適用されポーズをとった状態(ダンス途中で停止状態)
上記とポーズ違いですが同じモデルを SL に上げた場合
MMD モデルをセカンドライフ Rigged アバターにする工程

ざっくりと以下の工程をふんで MMD モデルをアバターとしてインポートすることが可能です。

1) 改造可能、再配布可能などのモデル使用条件に注意してモデルを選ぶ
  • これを無視すると「SLユーザーって酷いよね」と言われるので、本当に気を付けてください)
2) PMX Editor でモデルの特徴を観察する
  • チュートリアルのようなものが作れないのは、モデルごとに特徴が違うからです。
  • そのモデルの特徴をみて毎回調整方法を変えています
  • 材質数、特殊ボーンの有無、モーフの数、隠れオブジェクトの有無、物理演算などなど
  • もう、これは経験でカバーするしかありません><
3) PMX Editor で調整するものは調整して、mmd_tools で Blender に取り込む
  • PMX Editor の調整は材質統合や、不必要オブジェクトの削除など
  • mmd_tools は Blender でモデルを修正するためのインポート/エクスポートツールです
  • セカンドライフのことは考えていません。あくまで MMD-Blender のためのアドオンです。
4) Avastar を使って、セカンドライフ用に MMD モデルの修正を繰り返す
  • 1オブジェクト8材質に収まるように、MMD モデルを分割する
  • 法線の向きをそろえる(難しい話なので割愛します。他の私の投稿などを参照してください)
  • なお、Avastar は必須ではありませんが、私はこの便利アドオンで相当効率化していますので、使わない場合についての知識はほとんどありません~アドバイスもできません><
5) モーフに対応するオブジェクトを用意して材質名を変えて統合する
6) MMD モデルのボーンに合わせて、セカンドライフのボーンを修正
  • こちら参照。http://snumaw.blogspot.jp/2013/09/secondlife.html 
  • MMD モデルは腰の位置が高く、膝下が長い「アニメ体型」なので、セカンドライフのシェイプをシェイプスライダーを使って調整する範疇を超えている場合がほとんどです。よって、特殊なボーン(関節の位置)を持つ Joint 入り Rigged メッシュとして上げる必要があるのです
  • 最近の MMD モデルは上半身2ボーンという準標準ボーンが入っていますが、もし入っていない場合は、セカンドライフ ボーンの chest に対応するボーンがありません。上半身2ボーンがなくてもインポートできますが、ダンスモーションで上半身2ボーン前提のものが少なくありません。また、セカンドライフで販売されているモーションは chest 前提ですから、上半身2ボーンと chest を関連付けたほうがより自然なダンスになります。
    上半身2ボーンがない場合は PMX Editor とアドオンで MMD モデルに上半身2ボーンを追加することができます。ウェイトも自動調整されます。

    そぼろさん作成の準標準ボーン追加プラグイン
7) セカンドライフへアップロード
  • モーフ対応(透明・不透明切り替え)の箇所は Joint なしで(理由は明日)
  • モーフ対応なしは Joint 付きでアップロード
  • PNGやTGAなどの「アルファチャンネル(透過)サポート」の画像は描画順番がおかしく透けてしまうことが多いです。アップして確認してJPEG などに画像を変換し入れ替えることが多いです
  • アップしてはじめて「法線」が裏返っていて表裏逆になっていることに気づくことがあります。裏地を作るか、法線を逆転させるといった作業が発生するので、Blender で見た目に判断されずに法線の向きの確認をしたほうがいいです。

    Making liner - Normals Inside (英語ブログ) 
8) モーフ対応スクリプトを入れて、HUD を作成する

難易度分けしてみる

正直、、、簡単じゃないです。簡単じゃない理由は覚えることが多いからです。
  • PMX Editor と MMD モデルの特徴(SL関係なしにMMD モデルの改造とかして習得)
  • Blender の使い方 (未だお勉強中)
  • mmd_tools / Avastar といった Blender アドオン
  • 表情スクリプトと HUD 作成 (LSLの知識と実装)
とはいえ、できることとできないことをまとめてみると以下。

比較的簡単にできること
  • Blender への MMD モデルのインポート (mmd_tools のおかげです)
  • ボディのウェイト付け (Blenderの仕組みを理解することで、MMD モデルがもっている元々のウェイトを流用することができます。ただし、標準ボーン対応部分のみです。Blender の操作とMMDモデル構造の知識とSLのボーン構造の知識が必要ですが、覚えれば簡単。そして超時間短縮。)
頑張るところ
  • 1オブジェクト8材質制限にあわせて、MMD モデルを分割 (Blender の操作知識必要)
  • モーフ対応のために、対応するオブジェクトを作るところ (やり方さえわかれば簡単)
  • セカンドライフ向けにエクスポートで使うセカンドライフ標準ボーン関節の位置を変更すること(仕組みと作業を覚えたら比較的容易になります)
  • スカートのウェイト付け (100%手作業で貴方のオリジナルになります。よってウェイト職人的な作業の繰り返しとなります。)
  • LSL(スクリプト) モーフ対応するならスクリプト必須です。
それ無理、今は無理
  • モーフ実装 (モーフ対応で擬似的にモーフ「らしき」ものを実装)
  • 物理演算実装 (スカートなどは、もう、手作業で腰や足にウェイト付けするしかありません)

結局最後はモチベーションと気長にやることが肝要かも

ここまで読まれたら「めんどくさいなぁ~」と思うでしょう。はい、その通りです。正直、かなり、めんどうな作業です。

私も途中挫折したり、MMD しか触らなかったり、Blender しか触らなかったり、LSL しか触らない、何もやりたくない、、、といった時間が数か月単位で繰り返してます。初めて MMD モデルのインポートして「コレジャナイ」状態から、Tda 式ミクのフルメッシュアバター+表情付きに至るまで2年かかりました><  LSL の知識はその前からあったとはいえ、それ含めると3年とか4年とかのスパンです、、、。

なので、いきなり Rigged フルメッシュ アバターを作るよりも、まずはお人形から作っていくことをお勧めします。そこで PMX Editor と MMD モデルの特徴を覚えて、Blender の基本操作を覚えて、 SL にアップしてみることです。その時、SL へのアップの設定次第でランドインパクトの数値が変わることもわかります。造形を崩さずに、どの程度調整すればランドインパクトを抑えることができるか、、、など、Rigged をやる前に体験すべきことがあると思います。

私の場合は、お人形はどんどん作っていって、モーフは無理~とあきらめていたんです。だから、Rigged によるアバターを作ることは、一度表情なしのものを作った後していませんでした。

でも、スノラビさんの Nea ちゃんみて感動して、もう一度、モーフ作り、、、というか、モーフらしきものをセカンドライフで作るモチベーションが出てきて、 お人形でまばたき、クチパクを実装しました。

そこから、購入してから1年くらい放置していた Avastar でボーン修正を覚えて、やっとフルメッシュアバターを作ることができました。

だって、ミクちゃんやグミちゃんで踊ると楽しいですからw

2014年12月13日土曜日

MMD と SL ~ モーション編

これは セカンドライフ技術系 Advent Calender 2014 の12月13日向けとして投稿するものです。

MikuMikuDance とセカンドライフを両方楽しんで遊ぼう「モーション編」です。
その関連の概要をご紹介するのが目的です。

ポーズとモーション

セカンドライフのモーション(アニメーション)って作成したことありますか?
ポーズや短いモーションなら QAvimator で作成したことがある人も多いと思います。基本的にはポーズもモーションも同じ仕組みです。ポーズは1フレーム(場合によっては数十フレームの最後の数フレーム)の無限繰り返しです。アニメーションはそれが30秒とか、最大60秒で繰り返しているものです。(ほとんどのセカンドライフのダンスアニメーションはループアニメーションです)

BVH ファイルとは

このセカンドライフのモーションはパソコンの編集ツールで BVH ファイルと呼ばれるものを作成して、それをインワールドにアップロードすることになります。セカンドライフでダンスモーションを販売しているところは、この BVH ファイルの作成に「モーションキャプチャー」を使って実際に人が踊っているダンスをデータ化し、セカンドライフにアップできるように変換・調整して作成されています。


BVHファイルはテキストファイルで「メモ帳」などのテキストエディターで内容を見ることができます。
ファイル構造そのものの詳細な説明は長くなるのでここでは省きますが、セカンドライフの標準ボーン(骨格、関節の位置など)の情報と、そのボーンが1フレームごとにどの位置・回転で移動するか、というデータの集まりになります。

MikuMikuDance のモーションファイル

一方、MikuMikuDance (MMD) はあにまさ式初音ミクモデルを踊らせるためだけに樋口M様が開発しました。その後、数年をかけてさまざまなアドオンや拡張があり、今では総合的な動画作成ツールとなっていますが、もともとは「ダンスモーション作成・編集ツール」だったのです。


そのため、MMD とモーション/ダンスのつながりは強く、数多くの MMD 用のモーションファイルが公開され、ダウンロードが可能になっています。

その公開されているモーションファイルの形式が VMD フォーマットと呼ばれています。

上述のようにもともとダンスアニメーションを作るためのツールだったので、MikuMikuDance にはダンスアニメーションを作りやすい仕組みが組み込まれています。セカンドライブの BVH ファイルにはない、モーション作成のための仕組みが数多くあります。

代表的なものとしては IK (Inverse Kinematics) と補間曲線です。簡単にいうと IK は足を動かしたいなら、足を動かしたいところに移動させると、ひざやふとももがそれに沿って動く、という仕組みです。(すごいざっくり) セカンドライフ用の QAvimator だとふとももを動かし、ひざを動かし、足の向きを、、という順になります。(Blender の Avastar は IK をサポートしています)

補間曲線は、人間の動きは「等速」ではなく、最初はゆっくり、だんだん速くなって、そして遅くなって、停止する、という速度の微妙な変化を「曲線」で表す手法です。この補間曲線の設定により、フレームごとに調整せずに、32秒から45秒の間はこの補間曲線で!という指定で済みます。ちなみにフレームは1秒間に30フレームとか、そういう単位です。13秒のあれば390フレームなので、ひとつひとつ調整しようとしたら気が遠くなりますよね。

このような情報を含んだ VMD ファイルですので、BVH ファイルの構造・フォーマットは全く違うのです。

VMD ファイルを BVH ファイルに変換する

それでも、セカンドライフとは関係のない世界で VMD ファイルを BVH ファイルに変換するツールが公開されます。BVH ファイルは「汎用的なモーションファイル」なので、他の 3DCG ツールでもインポートして利用できたからです。そのあたりは過去に私のブログでも紹介しているのでご参照ください。

mio を使った VMD->BVH 変換
http://snumaw.blogspot.jp/2012/03/windows7-64bit-mio-01-20123.html

難しいのは IK の計算です。BVH ファイルは汎用的であるため、IK によるデータを持ちえません。IK の仕組みで結果的に決定された各ボーンの位置や回転のそれぞれのフレームの「データ」が必要です。その計算を各ツールが実行しています。

また、私の知る限るでは VMD -> BVH 変換の際に補間曲線による速度の変化を実装しているものは知りません。補間曲線についてはサポートしていないものが多いと思います。

なお、セカンドライフの標準ボーンに合わせるために、MMDモデルの準標準ボーン「上半身2ボーン」の利用を勧めています。このあたりは次回の「メッシュ編」で触れることになります。

上半身2ボーンとchestボーンについて
http://snumaw.blogspot.jp/2012/09/chest.html

BVH ファイルをセカンドライフ用に調整する

ツールを使って VMD ファイルを BVH ファイルに変換して「やった!これでセカンドライフにアップロードできる」と一番最初の私も思いました(笑 でも、それだけじゃだめなんです。セカンドライフ用に調整してあげなければなりません。

その調整をしてくれるのが MMDBVHToSLBVH.EXE です。

やっていることはおおよそ以下です。
  • セカンドライフの標準ボーン情報に置き換える(関節名の変換など)
  • 回転などをセカンドライフ用にあわせる(右手、左手、、、とかいう話)
  • 30秒や60秒以上のモーションファイルを60秒以内の指定秒数に切り分ける
  • フレーム0に初期ポーズを入れる
元のアイディア、オリジナルソースは esetomo さん(SLでは いちご先生)が作成し、私が 60 秒対応とか、上半身2対応とかしたものが Git に上がっています。ちなみにプログラミング言語は C# ですが、私自身は得意ではありませんので、こんなの1から作れません(笑 本当に必要なところだけに手を加えた、という程度ですから。。。

このあたりの話は上記の「上半身2ボーンとchestボーンについて」のリンクとか、以下で過去にご紹介いたしました。

60秒対応したよ~
http://snumaw.blogspot.jp/2013/02/60.html

もしかしたらすごいかもしれない Blender + mmd_tools + Avastar Retarget

と、ここまでの話であれば、セカンドライフ ユーザーの方で結構やられている方もいらっしゃると思いますが、もうひとつご紹介したいツールがあるんです。

Blender と mmd_tools と Avastar の組み合わせです。

まず、以下の動画をご覧ください。


Avastar のセカンドライフ シェイプが踊っています。これは、mmd_tools を使って MMD のモデルとVMDモーションファイルをインポートして、まずは Blender の中で MMD モデルがダンスできるように設定します。その後で、Avastar を使って Avastar シェイプを追加して、MMDモデルとセカンドライフ シェイプの各関節のマッチングを指定して「Retarget」という機能を使ってダンスをさせたものなんです。


これ、、、VMD ファイルを直接 セカンドライフ用の BVH ファイルに変換できちゃうんです。

残念ながら、、、というか、変換したファイルはとても長いファイルなので、やはり MMDBVHToSLBVH.exe で細切れにする必要がありますが、Blender の中でアニメーションの修正ができるようですし(実はこのアニメーションの編集(NLA)方法をまだよく理解していないんです。。。)、もしかしたら、もしかする!と期待している方法です。

ただ、現在このエリアの興味が薄くなってきているので、、、まだ時間はかかると思いますが><

あと、私以外にもこのエリアでがんばっていらっしゃるユーザーさんがいます。


ツールのご紹介をいただいたのですが、私自身あまり試せていなくて申し訳ないです。

まだまだやれることいっぱいな MMD - SL モーション編でした。

[追記] 上記方法 Blender+mmd_tools+Avastar で変換したモーションでダンスした動画が以下になります~
http://youtu.be/Rkshfg-BfQE

2014年12月9日火曜日

わたしのセカンドライフの楽しみ方


この投稿は セカンドライフ 非技術系 Advent Calender 12月9日向けの投稿です。
今年のお題は「セカンドライフの魅力を語れ」だそうです。

サブカルのるつぼ

感覚的に私にとってのセカンドライフは「デジタル コミケ」なんです。
クリエーターとユーザーがごちゃまぜになって、作ったものを提供したり、買いに走り回ったり(会場内では走らないでくださーい)、コスプレ楽しんでる感じ。

思えば、2007年2月からセカンドライフやってます。まだ、日本語入力や表示が不自由な頃で、日本のメディアも、広告代理店もそれほど取り上げていなかったころ。そこからのセカンドライフ内での興味の移り変わりは、まぁ、、、節操がないというか(笑

・ ショッピング(とくに Skin、服飾、Hair)
・ プリムいぢり(早々に挫折 -> 玉しか作れないから珠姫と呼ばれる)
・ ソーシャル アクティビティ(要は、クラブの常連。ASUKAとか雷神とか)
・ ダンス(踊らされるだけ。でも楽しい)
・ イベント用の LSL スクリプト作成
ダンスコントロールスクリプト作成 (MLDU)
フォトグラフ(SLでフォトを撮ってはレタッチだの、被写界深度でボケの実装、WindLight設定など)
・ インワでの YouTube 視聴スクリプト作って、みんなで鑑賞会
・ 動画作成(動画編集ソフトなんて、これではじめて触ったわ。YouTubeへの投稿も。)
・ DJソフト、音楽配信(ほにゃららキャストとか、MIXXX とかトラクター(農作業じゃない)とか)
Poser(買ったけど、使いこなせるところまでいかず)
QAvimator(これはポーズ作成でよく使いました)
・ MikuMikuDance(直接セカンドライフとは関係ないけど、よくインワでお友達と Video みてた)
・ 見るだけじゃなくて MMD で動画も作り始める
・ ニコニコの動画で東方系にはまる、曲も聴くようになる。(算数教室Bad Apple のせい)
・ アニメなんか見てなかったのに「まどまぎ」とか「マクロスF」とか、新旧織り交ぜてみるようになった。。。(昔のものは YouTube で拾ってみてるので若干ストーリーがあやしい)
・ ボカロPの MitchieM の曲に衝撃が走る。なにこれすごい。
MikuMikuDance モーションをインポート(モーションファイルフォーマットを覚えました)
・ ダンスマスター目指している人に MLDU の講習会(G+ソーシャル活用系)
Blender で Mesh いぢり(MikuMikuDance モデルのおかげ)
・ Blenderで MMD モデルをインワにエクスポート(単なる、動かないお人形レベル)
・ ちょっと「艦これ」もおもしろいんじゃない?
・ Blender で MMD モデルを Rigged Mesh にしてアバター化(スクリプトの知識が花開く)

あらためて振り返ると、どの要素もいわゆる「サブカルチャー」なんですよね。そこに IT/デジタル技術的な要素が入ってくるのですが、基本はサブカル。なので「儲かりません」。ここが昔の悲劇の、ボタンの掛け違いなんですけどね。

だって、ミクになれるんだもん

たぶん、サンフランシスコのリンデンはわかってないかもしれないと思うのですが、Rigged Mesh サポートをした時点で、その手の 3DCG コンテンツがある日本(のユーザー、クリエータ)にとっては、本当にすごい変革?進化だったと思うんです。3DCGデータが無料で、すごいクオリティのものが手に入るのは「日本だけ」なんですよ。ええ、MikuMikuDance 関連ですけど。でも、この事実は本当に異色で世界中から「日本おかしいよ」と言われています。

また、MikuMikuDance の有志が MikuMikuOnline を作ってます。たぶん、セカンドライフと技術的に同じ課題を持ちながら進化していきそうだと思うのですが、セカンドライフでもそこそこやれるのよ、って、ご存じない人が多いのかもしれません。もちろん、MMDのデータをそのまま使おうとする MMO のコンセプトと、Collada 形式に変換しなきゃいけない手間がかかるセカンドライフの Rigged Mesh サポートとは方向性が違うので仕方ありませんが、「一人で楽しんで、動画で他の人と共有」する MikuMikuDance が「複数人同時参加でリアルタイムに経験共有」のセカンドライフのような形になるには、インフラとしての仕組み(マーケットプレースや、コピー、譲渡などの権限設定、SIM管理など)が必要で、Linden は時間をかけてそこを整備してきた、と言えるでしょう。


気を付けたいのは、セカンドライフで MMD のデータをお借りするにしても、クリエーターさんが善意で、無償で公開しているわけです。もちろん、モデルの(再)利用規約があります。版権を持っている会社(クリプトンなど)の規定や、クリエーターさんの意思を尊重することが、このようなサブカルの世界では大切だと感じています。

そして、一般に言われるバタくさい、北米ミクさんみたいなアバターじゃなくて(北米さん、ごめんなさい。でもインワで似たようなアバターよくいるんですよ、、)、Kawaii アバターを Rigged Mesh の世界は提供してくれるわけです。GUMI ちゃんもまさにそれでした。


Rigged Mesh によるアバターは「着ぐるみ」のようなものですが、気分的には完全にコスプレです。
Mesh サポートはフルメッシュ アバターだけじゃなくて、衣装製作に対しても柔軟性を提供してくれたので、マクロスFのシェリルになりたい人も絶賛増殖中ですよね。(私含む)

衣装:YB TOPSTAR

つまり、サブカルだから人を選ぶ

だって、サブカルなんだもん(笑
セカンドライフそのものがコンテンツではなくて、どこかにコンテンツが存在して、その派生コンテンツを共有するための「場」だと思うのです。(だから、コミケ。もちろんオリジナル コンテンツでもいいのよ、的なものですが。)

そして、そのコンテンツが「サブカルチャー」のようなものであれば、派生コンテンツや場合によっては権利侵害の要素を含んでいるコンテンツも「黙認」される。ただ、そのコンテンツがメジャーになったら当局の規制だったり、権利者からの削除要請が入る、という図式だと感じています。

そして、それ故に「万人のためのものではない」かもしれません。

ただ、初音ミクやボカロのコンテンツはセカンドライフとの親和性が高いと思います。派生コンテンツに対する権利関係の整備にいち早く対応していますし、音楽、Mesh モデル、モーションデータといった「デジタル コンテンツ」であるため利用・再利用・派生をつくりやすいと言えます。ボカロからセカンドライフに興味を持たれる方も増えてくるかもしれません。ミクちゃんのコスプレして、クラブにいって DJ さんによるボカロ REMIX 聴きながら、ダンスを踊る、他の人とチャットする、という楽しみ方です。セカンドライフは手段であって、興味はボカロが中心。それでいいと思います。

今後、このような「派生コンテンツの拡散」を前提としたコンテンツが出てくれば、セカンドライフでの利用コンテンツとなって、コンテンツを共有して同じ趣味の人と交流ができるデジタルでソーシャルな場になる可能性をセカンドライフはまだ持っていると思っています。そこが魅力だと思っています。