2015年12月12日土曜日
Advend カレンダ、、曜日間違ってた~(Blender でカスタム法線)
土曜日だと思っていたら、金曜日(昨日)だったのね、Blender 2.76、、、
ということで、慌てて登録してごめんなさい、の回です。。。
実は、、、記事にしたかったのは、まだ、検証中なの(泣
過去にこの記事投稿しているんです。このブログで。
http://snumaw.blogspot.jp/2015/06/6.html
この中で、Blender 2.74 でカスタム法線(Custom Normals)のサポートが実装されました、これって、今まで Avastar でしかできなかったんですよね、Gaia さんが紹介しています、って内容です。
その Gaia さんが YouTube に投稿してくれたビデオがこちら。
https://youtu.be/LhQUhPH9VbU
それで、私自身、Avastar ばかり使っていたものですから、この Blender 2.74 のカスタム法線の検証ってしてなかったんですよね。そこで今回やってみよう、と思ったら、、、ん?これ、Blender の標準機能じゃない!
よくよくビデオのナレーションを聞くと、これ、Gaia さんが提供している Blender アドオンの Sparkles の機能じゃないですかw(YouTube にもその旨書いてあるし)
http://blog.machinimatrix.org/sparkles/
でも、Blender 2.74 のリリースでは Custom Normals の機能強化がトピックとしてあがっていました。
http://wiki.blender.org/index.php/Dev:JA/Ref/Release_Notes/2.74/Modeling
なお、最新の 2.76 でも、、、
http://wiki.blender.org/index.php/Dev:JA/Ref/Release_Notes/2.76
Displace モディファイアがカスタム法線に対応、、、ってあったりします。
で、、、
やりたかったことは、Avastar で可能なオブジェクト分割した時の分割線にある頂点法線の向きを一緒にしたい、ってことです。
これは、Avastar では Weld Edge Normals オプションで実現可能な、頂点法線の編集です。
たぶん、法線のコピーをすることで、法線の向きをそろえることができそうなのですが、、、
Blender2.74のカスタム法線をいろいろ試している結果投稿の素晴らしいブログ
http://ch.nicovideo.jp/Arasen/blomaga/ar751632
たぶん、このような手順を Python で一気にやるのが Avastar だったり、Sparkles だったりするのでしょうね、、、(ちなみに Maya は標準で、あまり気にせず調整可能とのことです)
と、、、本当に間に合わなくて、ごめんなさい><
2014年12月14日日曜日
MMD と SL ~ メッシュ編
正直、技術的な話題という意味ではあまりに広く、深いテーマなので何をどう書いたらいいか悩むところではありますが、MMD (MikuMikuDance) のモデルさんをセカンドライフのフルメッシュアバターとしてインポートしようとした時に、「簡単にできる」ことと「頑張ればなんとかできる」ことと「ムリです、それ」なことにわけて書いてみようかと思います。
MMD モデルとは
MikuMikuDance には標準でボカロファミリーのいくつかのモデルがついてきますが、それ以外にもユーザー作成モデルが多く公開されています。
ユーザー作成モデル 紹介サイト「みさきる!」様
http://blog.psocafe.com/
モデルは PMD もしくは PMX データと呼ばれるものですが、一般にはメタセコイア、Maya、Blender といった 3DCG ツールでメッシュによる造形や表情付けのモーフ設定を行います。骨格・関節に相当するボーン入れやボーンとメッシュを関連付けるウェイト付けなどもこれらのツールで行いますが、リグ用(ウェイト付け)のアドインなども存在しています。
ゼロからモデルを作るには上述のツールで作りますが、ちょっとした修正などは PMD/PMX 専用エディターの PMX Editor を使うことができます。また、MMD向けの最適化(スカートなどの調整、材質名の修正や統合、モデルとして不正な頂点の確認と削除など)を PMX Editor で行うことができます。
MMD の動画を見ていると、髪の毛やスカードの動きがとても自然に感じると思います。セカンドライフ ユーザーの観点からすれば、フレキシなプリムの動きをしながらも、そのプリムが体に貫通しないような動きです。MMD モデルではスカートや髪の毛にも「ボーン」を入れて、かつ「剛体」と呼ぶ透明な「重り」をボーンに関連付けることができます。この剛体は他の剛体と衝突判定をすることができるので、剛体同志がぶつかって貫通しなくなったり、重りの調整をすることでふわふわな感じを表現することができます。また、剛体をつなげる「ジョイント」というバネのような蝶番があって、それを調整することで撓りや復元力をつけることができます。
また、これらボーン・剛体・ジョイント・ウェイト付けの調整を自動化する PMX Editor 用のプラグインもあります。
セカンドライフの Rigged Mesh のスカートは腰、足、膝にウェイト付け(腰や足や膝の動きに追随)されていますが、MMD のスカートはスカートの入れたボーンに追随します。これがふわふわする理由です。
セカンドライフ アバター モデルとの違い
セカンドライフ メッシュアバター モデルとの違いはざっくり言うと以下です。
- 骨格が違う。特に「手・指」の骨格はセカンドライフのモデルにはありません
- スカートや髪のボーンがない
- 剛体・ジョイントによる重力設定がない
- モーフで実装されている瞬きや口の動き、眉の動きがない
たとえば、リグしていない(アバターとして動かない)、お人形モデルを作るのであれば、上記の違いを意識し解決する必要はほとんどありません。
上記でご紹介した PMX Editor の使い方を覚えれば(ただし、PMX Editor も奥が深いのでこれを覚えるだけでも相当時間がかかります)、ポーズをとって、スカートなどが物理演算された状態で固定することができます。それを Blender に取り込んで、オブジェクト(プリムに相当)の材質数(面の数に相当)を調整すればいいのです。(オブジェクトと材質については、モデルの違いというよりは、セカンドライフのメッシュオブジェクトの制限(1オブジェクト8材質)です)
ただ、その調整は Blender の使い方、特にオブジェクト統合・分割、材質統合・分割、テクスチャ貼り付け、などを知っている必要はあります。(この Blender の使い方を覚えるのも、それほど平坦な道ではありませんけど。。。)
![]() |
| スカートの物理演算が適用されポーズをとった状態(ダンス途中で停止状態) |
![]() |
| 上記とポーズ違いですが同じモデルを SL に上げた場合 |
- これを無視すると「SLユーザーって酷いよね」と言われるので、本当に気を付けてください)
- チュートリアルのようなものが作れないのは、モデルごとに特徴が違うからです。
- そのモデルの特徴をみて毎回調整方法を変えています
- 材質数、特殊ボーンの有無、モーフの数、隠れオブジェクトの有無、物理演算などなど
- もう、これは経験でカバーするしかありません><
- PMX Editor の調整は材質統合や、不必要オブジェクトの削除など
- mmd_tools は Blender でモデルを修正するためのインポート/エクスポートツールです
- セカンドライフのことは考えていません。あくまで MMD-Blender のためのアドオンです。
- 1オブジェクト8材質に収まるように、MMD モデルを分割する
- 法線の向きをそろえる(難しい話なので割愛します。他の私の投稿などを参照してください)
- なお、Avastar は必須ではありませんが、私はこの便利アドオンで相当効率化していますので、使わない場合についての知識はほとんどありません~アドバイスもできません><
- こちら参照。http://snumaw.blogspot.jp/2013/09/secondlife.html
- MMD モデルは腰の位置が高く、膝下が長い「アニメ体型」なので、セカンドライフのシェイプをシェイプスライダーを使って調整する範疇を超えている場合がほとんどです。よって、特殊なボーン(関節の位置)を持つ Joint 入り Rigged メッシュとして上げる必要があるのです
- 最近の MMD モデルは上半身2ボーンという準標準ボーンが入っていますが、もし入っていない場合は、セカンドライフ ボーンの chest に対応するボーンがありません。上半身2ボーンがなくてもインポートできますが、ダンスモーションで上半身2ボーン前提のものが少なくありません。また、セカンドライフで販売されているモーションは chest 前提ですから、上半身2ボーンと chest を関連付けたほうがより自然なダンスになります。
上半身2ボーンがない場合は PMX Editor とアドオンで MMD モデルに上半身2ボーンを追加することができます。ウェイトも自動調整されます。
そぼろさん作成の準標準ボーン追加プラグイン
- モーフ対応(透明・不透明切り替え)の箇所は Joint なしで(理由は明日)
- モーフ対応なしは Joint 付きでアップロード
- PNGやTGAなどの「アルファチャンネル(透過)サポート」の画像は描画順番がおかしく透けてしまうことが多いです。アップして確認してJPEG などに画像を変換し入れ替えることが多いです
- アップしてはじめて「法線」が裏返っていて表裏逆になっていることに気づくことがあります。裏地を作るか、法線を逆転させるといった作業が発生するので、Blender で見た目に判断されずに法線の向きの確認をしたほうがいいです。
Making liner - Normals Inside (英語ブログ)
- こちら参照。 http://snumaw.blogspot.jp/2014/09/blog-post.html
- モーフについては明日概要説明します~
難易度分けしてみる
正直、、、簡単じゃないです。簡単じゃない理由は覚えることが多いからです。
- 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 ~ モーション編
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に初期ポーズを入れる
このあたりの話は上記の「上半身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年3月11日火曜日
Avastar を使ってみる(5)
前回ご紹介したビデオ(Avastar Weighting Tools) の続きは Avastar: –7- Unwrap & Texture になります。なお、以下での要約は前回に引き続きある程度 Blender の操作を知っていることを前提としています。
このビデオは Avastar というよりは Blender の標準機能による Unwrap & Texture 編集解説なんですが、1:35~ からの BGM が、、、、(笑 どういうことなんでしょう?www
で、正直後半の方はとてもめんどくさいです。ただ、標準機能でこのドレスに貼り付けたテクスチャの「つなぎ」の部分をシームレスに調整する方法と Generated と UV の考え方は参考になると思います。ざっくりと説明すると以下です。
0:45~ で Avastar Armature を Shortcut M で別レイヤーに移動してます。Alt+H で非表示のオブジェクトを表示して同様に別レイヤーに移動しています。細かい作業をするにはこのレイヤー管理は非常に有効ですよね。
ちなみにビデオ内の 3Dビューポート ウィンドウ 左下には操作したキーやボタンが表示されているので、英語聞き取れない人でもそこから想像してみてくださいね。Screencast Keys というアドオンで標準でついているものです。
1:15~ ではマテリアル エディターを使ってドレスの色を変えてます。正確にはドレスに割り当てた材質の Diffuse の色と Specular の色なんですが、その説明になると光源がーとか、反射がーとかになるで、色を変えたい場合は Diffuse をいぢり、反射やテカリを変えたい場合は Specular をいぢる、と覚えておきます。気になる人は Diffuse/Specular/Ambient とか拡散色/反射色/環境色 とかで gg ってください。
2:23~ から UVマップとはなにか、を解説しています。UV マップって展開図みたいなものです。展開図の上に白い服地をおいてその上から塗り塗りした、その白い布が「テクスチャ」になるんですよね。なので UV マップを着ることはできず、テクスチャを新たに用意しなければなりません。
3:14~ では単純に、何もしないでメッシュから UV マップを作った例。(普通これは使いません)ここは、UV マップのウィンドウと 3Dビューポートが連動してますよ、というのがポイントですね。
4:30~ で、背中側にシーム(キレ目)を入れて UV マップを作る方法です。
5:50~ で上で使ったシームを解除して、左右にシームをいれて Unwrap し直します。これで、前と後ろの2枚の UV マップを作っています。扱いやすい展開図を作った、という感じですね。
7:00~ では Solid モードで簡単にテクスチャを貼り付ける方法を紹介しています。でも、Solid モードだけじゃなくて Texture モードでもみたい、だから、テクスチャ プロパティでテクスチャを追加しています。
8:50~ で、問題としているのは、サンプルとして使った Magic テクスチャ(というテクスチャのタイプ)が GLSL レンダリングのテクスチャモードで表示されない、、、というものです。通常 テクスチャプロパティの Type で選ぶのは [Image or Movie] ですが、これ以降は Magic テクスチャを GLSL のテクスチャモードで表示するためにいろいろなことをやります。。。。ので、割愛w 参考にはなるのは 10:25 以降の張り合わせです。
Magic テクスチャとかなんとか
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Render/Cycles/Nodes/Textures
10:25~ 簡単にいうとテクスチャ自体は繰り返し模様でつながるので Mapping の Coordinate を UV から Generated に変えて bake しなおす、という作業です。当たりまえですが、元のテクスチャが両端でつながっていないとだめです。
と、、、まさにすべて Blender の標準機能でしたが、UV Map に関しては以下のビデオもいくつかのインスピレーションを与えてくれます。
UV マップ上の頂点は、Mesh の Edit モード同様に移動できます。テクスチャとなる画像に合わせて UV マップの頂点を移動させる、、、、という荒業(?)ですねw
かがみんがなんかこのブログを紹介しちゃったものだからがんばって(5)を作りましたよ。(笑
次の Gaia さんのビデオは Rigging a Horse になります。Avastar の Armature はセカンドライフの人型標準ボーンですが、たとえば馬のようなアバターをつくりたい、私の場合は MMD のモデル体型をそのまま維持したい(ひざ下が長くシェイプスライダーでは調整不可能なバランスとか)といった場合は Armature を修正する必要があります。その方法になります。
正直、ビデオ長いです(><
お楽しみに~♪ 少しでも参考になれば幸いです。
2014年3月7日金曜日
Avastar を使ってみる(4)
前回は Blender のウェイトツールの説明がほとんどの Gaia さんのビデオでしたが、今回は Avastar のウェイト ツールについての解説ビデオになります。前回同様細かい手順までは書き起こしていません。そのため、Blender の操作を知っていないとちょっと厳しいと思いますが、ビデオを見ながら見よう見まねしてみてもそこそこ動くと思います。それでも Blender の基本操作(オブジェクト選択の仕方とか)は別途調べて事前に勉強しないときびしいでしょう。
Avastar のウェイトツール
ブーツのメッシュを使って Avastar のウェイトツールの解説です。
Preparations (準備)
一番最初(0:36~ )に、もしミラー モディファイアを使っているようなら適用しなさい、としています。モディファイアが有効な状態ではうまくいかないためのようです。
それから(1:24~) Pose モードで Avatar のシェイプ(足首)を動かしてブーツ形状に Avastar アバターMesh を合わせています。
Parenting (ペアレンティング)
1:44 からメッシュのブーツと Avastar の Armature とのペアレンティングになりますが、実は、Avastar はリリースがあがると新機能追加、UI 変更も多くて、最新の Avastar 1.1 とビデオ内のものとでは若干パネルが違います。
たとえば、ビデオ内でツールシェルフ(左サイドバー)の [Custom Mesh] にある [Rigging] パネルは、1.1 では [Skinning] パネルという名前になり、その項目も図のようになっています。
([Weight] が [Empty] の場合。[Meshes] にすると表示項目が変わります。)
[Skinning] パネルには [Weight] 方法のドロップダウンリストと、選択された [Weight] 方法のオプションが下に表示されます。[Empty] を選ぶと [Shape Sliders] と [Alter to Rest Pose]が表示され、[Meshes] を選ぶと [Clear weight]、[Selected verts]、[Interpolates]、[Shape Sliders]、[Alter to Rest Post] が表示されます。いずれの場合も最後には [Parent to Armature] ボタンがあります。
たぶん、、、ですが、この新しい Avastar の Skinning セクションでは今まで Avastar のペアレンティングではできなかったウェイト方法の選択が追加されたようです。いえ、おおげさなことじゃなくて、(Avastar Mesh からの) ウェイトをコピーする・しないの2択(チェックボックス)から、リストから選択する形式で Ctrl+P の Blender の標準ペアレンティング時のウェイト付けの選択オプションが Avastar の ウェイト付け方法として追加された、と考えて良さそうです。Ctrl+P の Armature Deform の With Empty Groups のオプションです。それにより Avastar のペアレンティングでは Meshes, Bones, Empty, Keep の4つのオプションがウェイト付けの方法として選択できるようになっています。
ビデオで紹介している Avastar のアバター Mesh からウェイトをコピーするためには、[Weight] で [Meshes] を選択することになります。(たぶん)
ですので私は以下のオプションでビデオの流れにそって検証してみますね。
ペアレンティングすると以下のようになります。ビデオと比較すると [Detach Armature](ビデオは [Detach from Armature(1)] などがあり、他は Fitted Mesh 関連であることがわかります。そんなものだと思ってビデオを進めていきますね。
Weighting/Weight Painting/Rig Presets (ウェイト付け・修正・リグ プリセット)
4:08~からは Mesh Weighting の修正(改善)の方法を紹介しています。上のペアレンティングの作業で自動的にセカンドライフ用の Vertex Group がブーツに追加されたよ、Vertex Group にウェイト情報が入っているよ、と言っています。
4:53~ からウェイトペインティングの作業の紹介です。
ここで前回紹介した「緑」のボーンだとウェイトマップが見えないね、と言う話です。緑はアニメーション Armature だから、、、というものでしたね。[Show Bones] セクションにウェイト用のプリセットがあるからそれを選んでね、という作業をしています。ここも若干パネルの情報が変わっています。1.1 だと以下になります。ビデオでは [Preset: Weight] を選択していますが、1.1 の場合は [Skin] ボタンになります。
ちなみに、このビデオの中では詳しい説明を割愛していますが、ビデオ内で表示されている Armature Layer ボタンは、[Skin] の横の丸十マークで表示・非表示が可能です。
6:55~ では [X-Ray] でボーンが透けて見えるようになる、ボーンの形状を変更できると言っています。ビデオのバージョンでは [Bone Settings] パネルでその操作をしていますが、1.1 では [Show Bones] パネルに統合されているので注意してください。
7:48~ では、ウェイトペインティングの調整が終わったら、かならずアニメーションプリセットに戻してください、と言っています。
8:55~ では両方のブーツのウェイトマップが違う、、、それは Avastar のせいじゃないよ、と言っています。とても不思議なんだけど、セカンドライフ アバターが最初から「違う」んだよ、と説明しています。
Mirror from opposite Bones ツール
そこでミラー機能で両方のウェイト付けを同じものにしてしまうやり方を紹介しています。
9:10~ からの Mirror Weight です。ここもパネル名称等々が 1.1 では以下のように変更されています。ビデオでは [Weight Copy tools] ですが、1.1 では [Weight Tools] になっています。
9:50~ くらいでは、この [Mirror from opposite Bones] を使う場合はオブジェクトが X 軸で対称になっていないとだめだと、と言っています。ミラー モディファイアを使って X 軸で左右対称な Mesh を作ってね、とアドバイスしていますね。当たり前ですが、私も最初はなんとかうまくやってくれるかな、と期待したこともありました(><
Remove Weights ツール
10:25~ は [Remove Weights] ツールの説明です。Vertex Group を削除してウェイト付けを無くすることもできますが、このツールは Vertex Group を残したままウェイトのみを削除します。ビデオでは Shift+RMB(マウス右ボタン)でボーンを複数選択して [Remove Weights] を使ってウェイトを消しています。右側のオブジェクト プロパティの Vertex Group から mAnkleLeft などの Vertex Group が消えてないことに注目してください。
Copy from Rigged ツール
11:00~ では別のコピーツールである [Copy from Rigged] の説明です。
ペアレンティングするときにアバター メッシュからコピーをしましたが、それを再度やる、と考えていいと思います。すでにペアレンティング(Rigged されている)Avastar の Armature のメッシュからコピーしなおす、という感じです。そのため、ウェイトを持っている Avastar のメッシュは表示しないといけませんよ、と言っています。
Selected Active Bone ツールと Fitted Mesh オプション
13:20~ では [Selected Active Bone] ツールの説明です。これは Fitted Mesh が実装される前から行われていた Deformer 対応のメッシュを作るための Collision Bone とのウェイティング方法なんですが、Fitted Mesh だといらないんじゃないかな、、、と思って以前ご紹介した Fitted Mesh の対応をブーツ(片側のみ)で試してみました。すると SL ボーン(青のボーン)ではウェイト表示されず、Collision Bone(図ではひし形マーク) だけウェイトが表示されるという、このビデオの Selected Active Bone ツールを使ったものと同じ結果になりました。もちろん、Foot Size のシェイプスライダーでブーツのサイズが大きくなることも確認しました。
手順としては Fitted Mesh 対応の方がはるかに簡単ですし、Fitted Mesh は標準ビューワーで実装されたこともあるので、今後は Fitted Mesh 対応を使うことになるでしょうね。
ということで、思いのほかビデオが長かったのと、Avastar 1.1 で結構変更されていたのと、Deformer と Fitted Mesh の違いみたいなものを紹介する長い投稿になってしまいました。。。
少しでもお役に立てば幸いです~
2014年3月6日木曜日
Avastar を使ってみる(3)
前回の「装着品を作る(Create an attachment)」では Mesh シリンダーからドレスを作っただけでウェイトコピーもしくは「リギング」の作業はしていませんでした。実は、前回のビデオを見ていると引き続いて「Rigging」のセクションに自動的に移ります。(Avastar:-5- Mesh Rigging)
リギングとは頂点・辺・面の集まりであるメッシュオブジェクトをボーン(Armature)に関連付けて、ボーンの動きに追随させるようにする作業を言います。特に重要な作業である「ウェイト付け」はスキニングと言われます。
Avastar のウェイトコピーを使う (Avastar: –5- Mesh Rigging)
シュリンクラップ モディファイアを使ってシリンダーをドレスの形状にしたところからの続きです。
1:20 くらいのところで、Blender 自体がボーンから頂点へのウェイト付けの機能を持っているけど、Avastar は別のオプションも持ってますよ、という説明になります。そのやり方をビデオで見せるよ、と言ってます。
2:40 くらいで Avastar は賢くてヘッドや手のウェイトをドレスにコピーすることはないよ、今回はスカートのウェイトをコピーすればいいから、その時はスカートを「表示」する必要がある、と言ってます。下半身は消す(非表示)必要がなくて、Avastar が判断するから大丈夫です。
ただ、ビデオでは必要なオブジェクトだけ表示して操作しています。
3:15 でツールシェルフの Rigging パネルの [with Weight Copy] のチェックをオンにして [Parent to Armature] ボタンを押しています。
これは Blender で言うところの Ctrl+P で Mesh と Armature をペアレンティングをして、かつ、スカートオブジェクトのウェイトをドレスにコピーしています。コピーは Transfer Weights 標準機能と同等ですね。
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modeling/Meshes/Vertex_Groups/Weight_Paint_Tools
Avastar の特徴として Armature 選択されている場合の形状がオレンジ色のシェイプの各部分を囲む「輪」のような形になっています。これは既定の「Custom Shapes」の形状で、4:00 くらいから実演する Mesh のウェイトの状況を確認するためにボーンの各部位を選択しやすいようにカスタマイズされているからです。
4:20~ くらいからアーマチャー モディファイアの説明をしています。ドレスのメッシュ オブジェクトは上の [Parent to Armature] ボタンで Avastar の Armature とペアレンティングされたのでアーマチャーモディファイアが適用されたことになります。なので、ドレスのメッシュ オブジェクトを選択してモディファイアを確認すると、アーマチャーモディファイアが1個あるわけです。
5:00 くらいで Vertex Group の説明をしています。さきの Parent to Armature によって、アーマチャーモディファイアが適用され、かつ、セカンドライフで使われる Vertex Group もドレスのメッシュに自動的に設定されています。ビデオでは Vertex Group についての深い理解の前にとりあえずちゃんと動くかチェックしましょう、と言ってます。
5:40 からポーズモードにしてボーンを動かしてドレスの変形具合をチェックしはじめます。
6:10 あたりから最初はあれれ?と思う部分ですが、ドレスをウェイトペイントモードにしてボーンの「輪」を選んでもウェイト情報が表示されません。Avastar は「アニメーションボーン(ポーズ用のボーン)」と「ウェイトボーン(最近の 1.1 では Skin という表記、またはセカンドライフボーンと言っています。)」が別々に存在しているからです。そのため、ツールシェルフのカスタムメッシュパネルで切り替えをする実演をしています。
なんかめんどくさいなー、と思うでしょうが、これは「カスタムボーンの作成(非人間型)」でとても大切になります。たぶん、今はあまり深く考えなくてもいいでしょう。メッシュのウェイト情報を見たい場合は「ウェイト(Skin)ボーン プリセットに切り替える」と考えればいいと思います。Blender を触っている人なら、青いウェイトボーンと Vertex Group は連動しているので、ウェイトボーンを選択する=Vertex Group を選択している、と考えればいいでしょう。ですので、緑のアニメーションボーンの状態でも明示的に Vertex Group を選択するとメッシュ上のウェイトペイント情報を見ることができます。 (これが 8:12 の状態。緑のボーンでもウェイトペインティング情報が表示されているのは Vertex Group (mHipRight) が選択されているからです)
ビデオの Rigging Part I はここで終わりです。
ウェイトの微調整をする (Avastar: –6- Mesh Weighting)
ビデオの Avastar: –6- Mesh Weighting では Blender のウェイトペインティング機能を使ってウェイトの調整をする方法を紹介しています。Avastar の機能というよりは Blender の機能の説明が大半です。ウェイトペインティングによる微調整は正直大変です。こればかりは Avastar があるから楽になる、みたいなことはありません。
ただこのビデオでは標準の Blender のウェイトペインティングのテクニックをわかりやすく教えてくれています。 3:05 ~ 3:55 は選択した部分だけをウェイトする方法、3:57 ~ 4:10 では手塗りしたウェイトを Shortcut “W” の [Automatic] をつかってウェイトをスムーズにする方法、さらに頂点のウェイトそのものを1つ1つ調整することによってさらに微調整する方法が 4:30~6:50 で説明されています。これはものすごくわかりやすい、強力なファインチューニング方法です。頂点の位置を動かすのではなくて、ウェイト付けを変えることで(変形後の)頂点が動いていることに注意してください。6:50~ からはウェイト付けの変更にプラスして、頂点を動かしてチューニングしています。
7:50~ ではウェイトの調整はドレス半分だったので、対称の位置にあるボーンウェイトをコピーしています。
Gaia さんもビデオの中で何度か練習が必要だけど、それを超えればうまくいくよ、といってます。
今日はここまで~。上のビデオでは Blender のウェイトペインティングのテクニックが主でしたが、私はこれで Blender の基本操作を覚えたような気がします。
次回をお楽しみに~♪ この投稿が何等かの参考になれば幸いです。
2014年3月4日火曜日
Avastar を使ってみる(2)
前回で「次回は購入とインストールをご紹介、、、」と言いましたが、その前にもう少しだけ Avastar で何ができるのかを Gaia さんの Web ページやビデオでご紹介しますね。
キャラクターを作る (Create a character)
http://blog.machinimatrix.org/avastar/reference/create-a-character/
上のリンクの Web ページにて説明していますが、Avastar を使ってキャラクターを作成することができる、、、って書いてます。ですが、、、紹介していることは Shape スライダーを使ってアバターを変更して、そのメッシュを Collada 出力してアップロードする、ということなので、これで「自由にキャラクター(アバター)が作れる」と思ってはいけません。セカンドライフでのアバターの容姿変更・シェイプスライダーでできることと同じ変更しかしていません。
ただし、Rigged Mesh と呼ばれる「リギング」された、初めての人型 Mesh を簡単に作る(セカンドライフにエクスポート/アップロードする)ことができます。Mesh だけ作成しても「お人形」でしかありません。その Mesh にセカンドライフのボーン(またはスケルトン、アーマチャー)情報を関連付ける(スキニング)必要があります。すでに Avastar が提供している人型 Mesh はスキニングされており、この作業がこのビデオの過程では必要ありません。(いいのか、悪いのかは別として)
このビデオではどちらかといえば独自のキャラクターを作る、というよりは、基本的な Avastar の作業の流れを紹介していると考えてたほうがいいでしょう。
服飾を作成する場合は、このセカンドライフのアバターをベースに作りますから、スタンダードサイズの数値を使ってベースモデルの体型を Blender 内で変える必要が出てきます。その意味で、Avastar が提供するデフォルトのアバターシェイプおよびスライダーを使った変更方法は有効だと思います。
装着品を作る(Create an attachment)
http://blog.machinimatrix.org/avastar/reference/create-an-attachment/
このあたりから Avastar の知識よりも Blender の使い方のほうが重要になってきます。Blender 操作方法にあまり詳しくないとなかなか理解できないと思いますが、Avastar で何ができるかを理解しやすいようにご紹介しますね。
上のリンクの Web ページではメッシュとボーンの関係を説明していますが、Avastar を使うことで何が便利かと言えば、すでにウェイト付けされた Mesh アバターからウェイト情報のコピーが可能、ということです。
通常、Blender でのリギング作業は、Armature(ボーン)を関連付けたときに自動でウェイト付けするか、関連付けてからウェイトペイントツールでウェイト情報を追加していきます。この作業は非常に時間がかかり、訓練が必要な作業になりますが、Avastar が提供しているセカンドライフ用のシェイプ(もしくはスカートオブジェクト)からウェイトのコピーすることで、この作業の短縮が可能です。ビデオでも紹介されていますが、実際はコピーしておしまい、ではなく、ウェイト塗りの微調整が必要になりますが、ゼロからやることを考えると効率的です。
以下のビデオでは Mesh シリンダーから「シンプルドレス」を例にして Avastar のウェイトコピーの方法を紹介しています。
ビデオではテクスチャを貼り付けたシェイプを使っていますが、テクスチャなしの灰色モデルを [Add] – [Avastar] で追加してもだいじょうぶです。
シリンダーの追加や編集などは Blender の操作そのものです。(実はこの Blender の操作を覚えるのがとても大変なんですよね)シュリンクラップ モディファイアでシリンダーを体に合わせる操作も Blender での機能・操作になります。その際、下半身の両足の隙間部分がうまくシュリンクされないため、Avastar のスカートメッシュを非表示のままターゲットに設定してます。(3:50くらい)
ドレスの横のラインを増やす Edge Loop なども Blender の編集機能ですが、その際にツールシェルフの Mesh Info でセカンドライフでの「コスト」が確認できる、と紹介しています。この Mesh Info は Avastar の機能になります。(4:50くらい)
7:09 あたりでは、シュリンクラップ モディファイアで大きさが決まっているスカートのオブジェクトを、ベースとなる Avastar のスカート オブジェクトの Shape スライダーを使って変形しています。このスライダーは Avastar の機能ですね。
ちょっとだけドレスを大きくするのはシュリンクラップ モディファイアのオフセット機能です。これは Blender のシュリンクラップ モディファイアの機能ですね。
不定期ですが、次回ももうちょっと Avastar の機能をすでに公開されている Video や Web ページから紹介できればと思っています。
ご参考になればうれしいかぎりです~
2014年3月3日月曜日
Avastar を使ってみる(1)
Blender でセカンドライフ向けの mesh を作り始めた(というか、触りだした、、、かも)ころから Avastar を使っていますが、意外に解説って(特に日本語は)ありませんよね。
英語できるなら、インワールドの Blender Avastar グループに入ると Avastar を作っている Gaia さんから直接コメントやアドバイスもらったり、community のほうでも積極的に Gaia さんが返信してくださってるので情報収集にはそれほど困らないかもしれません。
Blender Avastar Group
http://world.secondlife.com/group/969567fd-6f74-dd45-eafe-ac1fcecd3479?lang=en-US
Community Forum での Gaia さんの発言・アドバイス
http://community.secondlife.com/t5/user/viewprofilepage/user-id/92350
が、英語得意じゃないときついですよね。(でも、英語じゃないと情報とれないのでやるしかないのですが ><)
私がまだベータだったころの Avastar を購入したのが 2012年の9月。そろそろ1年半立ちますので、ちょっとご紹介しようかと思いたちました。ええ、唐突に(笑
Avastar ってなぁに?
Blender の Add-on で、セカンドライフ向けの mesh を作るための便利機能がいろいろと入っています。私も最初は「あ、これで簡単にフルメッシュアバター作れるの?」と思って買っちゃったクチです >< ええ、そんなことはありません。あくまで Add-on であり、作業を「補完」してくれるツールになります。
Avastar はいくつかの機能から構成されています。
セカンドライフの人間型メッシュオブジェクト
・ Mesh にはウェイトがついています
・ 体が各部分に分かれていて表示・非表示可能
・ ShapeKey による Shape スライダーで体型の変更が Blender 内で可能
セカンドライフで使用されているボーン(骨格、Armature、スケルトン)
・ カスタムボーン、ウェイトボーン、アニメボーン、Collision Volume ボーンなど
・ 非人間型(4つ足動物)などを作るためのボーン変更/ジョイント位置変更可能
・ 実際のセカンドライフに近い形での間接可動範囲制限によるポーズ機能
お役立ちツール
・ Avastar のメッシュのウェイトを自分の作ったメッシュにコピーする機能
・ モーション リターゲティングで BVH ファイルをセカンドライフ用の BVH に変換する機能
・ 材質の数や、アップロード時のコスト(Download, Server)などの数値表示(Mesh Info)
・ 標準 Collada Exporter よりチェック厳しい Avastar Collada Exporter(よって、アップロード時のエラーが少ない)
・ オブジェクトとオブジェクトの境界線を消す Weld Edge Normals 機能
・ ZERO Weight やウェイトなし、4つ以上のウェイトなど問題がある頂点の検出
などなど、その後 Blender に標準で入ってくる機能などもあるのですが、どうやら Gaia さんは相当 Blender Community に近いらしく、「これあったらいいなぁ」の機能を Avastar で実装して、その後、Blender Community にフィードバックしているような動きに見えます。
英語になっちゃいますが、YouTube でチャンネルがあるので、それを見ているだけで「へぇ~」と勉強になります。
Gaia Clary チャンネル
http://www.youtube.com/user/gaiaclary?feature=watch
Web サイトは以下
http://blog.machinimatrix.org/ (最近かなりサイト変更されました)
ということで、Rigged Mesh/Fitted Mesh などを作るお役立ちツール、Add-on で、絶対なきゃいけないものではありませんが、あると便利、というツールです。いや、私はこれがないとムリです、、、というくらい依存してますが。
その一つが Weld Edge Normals オプションの Avastar Collada Exporter です。
フルメッシュアバターで「表情」を作りたかったんですが、顔を分解してそれぞれの「形状(表情)」を作り、それを1つのリンクオブジェクトにする(この方法しか思いつかなかった)のですが、分解した顔の「つなぎ目部分」の線を消したかったんです。いくら探してもできなさそう、、、というときに Weld Edge Normals が Avastar でサポート、さらに解説動画まで出て、以下のようなものを作ることができるようになりました。
さて、不定期になりそうですが、次回は Avastar の購入と Blender へのインストールあたりについてまとめてみようと思っています。
ご参考になれば幸いです。
Fitted Mesh と Blender
先月ですが、Fitted Mesh とよばれる技術が公式ビューワーでもようやくサポートされました。
これまで Liquid Mesh とか Mesh Deformer と呼ばれるものが有志のみなさんにより作成されてきましたが、改めて Linden が公式ビューワーに採用したのが “Fitted Mesh” と呼ばれるもので、 Liquid Mesh / Mesh Deformer とは実装方法が若干違うようです。
Fitted Mesh って何?それおいしいの?
ものすごく簡単にいうとビューワーの Shape の調整で使っているシェイプスライダーで体型調整できる部分が増えた、ということで、これまで Mesh はシェイプスライダーに反映されない部分が多く、洋服などはスタンダード サイズに合わせて5サイズくらい用意されていましたが、Fitted Mesh になると(全てではありませんが)ある程度自分が調整した Shape に Mesh が反応してくれるようになります。
上のビデオではサイズのみならず、おっぱい揺れるよ!と紹介されています。
( ゚∀゚)o彡°おっぱい!おっぱい!
リンデンの Fitted Mesh の wiki ページ
http://wiki.secondlife.com/wiki/Mesh/Rigging_Fitted_Mesh
作るのは簡単?
Mesh による造形そのものの作業のハードルは高いですが、Mesh 経験者であれば Fitted Mesh サポートをしているアバタースケルトン(アバターの骨組み(アーマチャー/Armature)を利用することで Fitted Mesh に対応した Mesh を作ることができる、としています。
Mesh をこれから初めてやりたい、、、という方にとっては、Mesh および Mesh を扱うツール(Blender や Maya, 3ds Maxなど)を覚えなければならないので、決して初心者には簡単とはいえませんが、これまでよりもよりセカンドライフの機能を使った自由度の高いメッシュ(服や、アバターそのもの)を作成することが標準で可能になった、と言えるでしょうね。
ただ、Fitted Mesh を作るために配布されている「スケルトン」がまだ調整不足のようで、Avastar を作成されている Gaia さんがビデオレポートを公開しています。私は Avastar を使うので配布されているスケルトンを使っていませんが、配布スケルトンから作る場合はいくつかの注意事項があるようです。Gaia さんによれば、Blender の標準 Exporter にも問題があるので結局うまくいっていない、というものです。また、それは Blender の次のバージョン 2.70 以降で解決できるだろう、としています。2014/3 ではまだ 2.69 が正式リリースです。
Blender Download http://www.blender.org/download/ ここに 2.70 がくると正式リリースとなります。
このビデオでは .Blend ファイルの修正方法を提示していますが、すでに修正された .Blender スケルトン ファイルが Gaia さんによって公開されダウンロード可能になっています。
Fitted mesh サバイバルキット
http://blog.machinimatrix.org/fitted_mesh_survival_kit/
ただし、2014/3/3 では Blender 2.70 (テストビルド)を使わなければいけません。
http://www.blender.org/press/blender-2-70-test-build/
Blender 2.69 というか正式ビルドで作るには? – Avastar 1.1 を使う
Blender のテストビルドを使わなくても Fitted Mesh をセカンドライフにアップロードすることができます。前述の Gaia さんが作成し販売している「Avastar」を使う方法です。
Avastar
http://blog.machinimatrix.org/avastar/
Avastar はセカンドライフ用の Mesh を作成するための便利ツール集です。Blender の Add-on としてすでに長い歴史がありますが、Fitted Mesh のサポートはここ最近追加されました。
Avastar は Mesh 造形およびセカンドライフへのインポートでさまざまなお役立ち機能を提供してくれます。Fitted Mesh サポートももちろんですが、私の場合は Weld Edge Normals サポートがあるため使い続けている、といってもいいでしょう。Maya なんかは標準であるようですが、Blender の場合は私の知る限りだと、この「分割したオブジェクトの間の線を消す」という機能は標準では見つけられていません(もしかしたらあるかもしれませんが、、、)
Avastar を使って Fitted Mesh をアップロードしてみた
上記の Avastar-12 ビデオの手順を参考に、以下の環境で作成中の Full Mesh Avatar を Fitted Mesh にしてアップした結果です。
Second Life Viewer: Second Life 3.7.1 (286557) Feb 11 2014 21:01:25 (Second Life Release)
Avastar: Avastar 1.1 (avastar-1-1-974_blender-2-65.zip)
Blender: 2.69
バストの Shape スライダーで大きさ変更 ( ゚∀゚)o彡°おっぱい!おっぱい!
ボディのメッシュは MakeHuman で作成したものです。上の場合はとくに Fitted Mesh のためにウェイトを塗り直すこともしませんでした。
Avastar 1.1 での Fitted Mesh 作業は非常にシンプルです。ビデオの手順は大まかに以下です。Fitted Mesh に関連するのはビデオの 5:30 以降です。
1) すでにウェイト付けされた Rigged Mesh を用意
2) Shape スライダーを「デフォルト」に戻す。Avastar オブジェクト プロパティの [Reset To Default Shape] を使う
3) インポートする Mesh を選択して、ツールシェルフの [Rigging] の [Siders] で [Detach] をしてスライダーのフルリセットをする
4) [Rigging] のプリセットにある [Fitted Mesh] ボタンを押す。するとスケルトン(Armature)が変更される (この時点で Fitted Mesh で有効になっている追加ボーン (Collision Volume Bone) に Mesh がウェイト付けされている)
5) 再度ツールシェルフの [Rigging] の Sliders: [Attach] を押し、スライダーを有効にする
6) Shapeスライダーが有効なことを確認する
7) Avastar Exporter でアップロードする
7:40秒くらいで Belly Size でうまく腹部が膨らまない例が出ていますが、全自動じゃなくて、こういう場合はメッシュのトポロジー(メッシュ形状)やウェイト付け含めて手作業が必要ですよ、といっています。
Blender 2.7 じゃないとだめ、とか、まだ始まったばかりの Fitted Mesh ですが、セカンドライフでの Mesh ワールドでさらに自由度が増しましたね。
ご参考になれば幸いです~。
2014年1月15日水曜日
2014年がはじまっていた・・・
あ、、、あけましておめでとうございます><
今年の A Happy New Year Pic はこちらでした。

