Skip to content

Commit

Permalink
FakeFur のマニュアルを追加
Browse files Browse the repository at this point in the history
  • Loading branch information
whiteflare committed May 31, 2024
1 parent e6a9c62 commit b50137b
Show file tree
Hide file tree
Showing 17 changed files with 117 additions and 53 deletions.
85 changes: 85 additions & 0 deletions docs/unlitwf/FakeFur-Manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# UnlitWF/FakeFur Manual

UnlitWF/FakeFur は、UnToon をベースにしたファーシェーダです。
このページでは UnlitWF/FakeFur の設定方法について説明します。

![Image](./img/fakefur-man-03.png)


## General

### カスタムインスペクタの日本語化 {#l10n}

インスペクタの最下部に `Editor language` の設定があります。『日本語』にすると設定項目名が日本語化されます。
これはUnityEditorで共通の設定のため、どこかひとつのマテリアルで設定されると他マテリアルでも設定が引き継がれます。

![Image](./img/untoon-man-01.png)

### バリアントの切り替え {#Variants}

インスペクタ最上段に、現在使用しているシェーダの説明が表示されます。

![Image](./img/untoon-man-02.png)

- `Family` からシェーダの系列を切り替えることができます。`UnToon`, `FakeFur`, `Gem`, `Grass`, `Water` などに切り替えることができます。
- `Variant` からシェーダのタイプを切り替えることができます。Outline や Mobile などに切り替えることができます。
- `RenderType` から描画モードを切り替えることができます。Opaque や Transparent などに切り替えることができます。


## Base 基本設定 {#Base}

![Image](./img/fakefur-man-01.png)

- インスペクタ最上段に `メインテクスチャ` `マテリアルカラー` の設定項目があります。
- ファーをカットアウト描画するシェーダでは、ここに `カットアウトしきい値` も現れます。

## Fake Fur ファー {#FakeFur}

ファーについて設定します。

![Image](./img/fakefur-man-02.png)

- Fur Shape
- `高さ` `ファーの枚数` にてファーの密度を決めることができます。
- メッシュの頂点数にも因りますが、大きな値を設定するとFPSの低下を招くことがあります。
- 密度が足りない場合は `方向` を調整してファーを横に寝かせることで少ない密度でもフサフサ感を保つことができます。
- `ノイズテクスチャ` でファー形状を制御することができます。初期値としてノイズテクスチャをそのまま使用して構いません。
- `細かくする` ボタンを何度か押してください。ファーが細かくなるとフサフサ感が増します。
- `方向` の値を調整することで、ファーを一定方向に傾けることができます。
- XやYの値が大きければ大きいほど傾きます。ファーが直立した状態よりも傾けた状態のほうがフサフサ感が増します。XやYを±2くらいに設定するとよいです。
- 内部的には、メッシュ法線ベクトルを方向(0, 0, 1)として、`方向` に設定したベクトル方向に傾けます。例えば (1, 0, 1) ではタンジェントプラスの方向に45度傾けます。
- `方向のランダム化` を用いると、揃った毛先にバラ付きを与えることができます。0 よりは多少大きな値にしたほうが自然な毛並みになります。
- `ノーマルマップ` は、ファー方向の基準となるメッシュ法線を変化させるノーマルマップを設定することができます。
- Fur Color
- `影の強さ` `色調整(根元)` `色調整(先端)` にてファーの色を変化させることができます。
- Fur Mask Texture
- `マスクテクスチャ` にて、ファーの高さを制御することができます。黒が高さ0、白が高さ100%です。
- ファー部分とファー以外の部分は、マスクテクスチャで塗り分けるのではなくマテリアルを分割することを推奨します。FakeFurシェーダが描画する頂点数をなるべく少なくしてください。


## 簡易設定手順

Family を `FakeFur` に変更します。

![Image](./img/fakefur-man-04.png)
![Image](./img/fakefur-man-05.png)

毛が極端に少ない、または多い場合は `カットアウトしきい値` を見直してみてください。

![Image](./img/fakefur-man-06.png)

毛を細くします。ノイズテクスチャの `細かくする` を押してください。

![Image](./img/fakefur-man-07.png)
![Image](./img/fakefur-man-08.png)

`方向` のXYを調整します。

![Image](./img/fakefur-man-09.png)
![Image](./img/fakefur-man-10.png)

`方向のランダム化` を調整します。

![Image](./img/fakefur-man-11.png)
![Image](./img/fakefur-man-12.png)

3 changes: 2 additions & 1 deletion docs/unlitwf/UnToon-Manual.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# UnlitWF/UnToon Manual

ここでは UnlitWF/UnToon の設定について解説します。
このページでは UnlitWF/UnToon の設定について解説します。
内容は最新のリリースに基づいて記載しますが、必ずしも最新の状態を反映しているわけではなく細部に違いがある場合もあります。ご了承ください。

## General
Expand All @@ -22,6 +22,7 @@
- `Variant` からシェーダのタイプを切り替えることができます。Outline や Mobile などに切り替えることができます。
- `RenderType` から描画モードを切り替えることができます。Opaque や Transparent などに切り替えることができます。


## Base 基本設定 {#Base}

インスペクタ最上段に `メインテクスチャ` `マテリアルカラー` の設定項目があります。
Expand Down
50 changes: 1 addition & 49 deletions docs/unlitwf/UnToon-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,68 +5,20 @@ UnlitWF/UnToon は、Unlit に様々な描画効果を追加する発想で設
![image](./img/untoon-01.png)
アバターやワールドにUnlitWF/UnToonを使用してみたサンプルイメージです。Skybox以外は全てUnlitWFで描画しています。

