典雅P(卵ごはん)のMMD日記

MikuMikuDanceという3Dアニメーションツールを使用した動画や静止画の投稿しています。

第二回MMD勉強会 講義内容ノート

2012年03月11日 | MMD講座
2012年3月10日、貼り絵職人さんを筆頭とした有志主宰のMMD勉強会が開催されました。
今後勉強会の輪は関西、九州に波及しそうで、良い流れだと思います。

今回の勉強会の内容の講義メモを公開します。ニコ動で、タイムシフトで一週間ほど見る事が出来るほか、U-Streamでも流していたので見ることが出来るはずです。(こっちは期限なし)


~1時間目 講師:ねるどらさん~


【趣旨】
・ポストエフェクトを「フィルター」と捉え、どのフィルターにどのような効果があるのかを考え、組み合わせる
・フィルターなので、場合によっては同一エフェクトを複数重ね合わせるのも可能。特に縛りは無い。
・ポストエフェクトは一つ一つの効果が低いが、重ねることでかなり質感を変えられる。
・描画順が問題になる。

【tips】
・背景がXファイルだと、地面影の明るさ設定で、Xファイルだけ明るさを変えることが可能。その際HL shaderを背景にかけておく。


~2時間目 講師:そぼろさん~

【趣旨】
・被写界深度は、人間の目や映像機械(テレビカメラ・ビデオカメラ)では以下の条件でかかりやすい。「近いとき・対象が小さいとき・暗所での撮影・視野角を狭くしたとき」
・被写界深度がかかりやすい条件下でxDOF等を弱くかけたり、またかかりにくい条件下で強く描けると、映像として違和感を感じるので注意が必要である。(注:演出としての利用はありうる)
・フレームブレンドは高速移動する対象だと分裂してしまう。解決策としては高fps出力があるが、物理演算が60fpsでしか計算してくれないので、演算部分が違和感を引き起こす可能性がある。
・AVI synthのモーションブラーは、フレーム間の変化を物体の移動とみなし、その情報をもとにブラーをかける。御検出の問題がある。
・MMEのモーションブラーはポリゴンの変化を「ブルーマップ」として検出し、頂点の移動に対してブラーをかける。
・欠点は、各フレーム間の頂点移動は直線なので、仮に全体の動きが円弧であってもぶれは直線になってしまう。残像が長い時に注意が必要。
・HDRとは、環境を256諧調に落とし込んだ、光の表現を、実際には256諧調を超える現実世界を再現するための概念。
・モニターや紙媒体は256諧調を超えることが出来ない。これを光の滲みや、諧調を超えた部分を「白」として表現する事で補完している。

【tips】
・xDOFはズームイン・ズームアウト、対象距離の変化に応じてブラーの強さが自動で変化するようになっている。
・低fps出力でブラーをかけたほうが速度感のある映像になる。


~三時間目 講師:ビームマンさん~

【趣旨】
・MMEの実演
・AutoLuminousはHDRエンジンとして機能するので、既存のMMEの光の表現を拡張できる。
・ゴッドレイはスカイドームの外に出てしまうので、コンソールでゴッドレイの対象から外さなければ効果が出ない。
・水面エフェクトはAuto Luminousと組み合わせることで水面反射が強く光るように出来るが、水面エフェクト側の「反射光」パラメータを強くすることでより光るように出来る。

【tips】
・ライトブルームはダミーボーンにくっつけて動かすと調整しやすいが、右下の座標軸で動かした方が良い。
・Auto Luminousは描画順の影響を受けやすい。PostEffectでは一番先頭にしなければならない。
・ALとcolor controlを組み合わせると、光り方を変えられる。


~四時間目 講師:舞力介入P~

【趣旨】
・オフスクリーンレンダリングについて。
・MMEコンソールで 〇〇RTと出てくるエフェクトはオフスクリーンレンダリングを利用している。
・特定条件(範囲・座標等)の部分を、別スクリーンに抽出、描写し、その条件に対して描画を追加し、「MMDのメイン画面に加算合成している」
・スポットライトが重いのは、このレンダリングを3つ使っているからである。
・ボーンによるMMEのコントロールについて、flortで記述されている部分はボーンと組み合わせる事が可能。
・sharp defineで記述されている者はボーンでのコントロールが不可能。
・MMEコンソールでの「解除」は、描画をMMD固有のシェーダーに切り替える事である。

【tips】
・MMEの保存形式であるemdファイル(個別モデルごとの設定保存)はモデルと同名称にすれば、自動読み込みしてくれる。

【質疑応答】
・MMEとMMMの完全互換は難しいけれど、MMEをDLL化してMMMでも利用できるように出来ないか模索中・・・のような事を仰ってました。

