スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

『MI作戦の衝撃』においてのMMD制作

個人としては久々の動画投稿となってしまいました……

艦これのE-6突破記念としての投稿です。
とはいえ、E-6でひーひー言いながら、片手間で作成したものです。

■ MMD Ver9.12

 ここのところMMMばかり弄っていて、MMDのVer8以降でほとんど動画作成してなかったのもあり、またVer9.12の実証も兼ね、今回はMMDでの動画制作となります。
 Ver9シリーズでの大きな機能追加としては

・外部親機能
・物理オン/オフモード機能
・UIの一部刷新
・Ctrl+C/v でのキーフレームのコピー&ペーストが可能に ←地味に有難い機能

 となっているようです。

 今回は軽いネタ動画でもあるので、物理オン/オフモードについては利用せず(面倒だったからというのも理由)、外部親機能と、針金Pの新たなシャドー系シェーダーエフェクト『HgShadow』を利用してみる事にしました。


■ MMDの外部親機能

 外部親機能の詳細については割愛します。簡単に言えば、モデルとモデルを関連付けさせる機能です。
 MMM版での説明となりますが、こちらの動画で概要を説明しています。


 MMM版とMMD版との大きな違いは以下の通りです。
 MMM版では、外部親関連付け先(親となるモデル)のモデルデータに『外部親:親Key』で『1』以上を指定しているボーン、もしくはルートボーン(ID:0番ボーン)のみが指定可能。任意のモデルとボーンに、外部親設定をする必要がある場合があります。
 MMD版では、外部親:親Key設定に関わらず、全てのボーンを指定可能となっています。
 PMXの仕様上、どちらでも問題ないようです。

 外部親の用途は様々ですが、今回のケースではレイアウトの利便性向上を目的として使用してみます。

 ここ最近ではモデルに『全ての親』ボーンが搭載されている事が多く、モデルの配置などはこのボーンを使って行っている人が多いかと推測します。
 ですが、配置の微調整などを行う場合、モデルの切り替えを頻繁に行う必要が出てくる場合もあります。
 ここで一括して、レイアウトを一つのモデルで管理する為に、ダミーボーンを利用します。
 ダミーボーンも標準で付属しているものでも良いのですが、より利便性を高める為に、ある程度の多段化を施した改造ダミーボーンを使います。
 私がよく使っているダミーボーンはこちらです。

SS_0151.pngSS_0152.png

 全てのボーンをワールド座標のゼロポイント(中心)に集め、3つのグループの下に5つのボーンを束ねたような多段構造にしています。
 人物モデルをC1グループ、背景などをC2グループ、エフェクトをC3グループで管理する、などといった使い分けができます。
 プロジェクトによって、グループやボーンを増減させればよいので、一つ作っておくと楽になります。PMXEditorであれば、10分程度で作れるでしょう。

 このダミーボーンと各モデルを関連付けします。
SS_0153.png
 モデルの全ての親を、ダミーボーンモデルにある任意のボーンを指定し、外部親登録を行います。
 キーフレームの登録も忘れずに。

 これを、今回は5人のモデルが居るので、C1グループへそれぞれ登録しました。
 これでダミーボーンモデルを選んでる状態のまま、5人の配置が一挙にできます。
SS_0154.png

 背景も同時に動かしたり、人物の動きに合わせてエフェクトなども動かす場合などは、この方法であれば一元管理しやすくなるので、作業効率も上がります。
 モデル毎の細かい微調整や、動きに合わせての調整などは、モデルにある『全ての親』を使用します。外部親との兼ね合いで見れば、この段階で全ての親が2段化(多段化)して使えるので、一隻、もとい一石二鳥でもあります。

SS_0155.png
 後半に出てくる烈風も同様です。
 一番機をダミーボーンと外部親登録で繋ぎます。外部親登録すると、親側ボーンから『>』マーク(○○先表示)が出るので、位置関係が掴みやすいです。
 二番機、三番機は、親を一番機の全ての親とし、編隊を組みやすくし、それぞれにも独自の軌道を描かせるようにモーションを付けます。
 動画では分かり辛いですが、一応それぞれバラバラには動いています。

 ……とまぁ、シンプルな使い方ではありますが、作業効率的には大分変わってきますので、この方法は割とお勧めです。


■ 針金Pの『HgShadow』と『HgSSAO』

 ヘヴィなシャドウエフェクトではありますが、その分、高品位な影が手軽に使えるようになるエフェクトです。針金Pのこだわりが見れる事でしょう。
 各パラメータの設定には多少の知識が必要ではありますが、付属のReadmeを読めば、何となく設定の方法も分かるかと思います。
 本来であれば、街などの背景モデルがあり、遠景と中距離、そしてカメラの近くにいる人物モデル、と3点揃っての影の出方を見ないと、このエフェクトの本領は出てこないでしょう。
 また、v0.0.2からは、モデルに制御用モーフを追加する事で、影のコントロールがモデル毎に行えるようなバージョンアップもされています。これはかなり強力です。
 今回の動画では遠景がほとんどないので、贅沢な使い方とも言えますが、実験兼ねての導入です。

HgShadow 適用前HgShadow 適用後
(左:適用前  右:適用後)

 よく見ないと分からない程度ですが、若干影のでかたがなだらかになった気がしないまでもない、という感じですね。
 なので、エフェクトを読み込めばそのまま影が綺麗になる、という訳でもありません。
 付属Readmeを読みつつ、適当に数値設定します。

HgShadow 数値適用後HgShadow数値

 かなり綺麗に!!

 各パラメータの説明はReadmeにもありますが、もう少しくだけた言い方で説明してみます。

(カメラの現在位置を中心として)
 X:影を作る一番近い位置(距離)
 これよりも短い距離には影を作りません。

 Y:影を作る一番遠い位置(距離)
 これよりも遠くの距離には影を作りません。

 この二つのパラメータは重要で、影の範囲を自由に設定できると共に、影の綺麗さにも影響を及ぼします。
 X、Y共にゼロのままにした場合、スクリプト内にある標準値が適用されます。
 X=2、Y=1000
 です。
 アクセサリパネルに入力した2つのパラメータは、この数字に足されます。つまりYに500を入れると、Y=1500となって処理されます。
 結構遠くまでの遠景がある場合は、Yの設定は欠かせないでしょう。
 この近い位置~遠い位置の範囲で、シャドウマップが描かれるので精度にも影響します。

 Z:シャドウマップ分割数(-1~+1の範囲)
 +1にすると、近い所も遠い所も均一に分割、-1にすると近い部分が精密になるような設定となります。

 Rz:分割マップのパース調整(-1~+1の範囲)
 0の時は標準に近いパースの掛かり具合になり、+1ではパースの具合が弱くなります。-1ではかなりパースが掛かります。
 影の出方や、カメラのパースの具合などを共に合わせてみましょう。
 特に人物モデルのアップの時などは、パースを調整したほうが綺麗になる事もあります。

 Si:ソフトシャドウのボカし度
 影をにじませる度合い

 Tr:遮蔽距離によってぼかしの強さを変える度合い
(これはいまいち、私自身よく分かってませんが、恐らく、影の元となる物体から影を描写する地面などの距離、によって影のぼかし具合を調整するものではないかな、と)

 Rx:影の濃さ(-1~+1)。
 文字通り影の濃さで-1で影が消えます

 Ry:近傍影調整パラメータ(-1~+1)
 カメラを動かした時などによくでる、影のちらつきなどを除去する為のパラメータです。数値が大きい(+1側)と除去しやすくなりますが、近い場所の影が消える場合もあります。

 これらの数値設定を行うにあたって、便利なサポート用エフェクトも『Option』フォルダに入っています。
 MMDでは、『HgShadow_TestAliasingError』と『HgShadow_TestViewShadowmap』などです。

HgShadow Option

  右上にある紅く染まっている四角の部分は、TestViewShadowmapです。MMDでも隠し機能として搭載されている、シャドウマップの状態を表示するものを、HgShadow用にしたものです。

 サーモグラフィのような表示になっているのが、TestAliasingErrorです。
 何を示しているかというと、おおまかに言えば
 「今のHgShadow設定だと、影のギザギザになりやすいポリゴンはこれっすよ」
 というのを赤く表示してくれるものです。
 真っ赤だとダメってわけでもないですが、影のエッジがギザギザになりやすくなりますので、HgShdaowの設定をいじってみると良いでしょう。

 この二つ、もしくはどちらかを使って、影の調整をすると楽になります。
 が、私はこのエフェクトの使い方を、動画アップしてから気づきました……。

 とにかく、親切設計なので、上級者向けエフェクトという訳でもありません。
 ただし、グラフィックボードのメモリは結構食うので、メモリが多い人が有利にはなるでしょう。
