見出し画像

髪の毛にUnitychanToonShaderでAngelRing(天使の輪)を設定する方法

 この記事は何のために書いたの?

自分が使っているシグネットちゃんの、AngelRingについて聞かれたのですが、設定についてのまとまった記事がなかったので書きました。ある程度unityやblenderの操作方法がわかる人向けの記事になっています。いろいろ調べながら自己流でやったものなので、もっといい方法があるかもしれないです。

 そもそもエンジェルリングって?

ユニティちゃんトゥーンシェーダー(UTS)のシェーダーの一つです

「AngelRing(天使の輪)」 とは、カメラから見て常に固定の位置に現れるハイライト表現で、髪のハイライト表現として使われます。「天使の輪」機能を持つシェーダーは、AngelRingフォルダ以下に収録されています。

新規キャンバス15

マットキャップと似ていますが、髪のハイライトとしての表現に特化しています


新規キャンバス16

カメラの角度を変えずに位置をずらすと……

新規キャンバス17

マットキャップは変化しますが、エンジェルリングは変化しません

 使ったもの

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と名前を付けました

新規キャンバス1

新しく増えたUV2を選択して、

新規キャンバス1.1

フロント、並行投影の状態で

新規キャンバス2

真正面ビューから投影を押します

新規キャンバス3

UVが大きい、小さい場合はテクスチャサイズに合わせて拡大縮小します

新規キャンバス3.1

後でハイライトを描くために、UV→UV配置をエクスポートでUVを書き出しておきます


2.シェーディングのノードを設定

UVマップと画像テクスチャをミックスして出力するノードを作ります

シェーディングを開きます

新規キャンバス4

こんな感じの画面が出る

新規キャンバス5

追加→入力→属性を選択して、2個属性のノードを作ります

新規キャンバス6

追加→テクスチャ→画像テクスチャを選択して、1個画像テクスチャのノードを作ります

新規キャンバス7

追加→カラー→RGBミックスを選択して、1個のミックスのノードを作ります

新規キャンバス8

これをつなげていきます

新規キャンバス9

画像上の属性にもともとのUV(この画像では「UVMap」)と、

画像下の属性に新しく作ったUV(この画像では「UV2」)を設定して、

リンクを画像のようにつなげます

新規キャンバス10

つなげ終わったら

FBXを新しく書き出します

3.unityでUTSの設定をする

unityにアバターを取り込んで設定していきます

新規キャンバス11

髪のシェーダーをUTSのAngelRing系から設定します

新規キャンバス12

上で書き出しておいたUVを参考にしながら、ハイライト用にエンジェルリング用のテクスチャを書きます。透過か、黒色をマスクにすることができます

画像15

今回は上のような画像を作りました

新規キャンバス13

AngelRing Projection Settingsの設定をActiveにして、先ほど作ったハイライトの画像を設定します。

透過をマスクにする場合はUse a channel as Cipping MaskをActiveにします

新規キャンバス14

右がエンジェルリングを設定したねこまちゃんです。髪につやが出ました。


終わりに

ネットでいろんな人の記事を参考にしてやってみた方法です。参考になれば幸いです。こうしたらいいよ、という方法があれば教えてください



いいなと思ったら応援しよう!