髪の毛にUnitychanToonShaderでAngelRing(天使の輪)を設定する方法
この記事は何のために書いたの?
自分が使っているシグネットちゃんの、AngelRingについて聞かれたのですが、設定についてのまとまった記事がなかったので書きました。ある程度unityやblenderの操作方法がわかる人向けの記事になっています。いろいろ調べながら自己流でやったものなので、もっといい方法があるかもしれないです。
そもそもエンジェルリングって?
ユニティちゃんトゥーンシェーダー(UTS)のシェーダーの一つです
マットキャップと似ていますが、髪のハイライトとしての表現に特化しています
カメラの角度を変えずに位置をずらすと……
マットキャップは変化しますが、エンジェルリングは変化しません
使ったもの
blender2.90
Unity 2018.4.20f1
CLIP STUDIO(ペイントソフトなら何でもよい)
UTS2_ShaderOnly_v2.0.7
説明写真にねこまちゃん(https://neko28.booth.pm/items/1062613)をお借りしました
(この記事は2021年8月5日に書いたものです。unityやblenderのアップデートで操作方法は変わるかもしれません)
大まかな流れ
1.blenderで髪の毛にUV2を設定する
2.シェーディングのノードを設定
3.unityでUTSの設定をする
1.blenderで髪の毛にUV2を設定する
blenderに髪の毛のメッシュをインポートして、新しくUVを増やします。
まずは髪だけのメッシュを表示させます
+を押してUVマップを増やします。今回はUV2と名前を付けました
新しく増えたUV2を選択して、
フロント、並行投影の状態で
真正面ビューから投影を押します
UVが大きい、小さい場合はテクスチャサイズに合わせて拡大縮小します
後でハイライトを描くために、UV→UV配置をエクスポートでUVを書き出しておきます
2.シェーディングのノードを設定
UVマップと画像テクスチャをミックスして出力するノードを作ります
シェーディングを開きます
こんな感じの画面が出る
追加→入力→属性を選択して、2個属性のノードを作ります
追加→テクスチャ→画像テクスチャを選択して、1個画像テクスチャのノードを作ります
追加→カラー→RGBミックスを選択して、1個のミックスのノードを作ります
これをつなげていきます
画像上の属性にもともとのUV(この画像では「UVMap」)と、
画像下の属性に新しく作ったUV(この画像では「UV2」)を設定して、
リンクを画像のようにつなげます
つなげ終わったら
FBXを新しく書き出します
3.unityでUTSの設定をする
unityにアバターを取り込んで設定していきます
髪のシェーダーをUTSのAngelRing系から設定します
上で書き出しておいたUVを参考にしながら、ハイライト用にエンジェルリング用のテクスチャを書きます。透過か、黒色をマスクにすることができます
今回は上のような画像を作りました
AngelRing Projection Settingsの設定をActiveにして、先ほど作ったハイライトの画像を設定します。
透過をマスクにする場合はUse a channel as Cipping MaskをActiveにします
右がエンジェルリングを設定したねこまちゃんです。髪につやが出ました。
終わりに
ネットでいろんな人の記事を参考にしてやってみた方法です。参考になれば幸いです。こうしたらいいよ、という方法があれば教えてください