(ウチの1GBメモリでは、結構いっぱいいっぱいになり、他のエフェクトとの併用が厳しくなります)


 さらに、この状態からHgSSAOを加えます。
 HgShadowが強力すぎて、SSAOが必要かと思う所もありましたが、やはり些細な部分での影のでかたを調整するにはSSAOなどは楽なので利用します。
 今回はかなり薄めなので、赤城などの夜筒の影などが若干変わるくらい、もしくは脇下のあたり、という具合でうっすらと掛けています。
 HgShadowは一端オフにし、HgSSAOのデフォルト導入時の違いは下の図の通りです。

HgSSAO OFFHgSSAO ON
 顎のラインや、後ろの矢羽根などが分かりやすいかもです。

 設定するパラメータも二つだけです。

 Si:AO影の濃淡
 Tr:フィルターの掛かり具合(SSAOの掛かり具合)

 
■ その他

 今回は、AlternativeFullなどのシェーダー系やCroquis改の出番は無し。そもそもメモリがギリギリだったもので。
 とはいえ、Croquis改までならば使えたかもしれません。法線エッジだけでも足せば良かったかな?と若干後悔中ではあります。
 質感調整などは、文字入れなどと同時にAEで全て処理。
 が、MMDデフォルト質感も悪くないというか、照明調整だけでも結構、綺麗に見せられるなとは思うです。
 照明の調整は、いつも通り、ALL 154ではなく、今回はALL 97まで落とし、カメラアングルに合わせて照明方向を調整しています。
 また、面倒がらずにセルフシャドウの距離調整も行います。HgShadowにも影響を与えるので。

 やり忘れた処理のひとつで、Waterエフェクトの調整をするのを忘れてました。
 MMMではスペキュラカラー(水面の反射色)などを、パネルから直接変えられます。その癖のままに、MMEでやってたのでデフォルトのままでした。
 スペキュラカラーなど、そのままで使っている人も多いようですが、場面によって変えるのをお勧めです。

Water.fx 標準(標準状態)
Water.fx 改変(変更後)

 標準状態ではRGB(0.5 , 0.5 , 0.5)というグレーになっていますが、任意の色に若干振り分けたり、スペキュラ自体を抑える事で、無駄にキラキラして、モデルの色合いなどが沈んだように見えてしまう事を避けられます。

 私も、この手の作業は後回しにしてしまってそのまま忘れたり、そもそも面倒がってやらなかったりで、後悔する事もあったり、動画の評価に影響を与えてしまう部分でもあるので、出来るだけ気を付けたい所です。


 今回のエントリは以上です。
 たぶん……
スポンサーサイト

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

【MMD・MMM】Croquis改について

 さて、Lessさんがリリースしているシェーダーエフェクト『AlternativeFull』、そして先日リリースされた『Croquis改』(データP制作のCroquisエフェクトの改良版)を使い、MMDでもセルルックに近いものが作れるようになりました。
 そのCriquis改について、このエントリーでは軽く触れてみます。

■ Croquisとは何ぞ?
 Croquis(クロッキー)とは美術用語で速写(速写画)の事を指します。このエフェクトでは、その速写のような線画を出すエフェクトとなります。
 ぱっと見た目、エッジを描写するようなエフェクトではありますが、MMDの通常のエッジ描写方法とは異なります。
 このエフェクトでは、輪郭抽出方式での描写となります。

 Lessさんの改造したエフェクトでは、輪郭抽出方法をさらに付け加えて、よりアニメ的なエッジ描写を行う事を目的としたエフェクトとなっています。

こちらはMMDの標準エッジ(デフォルト描写)
Croquis_01.png

で、よく見ると細かい所ではありますが気になる部分が見受けられます。
Croquis_02.png

Croquisエフェクトでこれらの問題が全て解消される訳でもありませんが、太さ以外のコントロールが難しかった部分を弄れるようになります。

↓こちらがCroquisエフェクト適用後
Croquis_03.png

 画像をクリックして拡大しご覧頂ければ差が分かるでしょう。通常のエッジ描写と比べ、いくつかの問題点が解決されているのがわかるでしょう。

 ただ、Croquisエフェクトはそのまま放り込んだだけでは標準エッジとの差が出ないので、各種設定が必要になります。
 逆に、MMD標準エッジ描写と組み合わせて使えるとも言えます。

■ Croquisエフェクトの使い方

使い方は、Lessさんのブロマガ
Croquisエフェクトを改造してみた - いまさらblog
http://ch.nicovideo.jp/LessThanEqual/blomaga/ar322648

 こちらと付属のReadmeにも書いてありますが、ここでも説明します。

1:エフェクト適用後、モデルのエッジ描写を『0』(ゼロ)にする。
Croquis_04.png

2:アクセサリパネルで、Croquis.x設定のX/Y/Zの各軸を『1』に設定する。
Croquis_05.png

すると、エフェクトが適用されたのがわかるはずです。
同じくアクセサリパネルの『表示』ボタンのオン・オフで差を見てみると良いでしょう。

Croquisはポストエフェクトなので、モデル個別にかけるシェーダーエフェクトとの併用が可能ですので、セルルック(アニメ調)にする事もできます。


■ 各種エッジ描写方法について

 Croquisは3つのエッジ描写方法が用いられています。

・法線エッジ(X軸設定)
・深度エッジ(Y軸設定)
・色差エッジ(Z軸設定)

 この3つの出かたを調整する事で、好みのエッジを作ることができます。

▼ 法線エッジ(X軸設定)
Croquis_06.png
形状の淵部分にエッジがでます。
正しくは、面の向き(法線)によってエッジの出力が変わります。

▼深度エッジ(Y軸設定)
Croquis_07.png
奥行方向の距離の差が大きいところにエッジを描写します。

▼色差エッジ(Z軸設定)
Croquis_08.png
色の差の段階部分にエッジを描写します。
特に色差エッジの効果が出やすいのは、UVテクスチャが適用されたモデルとなります。
色の差が出てる部分にエッジが描写されるので、模様などが描かれている部分にも線が出ますので、より手書きっぽい感じが出せます。
(図では分かりやすいように極端にかけています)

 これら3つの描写方法と、Si(サイズ:エッジの太さ)、Tr(エッジの透過度)の数値を操作する事で、好みのエッジが作れます。

 Croquis_10.png

 コントロールはそれぞれの軸への数値入力となります。数値に合わせたエッジの太さとなります。

Croquis_11.png標準エッジ
Croquis_12.pngCroquis

 パースのかかった状態で見ると、より変化が分かりやすくなります。
 MMD標準エッジでは指先の方のエッジが太くなってしまいますが、Croquisではエッジの太さは均等になり、カメラ距離はパースに影響される事は少なくなります。

 逆に、均一が故に、カメラを引く(ロングショット)になる場合は注意が必要です。
Croquis_13.png
 線が均一になるので、顔のようなエッジが集中してしまう箇所は潰れてしまいます。

 MMD標準ではモデル毎にエッジの太さは指定できるものの、プロジェクト内でタイムラインに沿って可変させる事はできませんが、エフェクトであれば、カメラに合わせてエッジの太さも調整できるので、このエフェクトの強みともなります。

Croquis_14.pngCroquis_15.png

 使い慣れるまでの調整するコツとしては、まずSi(サイズ)にて太目に設定し、法線、深度、色差それぞれを0~1の間で個別に設定していき、好みの部分、もしくはエッジを出したい所に出るように設定をトライ&エラーで組み込み、最終的な全体のエッジをSiで決める、という方法になるかと思います。
 また、Trを使ってエッジの強度とでもいいましょうか、でかたを調整するのも良いでしょう。


■ アドバンスな使い方

 さらにCroquis改では、エッジ処理の多様化ができるような仕様が組み込まれています。

・エッジストレングス(エッジマスクマップ)
 UV情報を使用し、エッジの太さやエッジのオン・オフをテクスチャから読み込む機能です。エッジを出したくない箇所にマスクをしたり、より手書きのようにまだらなエッジを描く事もできます。

・AOエッジ
 そぼろさんのExcellentShadowエフェクトに同梱しているExShadowSSAOと組み合わせる事で、暗い部分を太くする描写を行うオプションです。(MMD版のみ)

・エッジカラー
 エッジに任意の色を乗せるオプションです。

 この辺りはLessさんのブログ(前述)に効果と設定の説明がありますので、そちらをご覧ください。詳しい設定については付属のReadmeにもあります。

 さらにオプションとして、アンチエイリアスオプションがあります。
 Croquis.fx(MMM版はcroquis.fxm)をテキストエディタで開き、62行目(MMM版は56行目)にある

#define ANTI_ALIAS false

 の部分を

#define ANTI_ALIAS true

 に書きかえることによりオプションが掛かります。
 通常は、4倍角(最終的に640x360にする場合、1280x720で出力して、編集ソフトなどで縮小する)で出力した方が綺麗にはなりますが、最終をHDで出したい場合で、かつグラフィックメモリが足りなく、4倍角出力ができないケースなどは、このオプションを使用する事でギザギザの少ない綺麗なエッジになります。
 その分、処理は重くなり、それなりに使用メモリも増えます。
 MMM版ではこのオプションがデフォルトでオンになっていますので、逆に軽くしたい場合などはオフ(false)にすると良いかもしれません。


