最新 V2.0.0 2021 / 11 / 21
VRCでアニメ風の表現をする為に作成開始したシェーダーです。
通常のアニメ・イラスト風表現にも利用出来ます。
(VRChat用にカラースペースリニアで調整しています。)
v2.0.0からUnity2019以降に正式に対応しました。
設定で様々なライティングに対応出来ます。
例えば、明るさと色の影響は受けるが光源は無視するというような表現が可能です。
複数ライティングによって塗分け部分が何重にも重なる現象防止の為、BasePassで利用可能なライト情報全ての中で一番明るい方向に光源があるものとして処理します。
ステンシルを使った眉毛や目の透過は、完全に透過する部分と半透明の部分を分けて設定出来ます。
その他、影やハイライトなどもアニメ風に細かく設定出来ます。
Staticなものには対応していません。
Set内容
-
- シェーダー8種
- サンプルモデル1つ
メインシェーダー
-
- TypeA/Toon02 基本のシェーダー
Toon03 2019以降用 - TypeA/Toon02Edge Toon02にアウトラインを追加したシェーダー
Toon03Edge 2019以降用
- TypeA/Toon02 基本のシェーダー
サブシェーダー
-
- TypeA/Toon02Fade ステンシルマスクの一部を半透明にするシェーダー
Toon03Fade 2019以降用 - TypeA/Toon02FadeEdge Toon02にアウトラインを追加したシェーダー
Toon03FadeEdge 2019以降用
- TypeA/Toon02Fade ステンシルマスクの一部を半透明にするシェーダー
Inspectorの説明
blenderを使ってTypeA Animeshader向けのテクスチャ作成をする場合の例
Stencilの設定方法
VRChat利用時の注意点と必須手順
利用規約
著作権は作者であるInsideThighs(=nonact)が保有しています。
UnityAssetstore利用規約に従って下さい。
- UnityAssetstore利用規約参考ページ
当データ又は改変したものを使用したことにより発生したトラブルや損失に関して作者は一切の責任を負いません。
Version History
2021/11/21
v2.0.0
-
- Unity2019以降に正式対応。機能的な変更はありません。
- Unity2018以前対応の各シェーダーはv1.0.8の状態で残ります。
2021/05/07
v1.0.8
-
- FOVの変化でアウトラインの太さが極端に変わっていた症状を修正。
- アウトラインの太さ維持の方法を一定距離以内のみ太さ調整するように変更。
カメラから1.5メートル程の位置にTポーズモデルを置き左手先端側から右手先端を見ているとき、全てのアウトラインがほぼ同じ太さになるように調整しました。
2021/05/05
v1.0.7
-
- 以前VRChat利用時に起こっていた不具合がunity2018に移行した事で解消され、逆に不具合を起こしていた物を修正。
VRChatのミラー内での表示対処の為のコードにより起こっていた不具合を修正しました。 - 現在のVRChatではレンダーキュー関連の不具合が解消されたため、
以前のように複数ファイルで対処する必要がなくなりました。
その為、VRChat用サンプルファイルは削除しました。 - 2つのパラメータを追加
- AnchorPoint
メッシュに設定したアンカーオーバーライドが効かない場合の応急処置。
メッシュの属するFBXファイルに含まれるもの以外は効果が無いようなので設定できるようにしましたが、変形には対応できないため、あくまでも応急処置です。 - AmbientTilt
人体モデルなど縦長なモデルで足元付近(上下先端付近)の影響が強すぎて見える場合などの調整用。
- AnchorPoint
- 以前VRChat利用時に起こっていた不具合がunity2018に移行した事で解消され、逆に不具合を起こしていた物を修正。
2019/05/01
v1.0.6
-
- VRChatで利用時、アバター選択UIを表示すると一部の表示がおかしくなっていた不具合を修正。
- VRChatでVR環境利用時に、アウトライン用のメッシュがズレて表示される事がある不具合に暫定対応。
当方でどうしても再現しない為、関連のありそうば箇所の処理を変更しました。 - VRChatで利用する為のRenderQueue指定シェーダーを使用シェーダーに設定した際、ファイル指定のRenderTypeとRenderQueueを自動で設定するように変更。
- RenderingSettingsのRendering Mode、Render Queue、SrcBlend、DstBlendが対象。
- Render Type Cutoutの場合のみ追加でColorMask、AlphaToMaskが対象。
- 選択時にシェーダー名で判断する為、シェーダー名に必要な文字列が含まれている事が条件です。
「vrc」「cutout」「fade」「transparent」
- メインのライト以外のライティング処理の見直しと修正。
複数ライティングによって塗分け部分が何重にも重なる現象防止の為、BasePassで利用可能なライト情報全ての中で一番明るい方向に光源があるものとして処理します。
追加のピクセルライティング(AddPass)で処理されるライトは情報が取れない為、これに含まれません。
Lightに設定していて方向を示す情報が無い場合、ワールド空間上でカメラの上方に光源があるものとして処理します。
ViewとLightを混合していて方向を示す情報が無い場合、View方向として処理します。 - ビュー方向固定だったハイライトをライティング方向によってある程度変化するように変更。
- 以下の5項目のパラメータ追加と、1項目のパラメータの動作変更をしました。
- 追加パラメータ
- ColorMask
書き込みチャンネルの設定。チェック有りで書き込み。 - AlphaToMask
アルファチャンネルをマスクするかどうか。チェックでマスク有り。 - Expand Spherically
面法線を球状に拡張します。1に設定で完全な球状。 - Spherical Center
球状に拡張する際の中心位置を指定。0でMeshの中心位置。
同一オブジェクト内でMeshが分かれている場合、MeshRenderer>>Bounds>>Centerの値を指定する事でそのMeshの中心を指定出来ます。 - AmbientLight Color
MainLightingAffcetに含まれる環境光の成分をそのまま使うか明るさ情報のみとして利用するか指定します。
メインのライティングはそのままに環境光の色成分だけ弱めたい時などに調整します。
0で明るさのみ、1で通常の色。
- ColorMask
- 変更パラメータ
- Lighting Direction
View と Light を混合出来るようにスライダー設定に変更。
0が以前のView、1が以前のLightに相当します。
内部数値に変更は無いので、以前の設定はそのまま維持されます。
- Lighting Direction
- 追加パラメータ
2019/04/12
v1.0.5
-
- ハイライトが一定の角度で極端に面積が広がる現象を回避出来るよう修正。
- 裏面を表示する設定の場合に起こるシステムシャドウの余分な効果を軽減。
仕組み上裏面には正しく影を落とせない為、すでに影が落ちているという方向で調整。 - 中距離でのアウトラインの変化を調整。
2019/04/06
v1.0.4
-
- 追加のライティングがベースパスのライティングと合っていなかった為に発生していた不具合を修正。
- 直接光と環境光の合成具合をStandardShaderの挙動と同程度に見えるように調整。
- シェーダーの再読み込みをするまでハイライトが無効にならなかった不具合を修正。
- ハイライトの色の出具合を調整。
- 追加のライティングのシステムシャドウの調整用パラメータを追加。
- VRChatで利用時に必要なレンダーキュー変更シェーダーのサンプルを2個追加。
2018/12/12
v1.0.3
-
- Unity2017に合わせて色の出具合を調整。
- ライティングによる白飛び飽和値の調整用プロパティを追加。
2018/12/04
v1.0.2
-
- 特定の条件でTypeAedge.cgincでエラーが出ていたのを修正。
- サンプルのテクスチャの色を一部調整。
- VRC用サンプルシェーダにレンダーキュー・タイプ共にTransparentの物を追加。
2018/09/28
v1.0.1
-
- Lighting Direction が Lightの時、半透明部分の陰影がおかしかったのを修正。
Rendering Mode が Cutout の時、半透明部分に追加のライト効果がのらなかったのを修正。 - Sceneタブやマテリアルプレビューでは透過しているのにgameタブでは透過されていない場合があったのを修正。
- VRChatで使用する為のファイルコピーのベースになる基本シェーダーを追加
ReadMeの記載を一部変更。
- Lighting Direction が Lightの時、半透明部分の陰影がおかしかったのを修正。
2018/09/24
v1.0.0
-
- First release