以上でノートは終了です。


なお、今回の勉強会を受け、各講師がにゃぽの日記(恐らく外部公開で)やブログに纏め記事を書いたり、あるいはエフェクトの更新、ツールの公開を行ってくれるそうです。まめに見て回ることをお勧めします。

全親を呼び戻す方法(非初心者向け)

2011年11月09日 | MMD講座
説明が難しく汎用性もなさそうなので多段講座では省略した方法ですが、
どうやら知りたい方もいらっしゃるようなので、何とかまとめてみます。
分かりにくかったらごめんなさい。

http://www.youtube.com/watch?v=YYR4cPt8SAA

<iframe width="560" height="315" src="http://www.youtube.com/embed/YYR4cPt8SAA" frameborder="0" allowfullscreen></iframe>

上記は、全親3段もモデルが一歩歩いたとき、モデルの位置から離れた全親が
全てモデルの下に戻ってくるように調整したモーションです。
このモーションの胆は3つで、

①戻す親、およびセンターなどのキーフレームは同じでなければならない。
(始点と終点が何フレーム目なのかを合わせておく必要がある)

②戻す親ボーンたち(場合によってはセンター、足IK)の補間曲線は
同じでなければならない。
(変えると、例示の最後に示したように変な軌跡を描きます)

③目視でモデルの位置を合わせなければならない。
(この場合、始点と終点で右足の位置が同じになるよう、目視で合わせてます)


 この動きを使うと補間曲線が変えられないし、中割も出来ません。モデルそのものの姿勢に関わる動きをセンターボーンや足IKの扱いに制限が生じる場合があるので、これらを多段化しておいた方が自然なモーション作成につながると思います。
 また、単純な目視ではなく、つま先IKやセンター先にマーカーになるようなアクセサリをくっつけておいて、目標となるようなアクセサリと組み合わせて使えば、より楽になると思います。

 「多段全親で様々な場所に全親が散ってしまったけれど、同一カメラ内でどうしても
親を呼び戻したい」ときに使える、これもこれで力技な方法でした。多くの方はカメラを切り替え、その間に親を戻すでしょうし、実際、それでも十分なのだと思います。
 ただ、補間曲線を合わせておくと何となくおんなじように動く、というのは
力技で接触モーションを作るときなどに使える技術ではあります。その点だけでも試してみると面白いかもしれません。

多段全親に関する覚書(その3 一先ずの纏め)

2011年09月08日 | MMD講座
前回の多段親の記事から間が空いてしまいましたが、
その間にPさんと呼ばれる本2で始祖6666AAPが解説をしてくれたり、
PMX規格が出たり、MMDの多段構造に関する環境は随分変化したと思います。
 前回までの続きを書いても記事としては陳腐化しそうですので、
多段構造-補間-中割 に関する、自分のノウハウを書きとめるのみとします。
読みにくく分かりにくく、MMDをある程度扱える人向けになりますがご容赦ください。

円弧運動に関する考察

限りなく正円に近くなるように、4つの方法で運動をさせてみました。

運動の中身です。
①中割:これは弧を直線の集合という考えに基づく動かし方です。運動の角が残りますが特別の改造が不要で応用も効く技術です
②回転:全ての親を軸に回転させてます。単純な円運動を考えた場合もっとも美しくスムーズな円を描きます。
③補間曲線のみ:始点と終点のみにキーをうち、X軸とZ軸に関する補間曲線を調整した運動。実は、足IKを切らずに、足を蹴りあげる動きが可能になる。
④全ての親を二つ使って補間曲線で調整:親その1はX成分のみ、親その2はZ成分のみの移動。



それぞれの方法に一長一短があります。行いたいモーションを観察したうえで、
作りたい作品におけるモーションの重要度、また、特殊な運動がどの程度出てくるかなどを吟味し、
どの運動で行うべきかを決めるべきだと思います。
多段とすべきかどうかは、少なくとも「移動」という運動に関してはこんなフローチャートで示せるかと思います。



所で、「移動」と「回転」という動作における、操作上の違いにはこんなのがありまして、
補間曲線では「移動」は3軸に分けて補間曲線を描くことが出来ます。でなければ前述の③のような運動は不可能です。
一方で回転は「回転運動」のみでしか補間を行えません。X軸、Y軸、Z軸ごとに補間曲線を分けて、
より複雑な回転運動をさせることが出来ない。補間曲線の制約の大きい回転運動でこそ多段化のメリットは大きいように思います。
では移動では多段化の恩恵は少ないのかというと、そうではありません。

3種類のS字運動を提示しました。

左:多段化した親ボーンによる、回転のみによる表現
中:すべての親一つだけでの移動(補間曲線による円弧運動)
右:全親2段使用