■ シェーダーとの組み合わせ

シェーダーとの組み合わせ時でも印象はずいぶん変わります。エッジ調整もシェーダーに合わせたものが必要となるでしょう。

AlternativeFullとの組みあわせ
Croquis_16.png


Figureとの組み合わせ
Croquis_17a.png

 特にFigure系やAdultShaderのような、より立体感が増すリアル寄りなシェーダーとの組み合わせで、エッジをオフにする人を多く見かけますが、背景との兼ね合いに困る事が多いと思います。
 特に背景も明るい色だと、背景と溶け込みすぎて存在感が薄れてしまうケールもあったりします。
 そんな時に、このエフェクトを使ってうっすらとエッジを加える事により、モデルの存在感を浮きだたせる事ができます。
 下の画像はエッジ無しの状態ですので、見比べてみてください。
Croquis_17b.png
(指先のハイライト部分などが分かりやすいです)


■ ひと手間かけて好みの絵柄に

 エフェクトに限った話ではありませんが、モーション以外の事は大抵ひと手間を掛けてしまえば、後は使いまわしが効きます。特に決まったモデル(嫁)を多く使う場合などは、各種数値やテクスチャなどを容易すれば、その後は楽に好みの絵柄が作れるようになります。
 ○○○48など、大人数出す場合は確かに“ひと手間”では済まないですが……。
 時間が空いた時や、今やってる作業に疲れたりした時にでも、ちょこちょこと数値を追いかけたりするのも手です。

 とはいえ、今でこそ多くなったUVテクスチャが張られているモデルならば調整しやすいですが、標準モデルのようにUVテクスチャが無いモデルを設定しようとすると少し手間が掛かります。
 また、エッジ描写の基本が法線による描写なので、モデルの法線がしっかりとしている必要があります。
 この辺りとなると、法線編集の知識などが必要になってきますが……興味が出たら調べてみると良いかもしれません。PMXエディタには法線編集する機能もありますし、便利なプラグインもあります。
 特にセルルック調を目指す場合は、この辺りの知識があると便利です。

 ただ、どうしてもエフェクトだけでは解決できない問題も多くあります。
 特にエッジやシェーダーを弄り始めると、こういう部分が気になる人もでてくるでしょう。

Croquis_18.png

 ポリゴンの角張りです。
 DirectX11のテッセレーション機能や、他3DCGソフトにおける曲面化処理などがあれば綺麗にもできるかもしれませんが、残念ながらMMD・MMMにはその機能はありません。
 現時点では角張りを防ぐためには頂点(ポリゴン)を増やすしかありません。
 メタセコなどのモデリングツールで細分化するか、PMXエディタなどのプラグインを使っての細分化となります。

 ただ細分化しただけでは、ポリゴンが増えただけなので、角張りがなくなるように自分で頂点を動かしていく必要があります。


■ 最後に

 MMDでアニメを(できればセルルックで)
 という夢に一歩近づけた気がします。もっとも、他力本願的ではありますが……。

 プロの世界では3DSMAXとPencil+、BlenderでもセルシェーダーとFreeStyle、とでセルルックが作れるようになっているようですが、まさかMMDでもそれに近しい部分まで近づけるとは思ってませんでした。

 最後となりましたが、
 舞力介入P、Lessさん、データP、ビームマンP、ミーフォ茜さん、エーアイスさん、極北Pに感謝を。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

tag : MME エフェクト

MMDにおけるSSAO

※このエントリは中途半端な知識と理解によって書かれています。情報の正誤などは他ソースなどと比較して自己責任にてお読み頂ければと思います。

 MMDにおいてSSAOを使用している方は多いと思いますが、その効果や仕組みを(ある程度でも)理解しながら使われている人はまだ少数かもしれない、と思い至り、記事にしてみます。
 技術的内容になり、少々眠い内容かもしれませんが……。
 これまた、前提となる知識がある程度必要となります。

■ AOとは

 SSAOのAOは「アンビエントオクルージョン」、直訳すると『周辺光の閉塞』とでもいいましょうか。
 簡単に説明するとデコボコがある凹み部分の光の反射の仕方、もしくは影の出方を計算する方法の一つです。
 光源から光の筋を計算、屈折・透過処理などを順次行う単純なレイトレーシングでは、なかなか光が入り込まない部分の計算は非常に重く、うまく表現しにくく、複雑な凸凹がある物体などはどうしても影の柔らかさが作れませんでした。
 AOではより高速かつ綺麗に影を作る方法だと思って頂いて大丈夫かと思います。

 AOの技術的な内容、またスクリーンショットなどはこちらが参考になるでしょう。

CINEMA 4Dトレーニングサイト
http://c4d-training.jp/?p=483



■ SSAOとは

 SSAOとは、AOの簡易版です。AOそのものは高速といえどもリアルタイム処理ができる程軽くはありません。
 SSAOは「スクリーンスペース・アンビエントオクルージョン」の略です。
 先ほどのCINEMA4Dのサイトをご一読すれば分かりますが、AO設定自体はマテリアル、MMDで言うところの材質に設定するものです。
 MMDにおけるSSAOはポストプロセスエフェクトです。つまり、一度全ての形状をレンダリングしてからの処理となります。
 一度、画面を作成してからAOを掛ける方式です。この方法だとかなり処理も早く、ゲームなどでも多用されている方式です。
 AOに比べて質感は落ちますが、似たような効果をリアルタイム処理できるというメリットがあります。
 SSAOについての簡易的な説明は以下のサイトも併せてご覧になると良いでしょう。

Unity - Unity Manual
http://docs-jp.unity3d.com/Documentation/Components/script-SSAOEffect.html


 SSAO自体は、Crytek社(ゲーム『Crysis』などを開発している会社)が開発した技術です。
 DirectXのHLSL用ソースは、現在では色々な方が書き上げてネットに散見される、割とスタンダードな技術となっています。

 MME用エフェクトスクリプトでの初出は、mqdlさんのSSAOエフェクトとなります。


 それを元にした改変版などは、そぼろさんやおたもんさんにより、改良版として配布されています。


■ ExShadowSSAO

 そぼろさんが配布されているExcellentShadowに付属しているExShadowSSAOですが、こちらもSSAOではあるものの、MME上ではポストエフェクトとしては機能しません。
 ExShadowSSAO.xをMMDに入れても変化が無く、使用をあきらめている方もいらっしゃるかと思います。

 ExShadowSSAOはMMEではシェーダーエフェクトとして機能します。

 つまり、ExcellentShadowに付属している Full_ES.fx(Full_ES_pmx.x) をモデルないしアクセサリに適用させる必要があります。
SSAO_01
 ExcellentShadowは負荷のかかるエフェクトではありますが、fxファイルにあるパラメータを弄る事により、軽減化させる事もできます。

 ExShadowSSAOの最大のメリットは、シェーダーと共に材質毎に掛けられる事です。

 ポストエフェクト版のSSAOでは画面全体に掛かり、影が出て欲しくない背景部分などにもSSAOが掛かってしまいますが、材質毎に設定できるExShadow版では必要な部分にだけSSAOを掛けることができ、影の管理が楽になります。


■ 影の出方の違い

 恐らくスクリーンショットを見て貰った方が早いでしょう。

MMD標準状態
SSAO_02

o_SSAO_v0_5
SSAO_03

ExcellentShadow + ExShadowSSAO
SSAO_04

 首の後ろの髪、第一砲塔と第二砲塔の間部分などを見比べると分かるでしょう。

SSAO_05


 ポストエフェクトタイプのSSAOでは、影が濃くなり、一見するとディフュージョンに乗算を掛けたようなものと似たような結果に見える事もあります。
 効果としてはデフュージョンとは違い、あくまでも影を付け足すエフェクトなので混同しないようにしましょう。
 処理としても、SSAOを掛けてからディフュージョンを掛けた方が綺麗な結果になり得ます。


■ ExShadowSSAOの汎用性の高さ

 ExShadowSSAOはSvSSAOを元にされているスクリプトで、法線マップ、深度マップを作成して他エフェクトに引き渡す役割を担っています。ですので、他エフェクトから呼び出されない限りは処理されません。組み合わせで使うエフェクトスクリプトとなります。

 ExcellentShadowの場合は、full_ESからExcellentShaodw及びExShadowSSAOに情報を渡し、ExShadowSSAOの結果をExcellentShadowにて処理、出力するという処理になっています(よね?)

 その為、実は結構な数のエフェクトでExShadowSSAOを使用できるようになっているスクリプトは多いです。
 先日紹介したAlternativeFullにも呼び出し機能はありますし、ビームマンPのエフェクトなどはソースを見るとExShadowSSAOの呼び出し部分があったりします。
 私も全てのエフェクトを網羅している訳ではありませんが、
