All Projects → nkihrk → HatchingShader

nkihrk / HatchingShader

Licence: MIT License
Hatching shader implementation for Unity

Programming Languages

ShaderLab
938 projects

Projects that are alternatives of or similar to HatchingShader

unity3d-shader-collection
A unity shader collection of private works
Stars: ✭ 32 (-60%)
Mutual labels:  shader, shaderlab
Isaura
An attempt at making a aura thingie with a isoline shader.
Stars: ✭ 187 (+133.75%)
Mutual labels:  shader, shaderlab
Unityscreenspaceboolean
Screen Space Boolean Implementation for Unity.
Stars: ✭ 150 (+87.5%)
Mutual labels:  shader, shaderlab
Temporalreprojectionexample
Temporal reprojection example for Unity
Stars: ✭ 82 (+2.5%)
Mutual labels:  shader, shaderlab
Unity Shaders
✨ Shader demo - More than 300 examples
Stars: ✭ 198 (+147.5%)
Mutual labels:  shader, shaderlab
Lwrpshaders
A collection of high customizable unlit shaders for Lightweight Render Pipeline
Stars: ✭ 125 (+56.25%)
Mutual labels:  shader, shaderlab
Nvjob Water Shader Simple And Fast
#NVJOB Simple Water Shaders. Free Unity Asset.
Stars: ✭ 172 (+115%)
Mutual labels:  shader, shaderlab
X Postprocessing Library
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Stars: ✭ 1,079 (+1248.75%)
Mutual labels:  shader, shaderlab
Ssgi Urp
Screen Space Global Illumination for Unity Universal Render Pipeline
Stars: ✭ 198 (+147.5%)
Mutual labels:  shader, shaderlab
Unitywatersurface
Water Surface Simulation using CutomRenderTexture in Unity 2017.1
Stars: ✭ 190 (+137.5%)
Mutual labels:  shader, shaderlab
Jl S Unity Blend Modes
👾 Collection of Unity shaders that support blend modes like photoshop layer style (Darken, Multiply, Linear Burn, etc)
Stars: ✭ 62 (-22.5%)
Mutual labels:  shader, shaderlab
nvjob-sky-shader-simple-and-fast
#NVJOB Dynamic Sky. Sky Shaders. Free Unity Asset.
Stars: ✭ 103 (+28.75%)
Mutual labels:  shader, shaderlab
Uchromakey
Chroma key shader asset for Unity
Stars: ✭ 58 (-27.5%)
Mutual labels:  shader, shaderlab
Unityurp Billboardlensflareshader
(1)Add a new Quad GameObject (2)Use this shader (3)Done! Now you have billboard lens flare shader for URP!
Stars: ✭ 140 (+75%)
Mutual labels:  shader, shaderlab
Nnao
Neural Network Ambien Occlusion based on http://theorangeduck.com/page/neural-network-ambient-occlusion
Stars: ✭ 57 (-28.75%)
Mutual labels:  shader, shaderlab
Lowpolyshaders
Unity shaders optimized for Low Poly models.
Stars: ✭ 157 (+96.25%)
Mutual labels:  shader, shaderlab
Packedrgbmshader
32-bit packed color format with RGBM encoding for shader use
Stars: ✭ 39 (-51.25%)
Mutual labels:  shader, shaderlab
Unity Grabsquares Effect
Unity GrabSquares Effect
Stars: ✭ 39 (-51.25%)
Mutual labels:  shader, shaderlab
Awesome Unity Shader
⛵ 关于炫酷的Unity3D Shader | About Cool Unity3D Shaders
Stars: ✭ 2,658 (+3222.5%)
Mutual labels:  shader, shaderlab
SnowTrail
No description or website provided.
Stars: ✭ 22 (-72.5%)
Mutual labels:  shader, shaderlab

Hatching Shader(ハッチングシェーダー)

ハッチングを表現したシェーダーです。このシェーダーにはTAM(Tonal Art Map)が必要です。サンプルとしてトーン風と鉛筆風のTAMを用意しておきました。
Unity5.6.3p1(64bit)の環境で作成しました。

各シェーダーの使用用途

  • HatchingShader……キャラクターなどでの使用を想定して調整しています。

  • HatchingShaderLerpTes/HatchingShaderTes……背景のオブジェクトなどで使うことを想定し、上記のシェーダーに機能を追加したものです。機能に差はありませんが、二つのシェーダーで若干見た目に差があります。


インスペクターのパラメーターについて

  • Hatch0~5……作成したTAM(Tonal Art Map)を貼り付けてください。

  • Outline Mask Texture……削除する任意のアウトラインを指定します。黒背景を用意し、消したい箇所を白く塗りつぶしてください。
    ※アウトラインを設定した状態でビルボードをオンにするとバグります。ビルボードを使用する場合はアウトラインの設定をオフにしてください。

  • Outline Color……アウトラインの色を設定します。初期は下記のRim Power/Rim Amplitudeの影響を受けるように設定されています。

  • Outline Width……アウトラインの幅を設定します。

  • Toggle Billboard……オブジェクトをビルボード化します。(未調整なのでおいおい対応します)

  • Threshold……ワールドライトの光の色による影響を閾値で制限します。
    解説:ワールドライトの色によってはオブジェクトが黒塗りになってしまう場合があります。これを防ぐためにライトの色RGBのスカラーを算出し、閾値よりも小さい場合ViewBasedに切り替えるようにコードを書いています。

  • Angle……オブジェクトをY軸まわりで回転させます。

  • _[X/Y/Z]comp……該当軸方向に圧縮します。

  • Rim Power/Rim Amplitude……視線ベクトルで色が変異します。通常のRim効果と同じ感覚で設定すればいいです。(ただのおまけ)

  • NdotL or NdotV……0に近いほどワールドのライトベクトルの影響を受けやすく、1に近いほど視線ベクトルの影響を受けやすいです。

  • Density……影の濃淡を調整できます。

  • Roughness……影の粗さを調整できます。

  • Toggle Gray Scale……色をグレースケールにします。

  • Cull Mode……Cullの設定ができます

[HatchingShaderLerpTes/HatchingShaderTes]で追加されたパラメーターについて

  • Noise Texture……テクスチャの色情報に沿って形が変形します。

  • [Min/Max] Distance……テッセレーション(ポリゴンをGPUで増やす処理)によるポリゴンの増減をプレイヤーの距離によって制御します。
    ※テッセレーションによってポリゴンを増やしすぎると、GPUの負荷が急激に上がります。それを軽減するために、[Min/Max] Distanceによって増やすポリゴンを段階的に制御します。

  • Tessellation……オブジェクトのポリゴンを増やします。

  • Noise Speed……Noise Textureを回転させる速度を設定します。

  • Noise Power……Noise Textureによって頂点が押し出される度合いを設定します。

  • Noise Factor……全体的な頂点の押し出しの度合いを調整します。
    ※Noise Textureをセットしていない場合、Noise Powerは機能しません。しかし、Noise SpeedおよびNoise Factorに関しては機能します。

最後に。

コード自体の最適化、効率化は一切おこなっていない上に、参考にした論文通りにテクスチャを二枚にパックすることもしていません。コードの冗長さには目をつむってください。数列とかアルゴリズム考えるのめんどくさかった(´・_・`)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].