今更かよ!ですが、振り返りますと、2012年は MMD/PMD いぢりに没頭し、2013年は PMD/PMX の Rigged Mesh にのめり込みました。実のところ 2012年ころから Blender や Add-on の Avastar を触ってはいましたが、ボーン・骨入りではない、お人形くらいしか作れませんでした。
2013年の夏頃になってだんだん Rigging の作業工程や、それぞれの意味が理解できるようになってきて、Blender による Rigging 作業をひたすら繰り返す日々、、、
その合間をぬって MLDU 講座もやっていたり。
Rigging 作業自体の理解と、HUD/LSL による表情変化や、形状変化の試行錯誤でしたが、3体ほど Rigging して、それなりに動くようにすることができました。
SL ボーンを元の PMD/PMX の構造に変更して Rigging した第1号の Tda 式ミクちゃん。

MMD をやるきっかけを作ってくれた ままま式グミちゃん。

かわいいのに美人さんな mqdl さんによる IA ちゃん。

お人形しか作られないところから脱却できたのは、以下のテストでした。
Blender でいう Shape Key、MMD/PMX でいうモーフ(頂点モーフ)は SL ではまだユーザー カスタマイズ用として実装・公開されていません。これまでのアニメヘッドの表情付けは「テクスチャ アニメーション」機能を使ったものが大半でした。
テクスチャアニメを使わずに形状変化させる方法は一部スカルプでも使われていましたが、透明オブジェクトを重ねて LSL で表示切替させます。上のお面は以下のようなバーツから構成されていて、アルファの値を順々に変えて「動き」を実現しています。
試行錯誤はさらに続きましたが、最終的には ダンス HUD の MLDU からのチャットコマンド送信(通常は SNUPOZ フォーメーションなどとの連携で使いますが)で、ダンスと表情や手の形状をシンクロさせることができるようになりました。
このように SL の Mesh サポート、Blender の利用はあらたな可能性を見せてくれるんだな~と実感した 2013年でした。あと、Blender で SL 用に Rigging するのであれば Avastar はいろいろなところで使えるで、私は必須になってしまっています。
なお、上記で利用させていただいた PMD/PMX モデルは以下の条件が共通です。
- ユーザーによる改造 OK
- 非商用での再利用 OK
- オリジナルの版権元が2次創作を一定の条件下で許諾(ピアプロライセンス等)
モデル製作者様によっては「改造NG」というものも少なくありません。非商用であっても 2次、3次創作や再配布を遠慮してほしい、というお願いがあるものもあります。このあたりのお約束に十分に留意し、モデル製作者様へのリスペクトを忘れずに利用させていただきました。
なお、Google Plus のほうでは Blender のお役立ち情報・リンクや、Rigging の作業状況をあげたりしていますので、ご興味のある方は Google Plus で私の書き込みをご参照くださいませ。
今年ももっと楽しく勉強します~
2013年9月23日月曜日
アニメっぽいWL設定
At INSILICO