SSAO_06
 このようなソースがあれば、呼び出しているのが分かります。
(図はビームマンPのWaterMain.fxより)


■ まとめ

 つまり以下の点を覚えておくと良いでしょう。

・SSAOはポストエフェクト
・SSAOはコントラスト調整ではなく、影の生成と書き加えるエフェクト
・SSAOはシーンによって使い分けたり、パラメータ調整をするとよりGOOD
・多数のエフェクト作者のものが配布されているので、好みやシーンで使い分けてみよう
・ExcellentShaodw+ExShadowSSAOはより高品質が目指せる
・ExShadowSSAOなどは他エフェクトでも活用されている場合もある。ソースを見てみよう

 となります。
 どのSSAOエフェクトでも言えますが、パラメータといってもソース内のものもそうですが、MMDでのアクセサリ設定にあるSi(サイズ)、Tr(透過度)の設定を変えるだけでもかなり違いますので、エフェクトを入れるだけでなく、この辺りも調整すると良いでしょう。


 さて、前回のエントリからの流れでいうとセルルックベースでのSSAOの使い方などを説明したい所ですが、長くなりますので今回はここで締めます。
 また時間が空いた時にでもまとめてみます。


 それでは良いMMDライフを。


 コンゴウ様と金剛さんは並べると意外と相性いいかもしれないと脳内妄想をしつつ。

Toon表現とシェーダー

※このエントリは中級者向けです。一応初心者でもわかるように記していきますが、ある程度の3DCGモデルの概念とシェーダーの概念を知っている必要があります。ご了承下さい。
しかも長いです。

■ Toonと一言で言っても……
 そもそもMMDの基本シェーダーがToonベースであり、それをそのまま使っても良い訳です。あとはそれを好みとするか、そういうものと理解した上で使うか、他シェーダーを使うか、という事になります。
 質感に関しては良し悪しであはなく好みの問題なので一概に括る事は難しいです。

 さて、以下の話をするにあたってこの前提は大事で、これから話す事はあくまでも個人的趣向に基づいている事を理解して頂く必要があります。

 MMDのデフォルトシェーダーは好きか嫌いかで言えば、好きな方ではあります。ですが、付属のモデル設定の影響も大きいのか、その後にリリースされているユーザーモデルもそれを基準としている事が多いです。
 デフォルトシェーダーは好きではありますが、「輝度が高い」という意識はずっとありました。
 特にAutoLuminousやDiffutionなどと組み合わせると、画面全体の輝度が高くなり、ふわっとした感を出すのは楽ですが、落ち着いた感を出すのが難しい、また色味がその分薄れてしまうという問題がありました。
 別な言い方をすると、比較的リッチな感じを出すのは楽ですが、しっかりと見せよう(特に色味)とすると、コントロールが難しいというのがあります。

Toon_001

 画面における、陰影の割合。
 これが画作りには重要な役割を果たします。


 陰影、というとすぐに思いつくのは、セルフシャドウ系かもしれません。
 MMDには標準でセルフシャドウがありますし、高品質を目指すならExcellentShadowなどもあります。
 また、SSAOなどもありますね。
 これらの影を使えば、より楽に立体感を出す事は出来ます。

 が、陰影という部分で、特にアニメ的・Toon的な表現をするにあたって、SSAOやセルフシャドウの扱いというか、その表現を良とするか否とするかは難しい判断です。
 何せ影が二重になる訳ですから。

Toon_03Toon_02

 影が加わる事により、立体的に見せる事ができます。また演出的にも影の存在は重要です。
 あとはその影の出方や出る位置、濃さなどをどうコントロールするかです。

 MMDのToonは簡単に言うと、光が当たってる所と暗くなってる所を2段階に切り分けて表示します。
 設定の状態は、ご存じToon.bmpを使用しており、PMD/PMXEditorなどで材質毎に設定しているアレですね。
 最近ではMMD標準Toonだけではなく、独自のToonを設定してパッケージに付属させていたり、場合によっては独自シェーダーとセットになっている事もあります。

 Toon設定の変更だけではどうもしっくりこない、という時にはシェーダーと組み合わせる事も増えてきました。
 シェーダーの種類も豊富になり、かっつりとセルアニメ調なToonから、リッチでなだらかな質感(いわゆるエロゲ塗り)なものまで多種にわたります。



(セルフシャドウオフ。照明方向をミクさんの左手側からに設定)

大抵の場合、特に標準モデル系であればそのままシェーダーを割り当てても良い感じで表示されるので、設定を弄らなくても、それっぽく見えたりはしますが、ことユーザーモデルに適用させるとすると問題が出てきたりします。

 技術的な問題としては、元々ある材質設定やToon設定と変わってしまう事、心情的にはモデラーがセットアップした内容を一部無視する事になるという事。
 前者はシェーダーを設定すればいいのですが、後者は何とも言えない時も……。
 後者はともかく、ここではシェーダーに触れていきます。

 シェーダーの再設定は結構難しい場合もありますが、AlternativeFullやHAToonには最初から設定補助用のツールが付属されています。

 さて、ここから沼の始まりです。


■ Toonの設定(AlternativeFull)

 拙作では主にHAToonの方を使っていましたが、今回はAlternativeFullにチャレンジです。AlternativeFullについては前にエントリでも記しましたが、実運用したのは初めてとなります。
 概要説明はこちらのエントリをご覧ください。
Blog_20131021_09.png
 様々な設定項目がありますが、このシェーダーでのキモは『シェーディング1』タブにある『シェーディングヒント用テクスチャ』です。
 このテクスチャの設定と格闘する事で、後に設定する部分も生かされてきます。なので、このシェーダーを使う時には、ペイント系ソフトが必須という事になります。
 付属のヒントテクスチャもありますので、そちらを参考にすると良いでしょう。
Blog_20131021_08.png
 この一枚のテクスチャで陰影の傾向・ハイライトの傾向が決まります。
 このテクスチャではグラデーションが掛かっていますが、かっつりとアニメ調というか二段階にしたい場合は、グラデ部分を無くします。
 Blog_20131021_10.png
 ここまではいいのですが、問題はここからです。

 まず陰影の境目ですが、くっきりと分けた方が良いのか、それとも1ドットでも中間を置いた方が良いのか、これでかなり影の出方が変わります。影との境目をシャープにするか、ほんの少しだけ柔らかくするかの差ですね。
Blog_20131021_11.png
 さらに、白の部分と黒の部分の割合を変える事により、影部分となる閾値を変える事ができます。
 服などは半々くらいでも良いのでしょうが、肌や、特に顔などは影が多く乗りすぎると印象が悪くなったりします。

Blog_20131021_12.jpg
Blog_20131021_13.jpg

 これでやっと丁度いい具合の影割合ができたと思ったら……
 当たり前ですが、モデルは動きますし、照明の設定でも影の出る部分は変わってきます。静止状態で良しとしても、動いたら「アチャぁ」なんて事はザラにあります。

 汎用的な設定というものは、“無い”という認識で、動き回っても丁度良い影と光の割合を、ペイントソフトと共に行います。
 1ドットの差でも結構大きく変わりますので、この辺りは試行錯誤してみて下さい。

 これがモデル全体に適用できるなら良いですが……そうもいきません。
 全材質に個別シェーダーを、とまでは言いませんが、肌・髪・服・その他くらいには分けた方が良いでしょう。
 配布されている各サンプルシェーダーに、そういった専用のものが付いているのが、この理由です。

 AlternativeFullにおけるシェーディングヒントテクスチャでは、横方向をベースに陰影をつける形になりますが、縦方向を無視している訳ではなく縦方向の変化も読み取ります。どうなるかは──お試しください。

■『GLIDE』におけるケーススタディ


 さて、追い込みはまだ甘く感じる所もありますが、AlternativeFullを活用した動画となります。
 金剛さんだけでなく艦体の方にもシェーダーを掛けています。
 今回は、ExcellentShadowやセルフシャドウを一切排し、SSAOにも頼らずにどこまで立体感を維持しつつ、トゥーンシェーダーで追い込めるかという事を目標にしました。
 金剛さんはもちろん、おおまかな材質毎にシェーダーを割り当てています。

Blog_20131021_14.png
 赤丸で囲んである所をご覧ください。心霊写真とかではないのでご安心を。

 それぞれの影の割合、場合によっては影が出ている方向が若干変わっているのがわかるでしょう。
 リアルな事を考えれば、割合はともかく方向まで変わってしまうとチグハグになってしまう、となりますが、アニメをご覧になればよく分かる通り、そうとう大幅に変わってない限り(真逆だったり)しなければ、視聴者はそんなに意識しません。
 むしろ、影が多くなって見辛くなるよりは、嘘だと分かっていても分かりやすいものを好む傾向が強いと考えています。
 なので、肌・髪・服・顔、そして金剛さんの場合は艤装も別シェーダーにし、それぞれの質感に合わせた影の出方を設定しています。
 今回は肌における元々のToonの出方との兼ね合いをどうしようか迷いましたが、そのままにしました。2段階のToonとなっています。

 影の濃さ自体は、AlternativeFullであれば、ヒントテクスチャだけでなく、『シェーディング2』のタブで設定ができます。