個人的には右が一番きれいに動けてると思います。
細かな調整まで行おうとすると、二段で作ったほうが楽だと思います。

また、円弧運動を「回転」ではなく「移動」で表現しようとした理由も見えたかなあと思います。
どうしても、円弧運動から次の動作に移る継ぎ目が出来やすい。無論、「ずらし」を加えることで補正は可能かなとは考えます。

回転による円弧の表現は「軌跡」は正確です。また、移動で表現する場合、軌跡は補間曲線に依存するので正確性を欠く。
例えばこのコーナーをこのタイミングでこの軌跡で曲がりたいという場合は円弧運動の方が適しているかもしれません。
(ロボットの市街戦などが想定されます) ですが、弧は曖昧でもいいから滑らかにまげて動きたいと思う場合は移動で表現するほうが
むしろ適しているでしょう。前作「MS」ではすべての円弧運動を移動で表現しており、ボーンの回転は姿勢変更のみです。

まとめになりますが、多段親というより、モーションを作る場合、
まず目的となる運動があります。実際の人体の動きもあるでしょうし、
アニメーションの動きのトレースなどもあるでしょう。その動きをつぶさに観察し、
要素ごとに分解し、標準ボーンに落とし込めるかどうか、

落とし込めなかった場合、標準構造で近づける唯一の手段は中割でしょう。中割出来なければ、という事ではないですが、
補間曲線で描ききれない動きを表現したいときに多段化する、という事になるようにも思います。繰り返しますが、モーション作成は
その人の運動の理解に直結してると思うのです。これは良し悪しの問題ではなく、
自分の目的とする動作、およびその理解度、必要性に合せて最適な動かし方を選択すればよいのではと思います。

モーションは重要ですが、モーションにのみ特化しても決して良い動画になるとは言えません。
モーションの達人の動画を見てみると、実はカメラや演出に大きな魅力が隠れているとも思うのです。
彼らは自分のモーションの美しい点を良く把握し、それを的確に見せている、とも言えます。

最後に多段構造を使ったモーションサンプルを提示しつつこのシリーズを終えます。