At Virtual Works



動画~w
2013年9月18日水曜日
Secondlife のボーンとメッシュ
リグ入りメッシュ (Rigged Mesh) 触って、作ってみて、自分なりにリグ入りメッシュについてまとめてみようと思いました。たぶん、2年くらい悶々としながら触っていたと思いますw なお、具体的な rigged mesh の作成手順ではなくて、概念的なもの、私がこれまで(もしかしたら今も?)誤解して理解できていなかったことをまとめています。ですので、知っている人にとっては「何、悩んでるの?」という内容であるのでご注意(というかスルー)してください。
リグ入りメッシュとは、簡単にいうとアバター用のアニメーションと一緒に動くメッシュのことです。そのために、リグ入りメッシュにはボーンとの関連付け情報がなければいけません。じゃないとただのお人形さんです。それをセカンドライフで体に装着しても、お人形を持っている・つけている状態になります。
メッシュはなんとなく理解できると思います。でも、ボーンってなーに?そして、この2つがどう関連付けられているのかを理解するのは、私にとっては難しいものでした。
両者の関連付けはウェイトでしょ?とググればでてくるわけですが、実はそれだけでもなく、ここを理解するのに相当な時間がかかりました。
また、使用する 3DCG ツールによっては用語が違ったりします。私は Blender を使っているので、セカンドライフ用語と Blender 用語の関連付けにも時間がかかりました。Blender ではボーンで構成された骨格のことを Armature と呼びます。また、スケルトン(Skelton)と呼ぶツールもあります。
ボーンって何?
そもそもセカンドライフで「ボーン」ってどれ?ということです。セカンドライフ(インワールドでビューワーのインベントリー(持ち物)とでもいいましょうか)には単体でボーン(Armature) はありません。アップロードしたメッシュにボーンが入っているのかな?と思っていたら、それも正確ではありませんでした。セカンドライフの中ではシェイプがボーンに近いのですが、シェイプには以下が含まれます。
- ボーンの長さ情報
- ボーンの位置情報
- デフォルトの人間型アバターメッシュ
- 人間型アバターメッシュの部分的太さ(サイズ)を変えるボリューム情報
- アタッチメントの位置情報(イヤリングとか、どこにつけるかの場所)
(参照) http://blog.machinimatrix.org/avastar/the-second-life-skeleton/
当たり前ですよね。シェイプの編集のシェイプ スライダーを使ってこれまでずーっとやってきたことです。
リグ入りメッシュを使う場合、ほとんどが全身や一部をアルファ マスクで透明にします。これにより「デフォルトの人間型アバターのメッシュ」を消しているんですよね。ただし、ボーンは見えません>< でも、確実にそこに存在するのです!
以下は Blender と Avastar というセカンドライフ リグ入りメッシュ作成支援アドオンでみた Shape になります。この場合は「ボーン」(Armature)は目で確認できます。
Avastar
http://blog.machinimatrix.org/avastar/
リグ入りメッシュのアバターを装着する場合でも、かならずシェイプは必要です。あとでご紹介する「ジョイント ポジション付きのリグ入りメッシュ」を使う場合はシェイプの流用をしないで、それ用のシェイプを新規作成して使ったほうがいいでしょう。(blank shape などが同梱されている場合が多いです) そのリグ入りメッシュ用のボーンとして、ですね。フルメッシュアバターじゃなくて洋服などのジョイント情報なしのリグ入りメッシュはその必要はありません。
でも、、、よく自分でもやっちゃってるのが、ばけもの屋さんの動物アバターを装着して、その後アウトフィットで通常のアバターに戻る、、、と、この世のものとは思えない物体が出現、、、w
これ、Shape を変えても元に戻らないこともあり、ログインしなおさないと「ジョイント(ボーンの付け根、関節)」の位置がリセットされないことも多いですね。
このことから、リグ入りメッシュで、かつジョイント付(メッシュ アップロード時の指定であります)のメッシュを装着した時は、その時のシェイプのボーンの形状がメッシュに登録されているジョイントの位置に強制的に変更されるらしい、ということがわかります。(シェイプ変えても戻らないことがあるのは困ったものですが、、、)
じゃぁ、もし、フルメッシュ アバタ―で、ジョイントなしでアップロードしたらどうなるか、、、。または、アップしたらなんか関節の位置が曲がってる、、、Blender でメッシュをみていたバランスと明らかに違う(顔が大きいとか)、、、これはボーンとメッシュの関係、「リグ入り (rigged)」の意味を理解する必要がありました。
ウェイトとボーンとメッシュの関係
メッシュは数多くの「頂点」で構成されています。正確には頂点 (vertex) と辺 (Edge) と面 (face) からですが、ものすごい数の頂点で作らています。
上のセカンドライフのアバター メッシュの頂点数は 4,736 あります。(実は人型のメッシュモデルとしては少ない方です)
メッシュが動くということは、これらの頂点が動くことに他ならないわけですが、数千、数万の頂点を1個1個管理するわけにはいかないので、「頂点グループ (Vertex Group)」というものを使います。
また、Blender の中でボーン(Armature)の動きを使ってメッシュ オブジェクトを変形させるために「Armature モディファイア」を使います。(Armature を使って mesh をポージングさせる、とイメージするといいかも)モディファイアとはメッシュの形状や属性などを変形・変更するための様々な便利ツールの集まりです。
ペアレント(ペアレンティング)という、メッシュと Armature を関連付ける機能があります。Ctrl+P がショートカットになります。ペアレントすると Armature モディファイアがメッシュに適用され、指定したボーン(Armature)の各ボーンの名前(mHead や mChest など)を使って頂点グループがメッシュに自動的に作成されます。
この時のペアレントのオプションで「ウェイト」の指定方法を選ぶことができます。
ウェイトとは、各頂点それぞれがもっている「重みづけ」で、その頂点が属している頂点グループと「同じ名前のボーン」が動いた時にどのくらいの強さで追随するか、という数値です。0は全く動かない、1が最高、という範囲で指定します。頂点によっては複数の頂点グループに属しているものもあります。肘やひざなどにある頂点はその代表例でしょう。
ペアレント時 [Armature Deform] でのウェイト付けのオプションは3つあります。
- まったくウェイトをつけない、頂点が登録されていない空の頂点グループを作成 [With Empty Groups]
- エンベロップという armature 形状(丸いお団子のような形)を使ったウェイト付け [With Envelop Groups]
- Armature の位置から自動ウェイト[With Automatic Weight]
ウェイトがつくと、各部位のボーンと同じ名前の頂点グループに、そのボーンのそばにある(ウェイト付けされた)頂点が登録されます。
Blender の中で、Armature を [POSE Mode] にして各ボーン を動かすと、ウェイト付けされているメッシュが追随していきます。うまくウェイト付けされていない頂点はそのままその場所に残ったり、または、ボーンから離れているところでもウェイト付けされると動いたりします。
ウェイト付けがおかしい場合には POSE Mode のまま Mesh オブジェクトを選んで、 [Weight Paint] でウェイトを塗りなおして調整します。ウェイトを塗ることを「スキニング(skinning)」と呼ぶようです。
こうやってウェイト調整したメッシュをセカンドライフにアップロードするわけですが、アップロードできるのは「メッシュ」のみで、Armature そのものはアップロードできません。Avastar エクスポーターは Armature を選択しなくてもいいのですが、標準の Collada エクスポーターは Mesh と Armature の両方を選択する必要があります。この場合、両方エクスポートしているような気もしますが、でも、上述のようにセカンドライフにアップロードした後は「シェイプ」が Armature の役割を果たしています。
リグ入りメッシュとしてアップローダーの読み込みに成功したメッシュ(Collada ファイル)はアップロードオプションの「Include skin weight」と「Include joint positions」がチェック可能な有効状態になります。ちなみにこのオプション2つともはずすと、単なるお人形としてアップされます。
じゃ、「リグ入りメッシュ」の「リグ」っていったい何なんでしょう?
私が長い間理解できていなかったのは、この「リグ」の意味でした。
Rigging って...
結局は「リグ入り」といっても “Rig” というモノは存在しない、、、?
Maya を使っている人は「何を悩んでいるかわからない」かもしれませんね。
どうやら、メッシュに対して、ボーンをいれて Armature を構成したり、ボーンをつなげて Joint を構成したり、Vertex Group を作って、ウェイトを入れたり、、、こういうメッシュを動かす設定・作業のこと、またはそのために使用するものの総称を「リグ」もしくは「リギング」というもの、と理解しました。
http://3dnchu.com/archives/rig-it-right-jp/
そう考えると、セカンドライフでの rigged mesh のアップロード オプションで指定できる「Skin Weight」と「Joint Positions」が、SL で言うところの Rig である、と考えても、当たらずとも遠からず、でしょうか。このチェックボックスが有効になっていれば、それはリグ入りメッシュであり、そのためには 3Dツール側でそれなりの作業・設定をしなければならないわけですから。その作業が「リギング」だった、、、というわけで、その作業が行われたメッシュが「Rigged Mesh」と考えてもよさそうです。
Rig と Shape の関係
まとめです。
Rig 入りメッシュは「Skin Weight」(ウェイト)を持っています。ウェイトをもった頂点は、ウェイト付けされているボーンに影響されます。セカンドライフではボーンはシェイプに含まれており、シェイプ編集によるボーンの長さと位置(スライダーの数値)でメッシュ(頂点)の形状を変更できるものがあります。影響がある26個のボーンを「組み合わせて」使うシェイプ調整項目は Rig 入りメッシュにも有効です。たとえば身長や腕や足の長さなどです。シェイプ調整でボーンによる変化ではなく、セカンドライフ デフォルト アバターの ShapeKey (Morphs) による頂点移動による調整項目は Rig 入りメッシュには有効ではありません。(鼻が高くなるなど)
もうひとつの Rig である「Joint Positions」をアップロード時に含めた場合は、Blender でメッシュに関連づけた Armature のジョイント(膝や肘などの間接)の位置もアップロードされ、装着したときにシェイプの同名のジョイント(ボーン)位置を上書きします。極端な例としては人型シェイプが4つ足歩行の動物のような関節・ボーン形状 (Blender で使っていた Armature と同じ形状)を持ったものになります。
また、人型であっても、セカンドライフのシェイプスライダーでは調整できないような体型(膝下が長いアニメキャラ体型など)も Joint Position を変更しなければオリジナルのバランスに近くなりません。膝の位置が極端にシェイプから離れているメッシュなどは、膝のメッシュがシェイプの膝の位置に移動しようとして曲がってしまったり、見た目でわかるほど汚く頂点が移動します。基本的に Blender で Armature を動かしたメッシュは With Joint Positions でアップロードすることになります。また、人型であっても、Armature が違うとセカンドライフ内のアニメーションを使うと明らかにおかしいものになります。
なお、セカンドライフのデフォルトアバター向けの服やスカートなどは、そのままシェイプのジョイントを利用するので独自の Joint Positions を考慮しなくてもいいですし、たとえばアニメヘッドなども Joint Positions をオプションでつけなくても大丈夫の場合があります。(分割が適切に行われていれば、ということと、私の経験からは Alpha 切り替えの表情付けスクリプトを入れる場合は、ジョイント オフしなければ画面描画がちらつくなどの問題があります。)
今の理解はこういう感じです。
長文・駄文におつきあいくださいましてありがとうございます。何等かのお役に立てれば幸いです。