Blog_20131021_15.png

 今回は室内ではなく外撮影、という感じなので影は薄めです。より濃い影にして夕方っぽさを強く出す演出もアリですが、今回は敢えて大人しめにしました。

 照明は途中での変更はなく固定です。
Blog_20131021_16.png
 MMDでのデフォルト値は154ですが、これだと明るすぎて色飛びの原因ともなりがちです。特にDiffutionやAutoLuminousなどの光系と組み合わせる時には、デフォルト値より低めに設定する事をお勧めします。
 全体的な輝度や彩度はAVIUtlを始めとした編集ソフトなどでも管理できますので、ここでは一番見せたい被写体に合わせておくと良いでしょう。
 もちろん、背景の色合いや輝度によっても変わってきます。白っぽい背景なのに照明を落としすぎるのも良くないでしょうし。その辺りの調整は必要です。

 今回の場合は、夕焼け背景ですので明るめの背景ではありますが、被写体を暗くする事によりコントラストを持たせる事を目指してます。
 全体が明るければOKではなく、明と暗のバランスを取る事が画作りには欠かせません。

 ですがそれでも巨大構造物の影に隠れたりして暗くなってしまったりコントロールするのが難しいケースもあるでしょう。
 そういう時は、一つのケースとしては、セルフシャドウなど余計な影を出しやすいものをカットしてしまう事、もう一つは『Panel Light』の出番です。
 
 今回の動画ではパネルライトを2つ使用しています。
Blog_20131021_17.jpg
 1つ目のライトは下からのフォローライトです。2つ目は太陽光の明かりを人物周辺に対してだけ追加するようなフォローライトです。

Blog_20131021_18.jpg
 エフェクトをオフにした状態では、これだけ暗くなります。なので最初に照明設定をしてからではなく、エフェクトをある程度調整した上でのMMD標準光源の設定となります。

Blog_20131021_20.jpg
 エフェクトONで、パネルライト追加前の状態。

Blog_20131021_19.jpg
 パネルライト追加後。

 DiffutionやAutoLuminous(LightSampleing)との兼ね合いを見ながら、それぞれのパラメータの調整となります。
 PanelLightを含め、いくつかの照明エフェクトは、Toonの影方向などには影響を与えません。この場合だとToonの影方向を決めているのはMMD標準照明の方向設定となります(セルフシャドウ系は異なります)。
 そこで、どうしても顔に出てるToon影の方向だけは変えたい場合などは、AlternativeFullの照明を使うと便利です。
Blog_20131021_21.png
 今回は使いませんでしたが、照明の種類も『標準』『ランバート』と選べますし、最大3つのライトが追加できて便利です。
 フィルライト1はMMD標準照明と同じ方向、2は逆方向、リムライトは文字通り逆光方向となります。

 
■ 光と影と
「照明とは光の当て方ではなく影の作り方である」
というのは、映画『マルサの女』で照明をされていた桂昭夫氏(第11回日本アカデミー賞 優秀照明賞)の言葉だったでしょうか。
 というか、日本のドラマ、特に時代劇では昔から影の作り方に凝っていましたし、日本建築も程よく外の光を取り込みつつ、どう和らげるかという設計に基づいているそうです。
 CGでもシェーディングという言葉にあるように、明るくする為のものではなく影の作り方そのものとなります。

 トゥーンシェーディングは実際の撮影やレイトレーシングに比べるとシビアではありませんが、アニメにおける陰影の作り方、かつ色数が限られた中でどのように表現するかという部分では別の道ではありますが、進化し続けている所でもあります。
 また、昨今のアニメではトゥーンでの3DCG表現において実用化され、特にこの秋のアニメでは多用されています。
 さすがにAutodesk系のソフトと同等のものという訳にはいきませんが、MMDでも近い所まで、誤魔化しを含めていけるのではないか、と私は考えていたりします。
(フリーソフトで追い求めるのであれば、Blenderが良いでしょうが……)

 今回はサワリではありますが、よりセルアニメ的な質感を学んでみようと試みた結果、というか第一歩でもあります。
 今まではシェーダーを割充てて、それで済ましてしまっていたので。

 この辺りの質感の追い求めは、シェーダーを組める人の間では昨年辺りから活発になっています。その結果として出てきているのが、各種シェーダーとなります。
 各シェーダーは個性があり、またそのまま割り当ててもよいものも多いです。が、やはりモデルやシーンに合わせて、シェーダーをカスタマイズするのがベターである事はいうまでもありません。

 サブセット展開をして、材質個別に割り当てる、かつ割り当てるシェーダーを各個調整するというのは手間ではありますが、何も無かった以前の状態よりは簡単になっています。
 最新版のMMEではPMXモデルであれば材質名を読み込んでくれるので、割り当ても簡単になっています。

 質感調整は、これもまた沼ではありますが、一度がっつりやってみて勘を掴み、作る映像に更なる花を添えてみるのもお勧めします。

 今回はサワリ程度の内容ではありますが、以上とします。
 沼は一つだと思ったら大間違いですよ。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

【サポートツール】パスメーカー ver2.0.5

「ビームマン寝ろ!」とはよく聞くネタですが、lessさんやそぼろさんなど魔法使いの人たちに睡眠行為というのがあるのか、疑問に思う今日この頃です。
そぼろさんの作られているパスメーカーがVer2.0.5にアップしました。

そぼろさんのSkydrive - PathMaker2.0.5
http://t.co/GpEBhLyd


パスメーカーは空中戦や納豆ミサイルファンには必須ともいえるサポートツールです。
思い通りの軌道を描くモーションを作成するものです。

パスメーカー2.05


(動画は初期バージョンの説明です)

視覚的に確認しつつ軌道を作る事ができ、また3D表示で扱いやすくなったり、背景モデルと組み合わせる事で建造物にめりこまない軌道を作る事もできたりと優れものです。
使い方はすぐにわかるようなUIになっていますし、そぼろさん安定の丁寧なreadmeも付属しています。

今回のバージョンアップでは、

・宙返り対応
・背景モデル描画のマルチスレッド化
・到達フレーム固定機能追加
・表示状態をプロジェクトに保存できるように
・再生時にアクティブレイヤーのみ表示するオプション追加
・不正なデータ出力がされる場合に警告を出すように
・バグ修正

高速化と便利機能の追加、そしていくつか報告されていたバグの修正となっているようです。
バトル物や弾幕動画を創れといわんばかりの機能ですね。

いくつかモーション生成時のバグなども修正されていますので、前バージョンをお持ちの方はバージョンアップをお勧めします。
またこれから使ってみようと思う人にもお勧めです。

パスメーカー、インパルスモーフ、エクスプレッションなどと組み合わせたら、もう作れない挙動がないのではないかというくらい充実してきました。
(複雑な機構を作ろうとすると限界はあるでしょうが)

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

tag : MMD サポートツール

PMXEditor0216とMikuMikuMoving1.1.8.2

さて、何気にぽろっと生放送で言ってしまった要望が通ってしまった事に少々罪悪感を感じてるエントリの第二弾。

PMXEditor 0216 - とある工房
http://kkhk22.seesaa.net/

それに追撃があったMikuMikuMoving 1.1.8.2
MikuMikuMoving - MoggProject

です。

今回の更新ではPMX2.0フォーマットに追加機能がありました。
詳しくは極北Pのブログにある0216のエントリをご覧ください。

簡単に掻い摘むと…

物理変形後の付与ボーンは下位に影響しなかったが、「ローカル付与」フラグを立てる事により、連動可能となった。

ということです。
例として、PACさんの時計塔を使います。


ローカル付与1

時計塔の構造は、「時計合わせ」ボーンを親として、下位のギアが連動して動くようになっています。
それぞれに回転付与と付与率が設定されていて、ギアがうまく噛み合いながら動きます。

従来であれば、この構造の「時計合わせ」ボーンに回転用剛体を仕込んでも、一つしか動かせませんでした。
これは付与をそのまま下位にも渡していくと変形が崩れてくる仕様なのです。

今回の更新では、この付与に「ローカル付与」フラグを立てる事で、物理変形後の状態を親から取得し、かつ付与された状態で該当ボーンも変形を行うようになりました。
物理挙動を一つ仕込む事で、付与ボーンの連動ができるようになった、という事ですね。

ローカル付与2

設定方法は簡単で、例で言えば「時計合わせ」の下位にあたるボーン、図では「1番車真親」ボーンですが、これに

・物理後ボタンをオン
・付与親項目の「L」(ローカル付与)ボタンをオン

にするだけです。
これを「時計合わせ」の下位一段目のボーンに適用すれば、全てが連動するようになります。

