月別アーカイブ: 2015年11月

NINGYOU Shader チュートリアル

この記事は、拙作のUnityのアセットである、NINGYOU Shaderを使う際のチュートリアルになります

アセットのURL:https://www.assetstore.unity3d.com/#!/content/31622

まずは好きなモデルをUnityに取り込んでください。チュートリアルはSDUnityちゃんを例にしたいと思います。

SDUnityちゃん

マテリアルを設定してきます。SDUnityちゃんの場合は[UnityChan] > [SD_unitychan] > [Models] > [Materials]のフォルダを探します。そのフォルダの中には、下図のようにマテリアルのファイルが入っています。今回はこれらのマテリアルに設定されているシェーダを直接変更します。

マテリアルの選択

NINGYOU Shaderをインポートします。インポートまでの操作は割愛させて頂きます。

インポート処理

NINGYOU Shaderにシェーダを変更する

マテリアルのシェーダを変更します。Shaderの横のプルダウンメニューをクリックします。このとき、[Inspetor]タブの画面を確認しNormalMapが付いているマテリアルをチェックしておいてください。

シェーダの変更

NINGYOUというグループが追加されていますので、この中にあるシェーダを選びます。今回はそのうち、DoubleSidedStandardを使います。使い分けについては、元のシェーダの名前を基準にすると良いでしょう。今回はDoublesidedという名前が付いているものは[DoubleSided]グループの[Bump]を使用し、それ以外のものは[Standard]を使い、NormalMapがあるものはBump、ないものはBaseを選びます。

スクリプトの修正後

すべてNINGYOU Shaderに変更した後はこのような見た目になります。ここから調整を行っていきます。

シェーダ変更後のイメージ

NormalMapを設定する

Bumpを使用しているマテリアルのNormalMapの設定を行います。今後のパラメータ調整はすべてInspectorタブから行いますNormal Mapの横に、[Select]というボタンがあるので、そこをクリックします。

Selectを押す

新しくウィンドウが開くのでその中から"utc_normal"を選び、その上でダブルクリックして選択を確定します。

法線マップの選択

Unityちゃんのシェーダーでは、utc_normalをカラーテクスチャとして扱っていますが、NINGYOU Shaderでは法線マップを必要とするため、utc_normalの扱いを法線マップに変更する必要があります。下図のようにメッセージが出ますので、その横の[Fix Now]をクリックしてください。

テクスチャの種類変更

影の色を調整する

影の色を変更するため、下図のようにShadow Colorの右側の部分から変更をしていきます。

影の色の変更

カラーピッカーが出てくるので、色を変更します肌色などのマテリアルには、赤色が入った暗い茶色の色をお勧めします。影の色を茶色系に変えるだけでもかなり印象が変わります。また、カラーピッカーの下部にある[Presets]のところの、赤枠で囲まれたところを押すことで、現在設定している色が登録されます。

プリセット登録

カラーパレットのように登録されます。影の色などを登録しておき、他のマテリアル設定で色を使いまわすことができるようになります。同じように他のマテリアルでも影の色を変更していきます

プリセット登録後

影の色を調整した後はこのようなイメージになります。

影の調整後のイメージ

パラメータを調整する

マテリアルの[Inspector]タブの下部にあるパラメータを調節していきます。Diffuse Strengthのパラメータを0.5に変更します。このパラメータは陰影の濃さを変更するので、値が大きいほど通常のDiffuseシェーダの見た目になり、値を小さくするほどToonシェーダーのようになります。
次にEffect Weightを0.5から0.8に変えます。これは色味を強くパラメータで、これとCoefficientを組み合わせることで、色味の性質を変えることができます。

スクリプトの修正後
スクリプトの修正後

変更後はこのようなイメージになります。他のパラメータについては、別途マニュアルを参考にしてみてください。

パラメータの調整後のイメージ

ライティングを調整する

ディレクショナルライトを2つに増やします。[Hierarchy]タブにある"Directional Light"を右クリックし、[Duplicate]を選びます。

ディレクショナルライトの複製

新しくできた"Directional Light"をコピー元の"Directional Light"へドラッグし、子に登録します。

子に移動
移動後の階層構造

[Hierarychy]タブから子になっているほうの"Directional Light"を選択し、[Inspector]タブからYの値を180に変更、ライトのカラーを調整します。やり方は8.3のときと同じようにカラーを変更します。子になっているの"Directional Light"の役割はバックライトとしての性質を持たせていますので、暗い青色か、下の例のように暗めの赤紫などの色を選ぶと綺麗に見えます。
また、影を発生させると不自然になってしまうので、子になっているほうのライトの影をNo Shadowsに変更しておきます。3個以上ライトを配置している場合はメイン以外のライトの影を切っておくと良い感じです。

スクリプトの修正後

8.6 実行して質感を確認する

ゲームを実行して、いろいろなアングルから見て、質感のかかり具合を確認し、そこから調整していきます。

プレビュー1
プレビュー2
プレビュー3
プレビュー4

他のオブジェクトとの整合性を見る

背景やNINGYOU Shaderとは異なるマテリアルを設定しているオブジェクトを置いてみて、色の整合性を確認します。
その後細かい調整をしていきます。

他のオブジェクトをおいて色味の確認

他、背景や他のものを追加していく

良いようでしたら、キャラクター以外のオブジェクトを追加していきます。それができたら完成です!

シーンの完成

ここまでお読みいただき、ありがとうございました!