今回動画で使用したモーションは、全て改造ミクさんに同封して配布させていただきます。
(現在配布準備中)
(追記 配布開始 http://ll.la/y;kc DLL pass : mikumiku)
きちんとふれる事の出来なかった、全ての親の位置をモデルを見かけ上動かさず、
モデルの足元まで呼び戻す動作も行っています。

多段親構造の理解の一助になれば幸いです。


ObjectLuminousの使い方(1)

2011年09月02日 | MMD講座
ある意味、MMDで最も望まれていたエフェクかとも思いますが、
まだ使い方が一般化しきっていないようなので、少し纏めてみます。
エラそうに書いてますが、私も人に教わりながら試行錯誤で使ってきたので
細かな理屈は良くわかりません。その点はご了承ください。

~~~~~~~~~

※MMEを使う場合の注意点
1:PCのグラフィックボードを把握しておきましょう。 上手く行かなくて質問する場合、この情報は必須です。
2:MMDとMMEは極力最新版を使用しましょう。今の所MMD Ver7.30 or 7.39 とMME 0.2.7の組み合わせが最新です。
 (私はMMD7.30との組み合わせが殆どです。)
3:初期状態のfxファイルのバックアップを取っておきましょう。これでfxファイルを弄っても安心です。

~~~~~~~~~

さて、今回は標準ミクさんと標準ステージを使い、ミクさんの髪の毛を光らせてみます。


まず、そぼろさんの配布動画(sm13062057)からObjectLuminousを入手します。

セット内のObjectLuminous.xというファイルをアクセサリとして読み込みます。
はい、何も起きませんね。
躓いた人のある程度の方は、ここで引っかかったのでは無いかと考えます(体験談)。

ここでMMEのコントロールパネル(エフェクト割り当て)を開きます。
ObjectLuminousを追加する前はこんな感じですが、

追加すると「メイン」というタブの他に、「OL_EmitterRT」というタブが増えてると思います。
このタブを開いてみます。

何やらモデル名、アクセサリ名があって、何かが適応されてそうですね。
ここで、「初音ミク.pmd」を右クリック、サブセット展開を選択してください。

そうすると何やら番号がいっぱい出てくるので、そのうちのサブセット1を右クリック、

「解除」を選択します。そうすると・・・

はい、髪の毛だけ光りましたね。この手順で何も起きないのであれば
グラフィックボードが対応していないとか、手順以外の問題があるかもしれません。


少し解説します。MMEが0.1から0.2にバージョンアップして変わった点の一つに、
「材質ごとにエフェクトの適応を調整できる」があります。
先ほどのサブセット展開とは、モデルの材質情報を展開し、材質(今回は髪の毛)にのみ
ObjectLuminousを適応する、という行程でした。ですのでサブセット展開しないで
「モデル名→右クリック→解除」とすると、モデル全体が光ります。

これも光加減の調製によっては質感変更の手段になるので覚えておいて損の無いtipsです。
(合作アイーダのダンサーモデルは全て淡くOLが適応されてます)
では、このサブセット番号(材質番号)、手探りで知るしかないのかというと
実はすぐに一覧で見る手段があります。PMDエディターです。

PMDエディターで材質一覧を見れば何番がどの材質か一目瞭然です。

このような名前表示にはなっていない場合もありますが、
モデル操作画面から「頂点/材質マスキング」を選択、
光らせたい材質が何番なのか、探すことが可能です。


(光らせたい部分が他のパーツと同一の材質で、余計なところまで光ってしまう場合、
PMDエディターで材質を分ければ対応できます。ここでは少し趣旨から離れますので割愛します)

長くなりましたので、Fxファイルによる光加減の調製については、また次回とします。
開けば分かりますが、Fxファイルはエフェクト作者さんが
弄って良い部分と、いじると不味い部分にきちんと分けてくれています。
このブログの更新を待たずに試行錯誤してみる事をお勧めします、って、実も蓋もないですがw

2011年9月25日 追記:KIDさんがにゃっぽん外部公開日記にもっと詳しい纏めを書かれましたので、
そちらのリンクを貼っておきます。併せてご覧ください。
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=994221

多段全親に関する覚書(その2/全3回予定)

2011年03月05日 | MMD講座
少し間が開いてしまいましたが、多段全親に関する覚書の二回目です。

前回で、全親を多段化する意義については書きました。また、基準座標の全親についても記載させて頂きました。

今回は、任意の座標に多段化した親の一つを設置する事を取り上げますが、並行して、PMD editorでの「全ての親」の設置方法についても触れていきます。

※PMD editorは極北P氏の提供する、MMD用の3Dモデル、PMDファイルのセットアップツールです。入手法、導入法についてはVPVP wikiなどを参考にしてください。今回のセットアップにはVer.0.0.6.3 Ver.0.0.9.9 Ver.0.1 を使用しています。

1:「全ての親」の追加法
 まず、追加したいモデルをPMD editorで読み込み、編集ウィンドウの方を選択します。
次に、「編集」→「ボーン」→「全ての親」ボーンの追加 と選択していきます。通常の全ての親であればこれで十分ですが、多段化する場合、例えば5段階に多段化したい場合は、最初に追加した親ボーンを「全ての親 5」などと名称変更します。

【ソラVCへの全ての親追加画面】



2:全親ボーンの座標変更
 次に、追加したボーンのうち、任意の全ての親を異なる座標に登録します。通常、より下位の全ての親ボーンの座標を変更します。変更の仕方ですが、PMD editorの編集ウィンドウのタブより「ボーン」を選択、変更したいボーンを選択します。
 全ての親は追加した時点では (X.Y.Z.)=(0.0.0.)です。この数字を変更し、体の任意の場所に移動するようにします。今回、頭を中心に回転するジャンプを行ったためと、空中で姿勢を変更した場合にみぞおちの高さであると自然であろうと考えた事から、その二か所に全ての親を移動させました。骨盤の高さと言う選択もあるでしょうし、また、つま先立ちでスピンさせているので、足IKの基準座標近辺にボーンを置くという方法もあったでしょう(これをしなかったのは、足を様々な動かし方をさせるために、あまり意味が無かろうと考えたからでした。今振り返ると行っても良かったかもしれません)

【いろはの頭部の高さへの全ての親の移動】



3:例示
 では実例の提示です。頭部全親を利用する前のジャンプと、利用したあとの全親を見てみましょう。

【追加前】


【追加後】


追加前は体の向きを変える動き、ジャンプする動き、これらを一つの全ての親とセンターボーンで行おうとしていましたが、(無論私の技術が未熟であったこともありますが)ジャンプの軌跡が不自然になってしまいました。追加後はスムースに体が入れ替わり、ジャンプの上下動もスムースになりました。この方法が正解かどうかは分かりませんが、少ない労力でそれらしくみせる、一つの方法論であろうと考えています。エキシビジョンで、みぞおちの高さで回転することで、ジャンプ中に一回転する動作を例示しました。このような単純な運動から試してみて下さい。


これで追加方法は終わりです。次回は、全ての親を使いこなすうえで必須となる。全ての親とモデルの位置関係を自在に変更する方法を紹介します。