ローカル付与の注意点としては、孫や祖孫までローカル付与させていくと変形がおかしくなる事です。
この辺りは極北Pのブログに記されていますので、参照してください。

基本的には一段目くらいまでに収めておくと良いでしょう。
(逆に、妙な動きにしたい時にはあえて使うのもいいかもしれません)

ローカル付与3

少し余談となりますが、PMXEditorでは、ボーンをツリー表示できますし、かつ物理前・物理後でどういう構造なのか分かりやすくなっていますので、モデルチェック時に活用できるでしょう。

この構造はMikuMikuMoving 1.1.8.2にも搭載されていますので、同じように使う事ができます。

また、Ver1.1.8.1~Ver1.1.8.2の変更点は以下の通りです。

・列フレーム挿入/削除の対象にボーン/モーフ/プロパティを個別選択できるようにした
・ローカル付与に対応
・インパルスモーフを持つモデルを読み込み、物理を無効にするとエラーが発生するバグを修正
・SDEFでセルフシャドウなどがおかしくなるバグ修正
・その他細々修正

この中でも、列フレーム編集機能の更新は非常に有難いものです。

フレーム編集

編集メニューを開き、右側にある「列フレーム操作」の部分に項目が増えています。
ボーン、モーフ、プロパティ とチェックボタンが増えています。
1フレームずらしたりするときに使う機能ですが、これまではこの3種が一括して動いてましたが、チェックのオン・オフで対象が変わります。
表情を動かさずにボーンだけキーフレームをずらしたい場合などは、モーフとプロパティのチェックを外せば、ボーンだけが動きます。
ショートカットキーの「I」「K」でも同じ動きになります。
ダンスモーションなどでは、リップはそのまま動かさず、全体的に動作をずらしたい場合などは、これがあればかなり楽になります。

デフォルトでは従来通りの挙動となるよう、全てオンの状態になっていますが、用途で使い分けしてみてください。

何気にこの更新も大きいので、お勧めします。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

tag : PMXEditor MikuMikuMoving PMX

Face and Lips v0.3.8.1

半年ぶりのリリースとなります。モーフ編集ツールのFaceandLipsが久々に更新されています。
(年末にも一度更新が掛かってましたが…)

mogg Project
https://sites.google.com/site/moggproject/


・材質モーフ使用時にエラーが出ていた現象を修正
・VSQ読み込み時、テンポの変更が反映されるようにした
・特定条件で表情の最終フレームがVMD出力されなかったバグ修正

との事で、主にバグフィックスでのリリースです。
MMMでもモーフ編集は楽になっていますが、やはり歌わせたり喋らせたり、細かい目や眉の動きのベースを作るのに、かなり楽になるツールですのでいまだに重宝しています。
(むしろ、個人的には必須ツールと化してます)

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

補間連続編集機能とカメラ

 徹夜で仕上げたので荒い作りとなってしまいましたが……

MikuMikuMoving Ver1.1.8.0リリース
http://mikudan.blog120.fc2.com/blog-entry-344.html


 このエントリで紹介した機能をカメラに応用した解説動画をアップしました。
 通常のモデルボーンでの使用も少しだけ触れています。
 こういうのは、やはり動いてる状態で見た方が理解が早いですしね。



 解説中で、カメラの補間を付けるのに7分と書きましたが、モデルのボーンと違ってカメラの挙動をこの機能でコントロールするには、コツが必要ですので、それなりに時間が掛かります。

1:キーフレーム間が長い
 これは仕方ないですね。こういうものですから。
 フレーム数直接入力の下にあるキーフレームジャンプボタンやブックマークを上手い事利用する事で、短縮はできます。
 ですが結局、回転と距離を併用している場合などでカメラ軌道をチェックしながらじゃないと、上手くコントロールできないので、矢印キーなどでの移動をしながらとなります。
 MMMでは補間曲線の影響が即座に画面表示エリアにも反映されるので、見ながら作れます。

2:タイムライン上での編集と、従来通りの補間編集窓を上手く使い分ける
 特にロングスパンのキーフレームだと、最初のアタリを付けるのにもちょいと苦労しますので、最初はタイムライン上での編集は見るだけにし、下部の補間編集を使って大体の曲線を作った方が楽。
 補間プリセットと併用すると良いかもしれません。
 ただ、タイムライン上のものは時間(フレーム)にスナップして動かせますので、微調整などはこちらの方がやりやすいです。

3:距離でやるか、位置でやるか
 この機能に限った話ではないですが、カメラをコントロールするにあたり、距離側でコントロールする方がいいのか、それとも目標点移動でやった方がいいのかはケースバイケースです。
 恐らく単純化する為にはカメラと目標点を同一座標、つまり距離をゼロに設定した方が楽ではあるのですが……これは一概に言えません。
 ただ手持ちカメラやクレーンカメラの場合、方向をコントロールするのは少々難しいですが、距離ゼロの方がそれっぽくは作れます。
 被写界深度エフェクトやTrueCameraの場合は、それなりにきちんとやらないとボケ具合が変わる可能性もありますので、距離ゼロが有利という訳でもないです。
 MMMにはカメラにもモーションレイヤーが作れますので、上手い事併用する事で、MMDでは難しかったカメラワークが作れるようになります。

4:視野角の乱用に注意
 器用に動かす事が出来るようにはなりましたが、パースや画面構成に大きな影響を与えるものでもあるので、ぐりぐり動かしすぎると画面酔いの原因ともなるので注意しましょう。
 また、MMDと視野角の扱いが異なりますので、これも注意です。
 数値の感覚がつかめるまで、画面表示と変化している数値とにらめっこしながら、目的の視野角を探ってみてください。

 ご参考までに。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

【MME】AutoLuminous3

そして、そぼろさんの方からはAutoLuminusの次期バージョンとなる、「AutoLuminus3」がリリースされています。

そぼろさんのMMD関連ファイル
http://cid-a17ecb6418a4b2d1.office.live.com/browse.aspx/MMD


・材質モーフによる発光強度変化に対応(色は未対応)
・頂点発光機能の大幅強化
・光の広がりを大きく
・軽量版AutoLuminousBasicを同梱
・色合いなどのパラメータ調整
・頂点発光設定用のPMDEプラグインを同梱
・環境によって正常に動作しないバグ修正
・光芒のぼかしおよび明るさ調整
・頂点発光機能のバグ修正
・LightSampling.fx対応
・少し軽量化
・色調調整
・XML同梱
・不具合修正

 との事です。
 サンプルなどの付属ファイルも充実しており、モデルデータにオートルミナス用設定が簡単に加えられるPMDエディタ用プラグインもついております。
(Optionフォルダ > AutoLuminussetter.zip)

 基本的な使い方としては従来とほぼ変わりありません。AutoLuminuos2をそのまま差し替えても使用できます。
 またMMMにも対応しています。

 今回のバージョンアップでは、表示クオリティが格段にアップしています。
 特に光芒表現が、標準状態のままでも綺麗に出力する事ができます。

AutoLuminuos3

 光芒の途切れがほぼ無くなり、連続した滑らかな光が表現できます。

 機能や細かい仕様、使い方などは付属のreadmeに詳しく記されているので、そちらを参考にしてください。

 今後、TrueCameaシリーズにも同等の機能が付くかもしれないとの事なので、こちらもwktkして待つと良いかもしれません。


 AutoLuminousをフル活用する場合、付属の「Options」フォルダに入っている追加エフェクト群が重要となります。
 特に色彩に関しては
「LightSampling.fx」
「ToneCurve.x」
 の二つのファイルを併用する事により、HDR品質での出力が可能です。
 この機能はTrueCameraには既に実装されていましたが、AutoLuminousシリーズに反映されるのはこのバージョンからです。

 LightSamplingでは、AutoLuminousエフェクト以外での加算合成系・光系のエフェクトで作られた高輝度部分を抽出し、AutoLuminousに引き渡す働きがありますが、単純にAutoLuminousとの組み合わせだけでも効果が見られます。

 下図はAutoLuminousで少し強めに発行させただけの状態です。
AutoLuminuos3_1

 これにLightSamplingを追加し、readmeの指示通りにアクセサリ編集の表示順を設定し、LightSampling.xの数値設定を変えないまま適用させたのが次の図です。
AutoLuminuos3_2

 よく見ないと分からないかもしれませんが、発行部分に潰されてしまうディティールの表示が変わります。
AutoLuminuos3_3
(暗くせずに、という表現は語弊があるかもしれませんが…。全体的な印象として、です)

 AutoLuminousの表示具合を細かく弄る為には必須の追加エフェクトともいえます。
 また、LightSampling側で発行具合も細かく弄れば
AutoLuminuos3_4
(LightSamplingのTrを0.7に設定)

 発光が弱い部分、または発光しきれない強度の部分を半ば強引に発光させる事もできるようになります。

 更にToneCurve.xと併用する事で、発光しすぎを抑え込んで上品な感じに仕上げる事もできます。