# Dynamic Sample
## Dynamic Sample

Unity WebGL での動作サンプルです。UnlitWF/UnToon は WebGL でも動作します。

https://whiteflare.github.io/Unlit_WF_ShaderSuite/

# Supported

## Rendering Devices
- d3d11 - Direct3D 11 (VRChat PC platform)
- gles3 - OpenGL ES3.0 (VRChat android platform, WebGL2.0)

## Features / UnToonの機能
- Unlitの名を含んでいますが暗いところでは暗くなります。ただし真っ黒になることはなく、最小限のテクスチャ描画が読める程度には明るくなります。
- ライトを統合的に扱います。暗いDirectionalLightと明るいPointLightがあるとき、UnlitWF/UnToon はPointLight側をメイン光源として処理させます。
- カスタムインスペクタ(日本語対応済み、折りたたみ機能付き)を有しています。インスペクタとシェーダの依存は最小限にしているため拡張も容易です。
- 豊富な描画機能
- (HSV) ColorChange
- NormalMap
- 2nd(Detail) NormalMap
- Metallic
- Metallic Reflection
- Metallic Specular
- 2nd CubeMap
- Matcap (Additive/Multiply)
- ToonShade (TwoGraded)
- RimLight
- Emission
- constant Emission, or EmissiveScroll
- ScreenTone Texture (Screen space texture blending)
- Outline (NORMAL/EDGE)
- AmbientOcclusion (reading AOMap/Lightmap)
- support Baked GlobalIllumination

## Not Supported / UnToonではサポートされていないもの
- ShadowTexture
- receive (realtime) shadow はサポートされません。不要な realtime shadow が掛からないようにしています。
- realtime spot light も ShadowTexture がサポートされないため、光の境界を描画することができず light の効果内は常に照らされます。
- Directional Lightmap はサポートされず、NormalMapは常にrealtimeなblendを行います。

# Variants

UnToonには多数のバリアントがあります。

基本バリアント
- Texture
- Unlit/Texture に相当、Queue=Geometry で描画する Opaque Shader
- TransCutout
- Unlit/Transparent Cutout に相当、Queue=AlphaTest で描画する Cutout Shader
- Transparent
- Unlit/Transparent に相当、Queue=Transparent で描画する Transparent Shader
- Transparent3Pass
- CutoutとTransparentを同時に行う、不透明・半透明混在メッシュ向け Transparent Shader

グループ
- (Standard, no-named group)
- UnToon の基本セット
- UnToon_Outline
- Standard + アウトライン機能
- UnToon_Mobile
- Standard よりも機能縮小し、OpenGL ES3.0 / WebGL2.0 で動作可能にした軽量版
- UnToon_PowerCap
- Standard + Matcap増量版(計8枚まで使用可能)
- UnToon_Tessellation
- Standard + アウトライン + Tessellation によるスムージング機能
27 changes: 24 additions & 3 deletions docs/unlitwf/Water-Manual.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# UnlitWF/Water Manual

UnlitWF/Water は、水面を描画するシェーダと付属の特殊効果を描画するシェーダで構成される、水シェーダのアセットです。
このページでは WF_Water の設定方法について説明します。
このページでは UnlitWF/Water の設定方法について説明します。

![Image](./img/water-01.jpg)

Expand All @@ -15,9 +15,10 @@ UnlitWF/Water は、水面を描画するシェーダと付属の特殊効果を
## UnlitWF/Water の特徴

- 軽量
- CameraDepthTexture は使用しません。シーン側ライティング設定に関わらず動作します。
- ライトマップ経由でベイクされた影を受け取ることができます。
- VRC Quest でも動作します。
- ワールドライティングにはあまり影響されずに描画されるUnlit的な挙動です。
- ライトマップ経由でベイクされた影を受け取ることができます。
- 基本的に CameraDepthTexture は使用しません。CameraDepthTexture を使用する場合はヘルプボックスでお知らせします。

## シェーダの全体構成について

Expand All @@ -32,6 +33,26 @@ WF_Water では、複数のシェーダとマテリアルの組み合わせで
- 深度の描画
- WF_Water_DepthFog (Fade)


## General

### カスタムインスペクタの日本語化 {#l10n}

インスペクタの最下部に `Editor language` の設定があります。『日本語』にすると設定項目名が日本語化されます。
これはUnityEditorで共通の設定のため、どこかひとつのマテリアルで設定されると他マテリアルでも設定が引き継がれます。

![Image](./img/untoon-man-01.png)

### バリアントの切り替え {#Variants}

インスペクタ最上段に、現在使用しているシェーダの説明が表示されます。

![Image](./img/untoon-man-02.png)

- `Family` からシェーダの系列を切り替えることができます。`UnToon`, `FakeFur`, `Gem`, `Grass`, `Water` などに切り替えることができます。
- `Variant` からシェーダのタイプを切り替えることができます。Outline や Mobile などに切り替えることができます。
- `RenderType` から描画モードを切り替えることができます。Opaque や Transparent などに切り替えることができます。

## 水面の描画

WF_Water_Surface シェーダが水面を描画します。
Expand Down
Binary file added docs/unlitwf/img/fakefur-man-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-04.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-05.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-06.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-07.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-08.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-09.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/unlitwf/img/fakefur-man-12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ const sidebars = {
},
],
},
{
type: 'doc',
id: 'unlitwf/FakeFur-Manual',
label: 'UnlitWF/FakeFur',
},
{
type: 'doc',
id: 'unlitwf/Water-Manual',
Expand Down

0 comments on commit b50137b

Please sign in to comment.