AutoLuminuos3_5
 ただ、元々の状態のコントラストを落とすというか、ガンマが掛かる状態となるので、印象として画面全体が暗くなります。
 画面全体の高輝度と低輝度の支配率によって、使ったり外したりした方がいいでしょう。

 またTonecurveではなく(もしくは併用で)ToneMapエフェクトと併用する事により、「明るく魅せたい、けどディティールもそんなにつぶしたくない」という我儘な要望にも応えられる表示が作り出せます。

 前のエントリにも書きましたが、光と影の扱いは正直難しいです。
 モーションだけでなく、エフェクトも沼地である事を覚悟しつつ、足を踏み入れると楽しい未来が見えるかもしれません。

 色々、工夫・組み合わせたりで思い通りの映像が作れるように遊んでみましょう。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

【MME】AlternativeFull

 大人になったらお年玉なんて貰う事が無くなり、むしろ出費が嵩むだけかと思っていたら、そんな事はなかったようです。
 正月明けのこの土日で、様々なツールやエフェクトが配布されていますね。
 そのうちの一つ、AlternativeFullエフェクト、と改造用ツールを紹介します。



 現在でもメカシェーダーや独自トゥーンシェーダーなど様々なシェーダースクリプトが配布されていましたが、プログラムや数学的知識がないと、スクリプトを弄るのは大変でした。
 また、そのモデルや動画の演出としてどのような数値変更をすればいいのかを探るのも難しいものです。
 それらの悩みに応えるように出てきたのが、上記シェーダースクリプトと、改造用フロントエンドツールです。

 パッケージにはエフェクト本体とサブエフェクトスクリプト、サンプル用のモデルとテクスチャが同梱されています。
 またこのパッケージだけではなく、そぼろさんの「AbsoluteShadow」「ExcellentShadow」並びに「AutoLuminus」との併用が推奨されています。


■「シェーダー」とは
 簡単にいうと、物体に対して光と影の計算をする事を指します。
 MMDなどでは標準で独自シェーダーが搭載されており、その方式に従って光が当たる所、影が出る所などを計算して表示を行っています。
 MMEはこの表示部分を横から「ちょっとゴメンよ」と言いながら制御を奪い、MMEと適用しているエフェクトスクリプトの記述に従ったものに変更しているのです。

 MMD標準では、光源が一つしかなく、その光の方向とカメラの方向を計算し、「明るい所」「暗い所」の2つに分けて各ポリゴンを表示している形となっています。これがトゥーンシェードと言われている方式です。
(厳密にいうとかなり複雑ではあるので……)
 さらにそれとは別に、セルフシャドウという別な方式を加える事で、影の出し方を変えていたりします。
 上記の通り、MMEはそれを奪い(Hookし)、スクリプトに記された表示方法に変えている訳です。

■ AlternativeFullスクリプト

 このパッケージは、従来のスクリプトとは違い、ユーザーが独自に各パラメーターなどを変更し作成できるパッケージとなっています。
 従来の配布シェーダーは、既にある程度組み上げられており、そのままMMEに適用すれば使えるようになっていますが、独自の表現にしようとすると改造が必要となります。
 この改造をするに辺り、各パラメーターの意味や、どこに記述されているかをテキストエディタなどとにらめっこしながら行わなければならなかったものをGUI化し、比較的楽に独自シェーダーが組めるようになっています。

 AlternativeFull_01

 付属の改変ツール「AlternativeFullFrontend.exe」がそれにあたります。立ち上げると上記のような画面が出てきます。

 残念ながらシェーダーや各パラメータについて、まったく知識がないと難しいかもしれません。初心者向けとは正直言い難いものですが、それでも適当に弄りながら、各項目がどういう動作をするのかを学ぶ事もできます。
 ひとまず、付属のreadmeは必ず読んでみましょう。

 一応ここでも簡単には説明しますが、かくいう私もそんなに詳しくないので……。
(簡単、とはいえ専門用語を入れながらとなりますので、まったくの初心者向け解説ではない事をご了承ください)

■ 出力fxファイル

 最終的に仕上げたシェーダースクリプトの出力先を指定します。
 ver1.0aではフルパスで指定する必要があります。(パス無しだとエラーが出るようです)
 メモ帳などで何も記述していないテキストファイルを作って保存し、保存後に「test.fx」など拡張子をfxにしたものを先に用意してから、そのファイルを選択すると楽です。

■ シェーディング1
 シェービングヒント用テクスチャは、明るい部分・暗い部分の出力具合のプリセットを決める為の専用テクスチャとなります。
 付属しているファイル
「shading_hint.png(標準的)」
「shading_hint_gyaruge.png(ギャルゲ風)」
「shading_hint_katturi.png(がっつりトゥーン)」
 がとりあえず最初から選べます。
 また、このテクスチャを独自に変更する事により、陰影の出方などがかなり変わります。
 設定用トーンカーブのようなもの、と思ってください。
 テクスチャの機能は上記動画とreadmeを合わせて参考にして下さい。

 この項目は必須設定となります。選択されていない状態だと、スクリプトが生成されません。

■ シェーディング2

・ハイライトを強調する
 文字通りハイライト(明るい部分)を更に明るくする倍率設定のスライダです。
 上げれば上げる程、驚きの白さになります。
 上げすぎると、色がついているもの(肌や髪など)も白っぽくなってしまうので、調整加減が難しい設定の一つではあります。

・影の色に材質の自己乗算結果を利用する。 
AlternativeFull_02
 なかなか表現が難しいですが、上図のような感じです。
 通常影は明度などで暗くしていく訳ですが、自己乗算をする事により彩度を薄くする事なく(場合によっては強調して)表現する時に使います。
 これは後述する「影色と乗算しない」チェックボックスと、「影の傾向色」との組み合わせとなります。

・影の傾向色
 デフォルトでは白100%になっていますので、影がかなり薄くなってしまいます。
 この色枠の中をクリックするとカラーピッカーが開きますので、任意の色・明るさに指定できます。
 真っ黒を選んでもOKですが、グレーの具合を変える事により、材質に落ちる影の濃さを自由に設定できるようになっています。
 また、グレーだけでなく色も指定できますので、青っぽい影、赤っぽい影など任意で指定できます。
 これを自己乗算とセットで使う事で、影の濃さや色味をコントロールできます。

・影色と乗算しない
 傾向色指定を無効にします。デフォルトの状態で、単純に自己乗算を掛けたい場合はこれを指定します。
 材質指定の色味がそのまま活かせます。

・AutoLuminusに反応させない
 文字通りの機能で、ハイライト強調などで高輝度になった部分をAutoLuminousで光らせない為の指定です。

・モデルのスペキュラ情報を利用する
 スペキュラ(Specular)とは「反射色」です。これの強度を自由設定できます。
 材質に反射色設定がなされてない場合は無意味となります。

・モデルのスフィア情報を利用する
 スフィア(反射用球状マップテクスチャ)の強度設定です。材質にスフィアマップが指定されている場合、強度設定する事で強調させたり弱めたりできます。
 もちろん、スフィア指定がない場合は無意味です。
 またMMDでは材質モーフ後のエフェクト適用が出来ませんので、スフィアを材質モーフさせるものには適用されません。


■ シェーディング3

 このブロックは中級者~上級者向けとなります。上記2つのタブを弄るだけでも結構な変化が出せますが、このタブの内容を弄る事で、更に詳細な設定を行う事ができます。
 分からない場合は設定せずとも問題ありません。

 付属のreadme並びに、付属している「tama.pmx」と「tama.fx」を見ると効果が分かりやすいかと思います。

AlternativeFull_03

 シャドウテクスチャは影の部分、ハイライトテクスチャは光が多く当たっている部分に適用されるテクスチャとなります。
 メタリックな材質や、反射の鈍い材質などに見せたい場合はこれらのテクスチャを作る事により多彩な表現が可能となります。

 法線マップは、簡単にいうと「細かい凸凹を表現できるテクスチャ」となります。
 これは通常のテクスチャと異なり、ファイル自体は通常のPNGやBMPなどでOKですが、画像編集ソフト(GIMPやPhotoshop)とプラグインなどで専用のものを作る必要があります。
 「法線マップ プラグイン」などで検索してみてください。


■ エッジを独自描写する
 これはMMD独自のエッジ描写を無視し、MME側で独自のエッジ描写方式に切り替えるスイッチです。

・エッジカラーテクスチャ
 UV展開されたテクスチャでエッジカラーを指定できます。材質毎に一色ではなく、グラデーションエッジなどもこれを使えば可能となります。

・エッジ太さテクスチャ
 グレースケールのUV展開されたテクスチャが必要です。黒がゼロの太さ、白100%がエッジ太さ1となります。
 上手く使う事により、漫画のペンで書いたようなエッジを付ける事が出来るでしょう。

これらのテクスチャは、材質またはモデル毎に、自前で用意する必要があります。

・太さ
 文字通り、エッジの太さのコントロールです。

・スケール
 太さのスケール変更となります。極端に太くしたい場合などは、「太さ」の方で少しだけ上げて、こちらのスケールで大きくした方が分かりやすいです。

・色の濃さ・色の暗さ
 文字通りのコントロールです。

 独自描写をオンにして、かつ色を単色でいいから使いたい場合は、小さなテクスチャでいいのでベタ塗りの画像ファイルを用意し、エッジカラーテクスチャで指定すればOKです。


■ セルフシャドウ
 セルフシャドウ描写方式を切り替えられます。

・セルフシャドウの種類
 MMD標準シャドウは文字通り、MMD内臓の描写方式を使います。

 AbsoluteShadowは、そぼろさんのAbsoluteShadowスクリプトを使います。
 これを使うためには、出力fxファイルと同じフォルダに
「AbsoluteShadowCommonSystem.fx」
「AbsoluteShadowShaderSystem.fx」
「AbsoluteShadowZBufDraw.fx」
 をコピーする必要があります。
 また、効果を見る為には、MMD上で「AbsoluteShadow.x」を読み込み、エフェクトを適用させておく必要があります。

 ExcellentShadowの場合は、ファイルのコピーは必要ありません。
 MMD上で「ExcellentShadow.x」を読み込み、適用させておけばOKです。

・シャドウの濃さ
 セルフシャドウの濃さをコントロールします。
 シェーダーによる影部分の描写と、セルフシャドウの影は別のものですので混同しないようにして下さい。
(シェーダーの影は、あくまでもポリゴンの明暗の描写であり、セルフシャドウは光の方向から落ちる影を計算し、別途描写を行っています)

・簡易ソフトシャドウ処理
 MMD標準シャドウを使う場合などで、シャドウのジャギー(ギザギザ)が気になる時にこれにチェックを入れて影をボカす事が出来ます。またその強度のコントロールとなります。


■ 照明
 照明のコントロールを行います。
 照明自体の方向などの設定はMMD側のものが活かされますが、光の計算方法を変える事が出来ます。

・照明の種類
 MMD標準のものとランバートと選べます。ランバートが何かは説明すると長いので割愛します。
 ですが、見た目で結構分かりますので、お試しあれ。
(簡単にいうと、光の辺り具合が柔らかくなります)
 ランバート係数は0~1の間で選べます。
 0だとほとんど影が無くなり、1だと影が濃く出ます。

・フィルライトType1
 フィルライトはMMDの照明とはまた別に、独自の光を当てるようになります。
 このType1では、常にカメラから光を当てている状態となります。
(カメラの上にライトをつけているような状態)
 スライダはこの強さとなります。
 常に視点方向からの光となるので、あまり極端に強くすると影が出なくなり、また奥行感なども薄れます。逆に立体感を薄めたい場合には有効です。

・フィルライトType2
 こちらはやや特殊で、Z軸は照明方向設定からそのままですが、XとYだけ逆転させている照明となります。つまり、MMDの照明設定とは逆の方向から光を当てる照明となります。
(いわゆる、「抑え」ライトです。MMD照明設定で右から当ててれば左から当てるライト)
 これを強くするとMMDの照明設定とは逆の方向から強く当たる事になりますので、程よい強さにしておくと良いでしょう。
 晴天の照明で、顔に落ちる影を抑える時などにも有効です。

・リムライト
 基本的には視点方向からの逆光となりますが、単なる逆光ではなく光が当たっているエッジ部分(この場合、MMDのエッジ描写の事ではなく、光の回り込みがある境目の事)を強調するようなライティングの事を指します。

AlternativeFull_04AlternativeFull_05
(左が通常で、右がリムライト)

 強さのパラメータが、文字通り光の強さとなります。鋭さは数値が小さいと回り込みが大きくなり、光が当たる部分が広くなります。数値が大きいと回り込みが少なくなり、エッジが強調されます。

 この機能とハイライト強調、そしてAutoLuminusと併用する事はこんな効果を付ける事が出来ます。
AlternativeFull_06

■ その他

 ツールの動作や補助的機能について設定します。

・モデルのテクスチャにシェーダーで異方性フィルタリング処理をする
 MMD64ビット版では異方性フィルタリングが標準搭載されていますので、これはMMD32ビット版の救済的機能ともいえます。
 また64ビット版でもテクスチャの解像度如何では、MMD本体のをオフにしてこちらのを使った方が綺麗になる場合もあるようです。

 ピクセルごとのサンプル数は、処理の解像度と思ってください。数値が低ければ荒く、高ければ滲むというかボカして柔らかくします。
 数値が大きいと処理負荷も大きくなるので、グラボの能力と相談の上ご使用下さい。

・値が変更されたら自動的に出力する
 このツールで何かしらの変更が出たら、即座にfxファイルを出力するモードです。
 常に変化を見たい場合は、MMD側の物理演算モードを「常にオン」にしておくと良いでしょう。
 物理オフですと、MMD側で反応が出るまで時間が掛かったり、またMMD側で何かしらのアクションをするまでは更新されない場合もあります。
 また、PCの性能によっては、出力されたエフェクトをコンパイル(GPUが読めるように翻訳する作業。MME側が自動的に行ってくれる)に時間が掛かり、反映まで待たされる場合もあります。

・ウィンドウを常に最全面に表示する。
 文字通りの機能で、色々いじりながらMMDの様子を見る時に便利ではあります。

・テクスチャファイルを.fxと同じ場所にコピーする
 出力先が、AlternativeFullと同じ場所ではなく、別フォルダなどに出力させる場合、同時にテクスチャファイルも自動的にコピーする機能です。
 モデル毎、もしくは材質毎にシェーダーを組む時には便利でしょう。

■ 各設定の呼び出し
 このツールウィンドウに作成したfxファイルをドラッグ&ドロップすれば、設定値が読み込めます。
 一度作ったファイルを再び呼び出し、再設定する時にはこの方法となります。
 現バージョンでは色々なファイルがそのままドラック&ドロップできてしまうので、まったく関係ないファイルを放り込むとエラーとなったり、場合によっては予想外のクラッシュとなるかもしれませんのでご注意ください。


■ シェーダーのコツ

 正直、私自信そんなに凝ったシェーダーを組めるようなスキルも知識もないので、エラそうな事は言えません。
 ですが、最終的に動画へ仕上げる時に大事となるのが、「光と影のコントロール」です。
 こればかりは、後処理(AviUtlやNive、AfterEffects等)で調整しようとしても、おのずと限界が出ます。
 素材(MMD出力)の段階で、どれだけ綺麗に出力できるかがキモとなります。

 シェーダーは幸いにもモデル個別、場合によっては材質個別で設定できます。
 メタリックな表現をしたい場合、顔に落ちる影が気になる場合、明るい背景でもモデルが沈まないような表現、暗い背景でキャラを神々しく表現したい時など、シェーダーを弄る事で多彩な表現が可能となります。

 ですが、やりすぎると逆効果となる事も多いです。
 光の当てすぎ、影を濃くしすぎたりすると違和感の方が強くなるでしょう。
 色調補正系エフェクトと同様に、さりげなく、かつ効果的な設定が必要となる事も多いかと思います。

 ではどんなパラメータがよいのか……これは一概に言えません。何故なら「どういった表現の動画を作るのか」という目的次第でまったく変わってくるのです。
 ですので、とりあえず弄りまくって自分のなっとくいく設定を覚えないとなりません。
 これはもう一つの「沼」とも言えます。

 一応、制作者のlessさんの方で、いくつかのプリセットパターンの配布を予定しているとの事ですので、wktkして待つとよいでしょう。
 もしかしたら、他の方からもパターンがリリースされるかもしれません。
(記事を書いている間に、いくつかのパターンがリリースされているようです)



 また、最終的な仕上げとして、ExcellentShadowに付属しているExShadowSSAOとの併用、ToneMapとの併用などもお勧めです。
 エフェクトを組み合わせた時に、相乗効果として多彩な表現ができますので、苦しみと共に楽しさを味わえるでしょう。


■ 最後に

 残念ながらMikuMikuMovingには非対応です。これはセルフシャドウ系処理・エフェクト処理系がMMDのとは違う為です。
まだ試してませんが、もしかしたらセルフシャドウの部分を弄らなければMMMでも使えるかもしれません。

 それでは、あなたのお嫁さんを綺麗にする為の化粧テクニックをお楽しみ下さい。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

プロフィール

かんな

Author:かんな
ニコニコ動画などでMMD動画をうpしてるしがないユーザーの一人。
ブロマガ版みくだん
連絡先:mikudan3939葱gmail.com
(葱を半角@に脳内変換してください)
【FaceBook】上記アドレスか、ID「kanna3939」で検索を

カレンダー
03 | 2017/03 | 04
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
Ask.fm
MMD関連の質問や生放送で読んでほしいお便りとか、ネタとか色々受け付けているかもしれません。
Twitter
MMD関連物
カテゴリー
最近の記事
ブログ内検索
リンク
RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。