summaryrefslogtreecommitdiff
path: root/Assets/Art/Shaders
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-11 20:00:58 +0800
committerchai <chaifix@163.com>2020-10-11 20:00:58 +0800
commit8b384dffa0d9c63c7a657c6e567c2ddefbf046cd (patch)
tree3f4d669b73b6622aa49627c4ccb3c78d51a82bde /Assets/Art/Shaders
parentcd3aee8d640f6abcc82802ca7abbcdfa031c20d3 (diff)
+Saionji show off scene
Diffstat (limited to 'Assets/Art/Shaders')
-rw-r--r--Assets/Art/Shaders/UnityChan.meta8
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaMain.cginc187
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaMain.cginc.meta9
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaOutline.cginc110
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaOutline.cginc.meta9
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaSkin.cginc105
-rw-r--r--Assets/Art/Shaders/UnityChan/CharaSkin.cginc.meta9
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_CLOTH1.tgabin0 -> 2092 bytes
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga.meta57
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_RIM1.tgabin0 -> 1580 bytes
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_RIM1.tga.meta57
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_SKIN1.tgabin0 -> 2092 bytes
-rw-r--r--Assets/Art/Shaders/UnityChan/FO_SKIN1.tga.meta57
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader42
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader39
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader41
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader41
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader60
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader60
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader55
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader41
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader60
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader60
-rw-r--r--Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader.meta7
-rw-r--r--Assets/Art/Shaders/UnityChan/readme.txt27
-rw-r--r--Assets/Art/Shaders/UnityChan/readme.txt.meta6
35 files changed, 1210 insertions, 0 deletions
diff --git a/Assets/Art/Shaders/UnityChan.meta b/Assets/Art/Shaders/UnityChan.meta
new file mode 100644
index 00000000..bec53a35
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac654cce9c37f0e4cbb4d7ba03c8fd74
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/CharaMain.cginc b/Assets/Art/Shaders/UnityChan/CharaMain.cginc
new file mode 100644
index 00000000..f7b5fba1
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaMain.cginc
@@ -0,0 +1,187 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
+
+// Character shader
+// Includes falloff shadow and highlight, specular, reflection, and normal mapping
+
+#define ENABLE_CAST_SHADOWS
+
+// Material parameters
+float4 _Color;
+float4 _ShadowColor;
+float4 _LightColor0;
+float _SpecularPower;
+
+float4 _MainTex_ST;
+
+// Textures
+sampler2D _MainTex;
+sampler2D _FalloffSampler;
+sampler2D _RimLightSampler;
+sampler2D _SpecularReflectionSampler;
+sampler2D _EnvMapSampler;
+sampler2D _NormalMapSampler;
+
+// Constants
+#define FALLOFF_POWER 0.3
+
+// Float types
+#define float_t half
+#define float2_t half2
+#define float3_t half3
+#define float4_t half4
+#define float3x3_t half3x3
+
+#ifdef ENABLE_CAST_SHADOWS
+
+// Structure from vertex shader to fragment shader
+struct v2f
+{
+ float4 pos : SV_POSITION;
+ LIGHTING_COORDS( 0, 1 )
+ float2 uv : TEXCOORD2;
+ float3 eyeDir : TEXCOORD3;
+ float3 lightDir : TEXCOORD4;
+ float3 normal : TEXCOORD5;
+ #ifdef ENABLE_NORMAL_MAP
+ float3 tangent : TEXCOORD6;
+ float3 binormal : TEXCOORD7;
+ #endif
+};
+
+#else
+
+// Structure from vertex shader to fragment shader
+struct v2f
+{
+ float4 pos : SV_POSITION;
+ float2 uv : TEXCOORD0;
+ float3 eyeDir : TEXCOORD1;
+ float3 lightDir : TEXCOORD2;
+ float3 normal : TEXCOORD3;
+ #ifdef ENABLE_NORMAL_MAP
+ float3 tangent : TEXCOORD4;
+ float3 binormal : TEXCOORD5;
+ #endif
+};
+
+#endif
+
+// Vertex shader
+v2f vert( appdata_tan v )
+{
+ v2f o;
+ o.pos = UnityObjectToClipPos( v.vertex );
+ o.uv.xy = TRANSFORM_TEX( v.texcoord.xy, _MainTex );
+ o.normal = normalize( mul( unity_ObjectToWorld, float4_t( v.normal, 0 ) ).xyz );
+
+ // Eye direction vector
+ float4 worldPos = mul( unity_ObjectToWorld, v.vertex );
+ o.eyeDir.xyz = normalize( _WorldSpaceCameraPos.xyz - worldPos.xyz ).xyz;
+ o.lightDir = WorldSpaceLightDir( v.vertex );
+
+ #ifdef ENABLE_NORMAL_MAP
+ // Binormal and tangent (for normal map)
+ o.tangent = normalize( mul( unity_ObjectToWorld, float4_t( v.tangent.xyz, 0 ) ).xyz );
+ o.binormal = normalize( cross( o.normal, o.tangent ) * v.tangent.w );
+ #endif
+
+ #ifdef ENABLE_CAST_SHADOWS
+ TRANSFER_VERTEX_TO_FRAGMENT( o );
+ #endif
+
+ return o;
+}
+
+// Overlay blend
+inline float3_t GetOverlayColor( float3_t inUpper, float3_t inLower )
+{
+ float3_t oneMinusLower = float3_t( 1.0, 1.0, 1.0 ) - inLower;
+ float3_t valUnit = 2.0 * oneMinusLower;
+ float3_t minValue = 2.0 * inLower - float3_t( 1.0, 1.0, 1.0 );
+ float3_t greaterResult = inUpper * valUnit + minValue;
+
+ float3_t lowerResult = 2.0 * inLower * inUpper;
+
+ half3 lerpVals = round(inLower);
+ return lerp(lowerResult, greaterResult, lerpVals);
+}
+
+#ifdef ENABLE_NORMAL_MAP
+
+ // Compute normal from normal map
+ inline float3_t GetNormalFromMap( v2f input )
+ {
+ float3_t normalVec = tex2D( _NormalMapSampler, input.uv ).xyz * 2 - 1;
+
+ // Fix for Metal graphics API
+ float3_t xBasis = float3_t( input.tangent.x, input.binormal.x, input.normal.x );
+ float3_t yBasis = float3_t( input.tangent.y, input.binormal.y, input.normal.y );
+ float3_t zBasis = float3_t( input.tangent.z, input.binormal.z, input.normal.z );
+
+ normalVec = float3_t(
+ dot( normalVec, xBasis ),
+ dot( normalVec, yBasis ),
+ dot( normalVec, zBasis )
+ );
+ normalVec = normalize( normalVec );
+
+ return normalVec;
+ }
+
+#endif
+
+// Fragment shader
+float4 frag( v2f i ) : COLOR
+{
+ float4_t diffSamplerColor = tex2D( _MainTex, i.uv.xy );
+
+ #ifdef ENABLE_NORMAL_MAP
+ float3_t normalVec = GetNormalFromMap( i );
+ #else
+ float3_t normalVec = i.normal;
+ #endif
+
+ // Falloff. Convert the angle between the normal and the camera direction into a lookup for the gradient
+ float_t normalDotEye = dot( normalVec, i.eyeDir.xyz );
+ float_t falloffU = clamp( 1.0 - abs( normalDotEye ), 0.02, 0.98 );
+ float4_t falloffSamplerColor = FALLOFF_POWER * tex2D( _FalloffSampler, float2( falloffU, 0.25f ) );
+ float3_t shadowColor = diffSamplerColor.rgb * diffSamplerColor.rgb;
+ float3_t combinedColor = lerp( diffSamplerColor.rgb, shadowColor, falloffSamplerColor.r );
+ combinedColor *= ( 1.0 + falloffSamplerColor.rgb * falloffSamplerColor.a );
+
+ // Specular
+ // Use the eye vector as the light vector
+ float4_t reflectionMaskColor = tex2D( _SpecularReflectionSampler, i.uv.xy );
+ float_t specularDot = dot( normalVec, i.eyeDir.xyz );
+ float4_t lighting = lit( normalDotEye, specularDot, _SpecularPower );
+ float3_t specularColor = saturate( lighting.z ) * reflectionMaskColor.rgb * diffSamplerColor.rgb;
+ combinedColor += specularColor;
+
+ // Reflection
+ float3_t reflectVector = reflect( -i.eyeDir.xyz, normalVec ).xzy;
+ float2_t sphereMapCoords = 0.5 * ( float2_t( 1.0, 1.0 ) + reflectVector.xy );
+ float3_t reflectColor = tex2D( _EnvMapSampler, sphereMapCoords ).rgb;
+ reflectColor = GetOverlayColor( reflectColor, combinedColor );
+
+ combinedColor = lerp( combinedColor, reflectColor, reflectionMaskColor.a );
+ combinedColor *= _Color.rgb * _LightColor0.rgb;
+ float opacity = diffSamplerColor.a * _Color.a * _LightColor0.a;
+
+ #ifdef ENABLE_CAST_SHADOWS
+ // Cast shadows
+ shadowColor = _ShadowColor.rgb * combinedColor;
+ float_t attenuation = saturate( 2.0 * LIGHT_ATTENUATION( i ) - 1.0 );
+ combinedColor = lerp( shadowColor, combinedColor, attenuation );
+ #endif
+
+ // Rimlight
+ float_t rimlightDot = saturate( 0.5 * ( dot( normalVec, i.lightDir ) + 1.0 ) );
+ falloffU = saturate( rimlightDot * falloffU );
+ falloffU = tex2D( _RimLightSampler, float2( falloffU, 0.25f ) ).r;
+ float3_t lightColor = diffSamplerColor.rgb; // * 2.0;
+ combinedColor += falloffU * lightColor;
+
+ return float4( combinedColor, opacity );
+}
diff --git a/Assets/Art/Shaders/UnityChan/CharaMain.cginc.meta b/Assets/Art/Shaders/UnityChan/CharaMain.cginc.meta
new file mode 100644
index 00000000..ed0f6332
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaMain.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a9a12356e1f4e2c408ce3fee3a490654
+timeCreated: 1458276847
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/CharaOutline.cginc b/Assets/Art/Shaders/UnityChan/CharaOutline.cginc
new file mode 100644
index 00000000..29b12eb9
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaOutline.cginc
@@ -0,0 +1,110 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+// Outline shader
+// アウトラインシェーダ
+
+// Editable parameters
+// 編集可能パラメータ
+
+// Material color
+// マテリアルの色
+float4 _Color;
+
+// Light color
+// 光源の色
+float4 _LightColor0;
+
+// Outline thickness
+// アウトラインの太さ
+float _EdgeThickness = 1.0;
+
+// Depth bias to help prevent z-fighting
+// Zファイティングを緩和するための深度バイアス値
+float _DepthBias = 0.00012;
+
+float4 _MainTex_ST;
+
+// Main texture
+// メインテクスチャ
+sampler2D _MainTex;
+
+struct v2f
+{
+ float4 pos : SV_POSITION;
+ float2 UV : TEXCOORD0;
+};
+
+// Float types
+#define float_t half
+#define float2_t half2
+#define float3_t half3
+#define float4_t half4
+
+// Amount to scale the distance from the camera into a value to scale the outline by. Tweak as desired
+// カメラからの距離をアウトラインの太さに変換するための値。お好きなように調整してみてください
+#define OUTLINE_DISTANCE_SCALE (0.0016)
+// Minimum and maximum outline thicknesses (Before multiplying by _EdgeThickness)
+// 太さの上限と下限(_EdgeThicknessをかける前の制限)
+#define OUTLINE_NORMAL_SCALE_MIN (0.003)
+#define OUTLINE_NORMAL_SCALE_MAX (0.030)
+
+// Vertex shader
+// 頂点シェーダ
+v2f vert(appdata_base v)
+{
+ float4 projPos = UnityObjectToClipPos(v.vertex);
+ float4 projNormal = normalize(UnityObjectToClipPos(float4(v.normal, 0)));
+
+ float distanceToCamera = OUTLINE_DISTANCE_SCALE * projPos.z;
+ float normalScale = _EdgeThickness *
+ lerp(OUTLINE_NORMAL_SCALE_MIN, OUTLINE_NORMAL_SCALE_MAX, distanceToCamera);
+
+ v2f o;
+ o.pos = projPos + normalScale * projNormal;
+ #ifdef UNITY_REVERSED_Z
+ o.pos.z -= _DepthBias;
+ #else
+ o.pos.z += _DepthBias;
+ #endif
+ o.UV = v.texcoord.xy;
+
+ return o;
+}
+
+// Get the maximum component of a 3-component color
+// RGB色の最大の値を取得
+inline float_t GetMaxComponent(float3_t inColor)
+{
+ return max(max(inColor.r, inColor.g), inColor.b);
+}
+
+// Function to fake setting the saturation of a color. Not a true HSL computation.
+// 色の彩度を擬似的に調整するための関数。本当のHSL計算ではありません。
+inline float3_t SetSaturation(float3_t inColor, float_t inSaturation)
+{
+ // Compute the saturated color to be one where all components smaller than the max are set to 0.
+ // Note that this is just an approximation.
+ // 彩度が一番高い色をRGBコンポーネントの一番高い値より低い値が全部0になっているものとします。
+ // これはあくまで擬似計算。
+ float_t maxComponent = GetMaxComponent(inColor) - 0.0001;
+ float3_t saturatedColor = step(maxComponent.rrr, inColor) * inColor;
+ return lerp(inColor, saturatedColor, inSaturation);
+}
+
+// Outline color parameters. Tweak as desired
+// アウトラインの色を調整するための値。お好きなように調整して下さい
+#define SATURATION_FACTOR 0.6
+#define BRIGHTNESS_FACTOR 0.8
+
+// Fragment shader
+// フラグメントシェーダ
+float4_t frag(v2f i) : COLOR
+{
+ float4_t mainMapColor = tex2D(_MainTex, i.UV);
+
+ float3_t outlineColor = BRIGHTNESS_FACTOR
+ * SetSaturation(mainMapColor.rgb, SATURATION_FACTOR)
+ * mainMapColor.rgb;
+
+ return float4_t(outlineColor, mainMapColor.a) * _Color * _LightColor0;
+}
diff --git a/Assets/Art/Shaders/UnityChan/CharaOutline.cginc.meta b/Assets/Art/Shaders/UnityChan/CharaOutline.cginc.meta
new file mode 100644
index 00000000..5257d314
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaOutline.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 92f50eca565e9cf46af32431752a116d
+timeCreated: 1458276847
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/CharaSkin.cginc b/Assets/Art/Shaders/UnityChan/CharaSkin.cginc
new file mode 100644
index 00000000..15fb97ab
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaSkin.cginc
@@ -0,0 +1,105 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
+
+// Character skin shader
+// Includes falloff shadow
+
+#define ENABLE_CAST_SHADOWS
+
+// Material parameters
+float4 _Color;
+float4 _ShadowColor;
+float4 _LightColor0;
+float4 _MainTex_ST;
+
+// Textures
+sampler2D _MainTex;
+sampler2D _FalloffSampler;
+sampler2D _RimLightSampler;
+
+// Constants
+#define FALLOFF_POWER 1.0
+
+#ifdef ENABLE_CAST_SHADOWS
+
+// Structure from vertex shader to fragment shader
+struct v2f
+{
+ float4 pos : SV_POSITION;
+ LIGHTING_COORDS( 0, 1 )
+ float3 normal : TEXCOORD2;
+ float2 uv : TEXCOORD3;
+ float3 eyeDir : TEXCOORD4;
+ float3 lightDir : TEXCOORD5;
+};
+
+#else
+
+// Structure from vertex shader to fragment shader
+struct v2f
+{
+ float4 pos : SV_POSITION;
+ float3 normal : TEXCOORD0;
+ float2 uv : TEXCOORD1;
+ float3 eyeDir : TEXCOORD2;
+ float3 lightDir : TEXCOORD3;
+};
+
+#endif
+
+// Float types
+#define float_t half
+#define float2_t half2
+#define float3_t half3
+#define float4_t half4
+
+// Vertex shader
+v2f vert( appdata_base v )
+{
+ v2f o;
+ o.pos = UnityObjectToClipPos( v.vertex );
+ o.uv = TRANSFORM_TEX( v.texcoord.xy, _MainTex );
+ o.normal = normalize( mul( unity_ObjectToWorld, float4_t( v.normal, 0 ) ).xyz );
+
+ // Eye direction vector
+ float4_t worldPos = mul( unity_ObjectToWorld, v.vertex );
+ o.eyeDir = normalize( _WorldSpaceCameraPos - worldPos );
+
+ o.lightDir = WorldSpaceLightDir( v.vertex );
+
+#ifdef ENABLE_CAST_SHADOWS
+ TRANSFER_VERTEX_TO_FRAGMENT( o );
+#endif
+
+ return o;
+}
+
+// Fragment shader
+float4 frag( v2f i ) : COLOR
+{
+ float4_t diffSamplerColor = tex2D( _MainTex, i.uv );
+
+ // Falloff. Convert the angle between the normal and the camera direction into a lookup for the gradient
+ float_t normalDotEye = dot( i.normal, i.eyeDir );
+ float_t falloffU = clamp( 1 - abs( normalDotEye ), 0.02, 0.98 );
+ float4_t falloffSamplerColor = FALLOFF_POWER * tex2D( _FalloffSampler, float2( falloffU, 0.25f ) );
+ float3_t combinedColor = lerp( diffSamplerColor.rgb, falloffSamplerColor.rgb * diffSamplerColor.rgb, falloffSamplerColor.a );
+
+ // Rimlight
+ float_t rimlightDot = saturate( 0.5 * ( dot( i.normal, i.lightDir ) + 1.0 ) );
+ falloffU = saturate( rimlightDot * falloffU );
+ //falloffU = saturate( ( rimlightDot * falloffU - 0.5 ) * 32.0 );
+ falloffU = tex2D( _RimLightSampler, float2( falloffU, 0.25f ) ).r;
+ float3_t lightColor = diffSamplerColor.rgb * 0.5; // * 2.0;
+ combinedColor += falloffU * lightColor;
+
+#ifdef ENABLE_CAST_SHADOWS
+ // Cast shadows
+ float3_t shadowColor = _ShadowColor.rgb * combinedColor;
+ float_t attenuation = saturate( 2.0 * LIGHT_ATTENUATION( i ) - 1.0 );
+ combinedColor = lerp( shadowColor, combinedColor, attenuation );
+#endif
+
+ return float4_t( combinedColor, diffSamplerColor.a ) * _Color * _LightColor0;
+}
diff --git a/Assets/Art/Shaders/UnityChan/CharaSkin.cginc.meta b/Assets/Art/Shaders/UnityChan/CharaSkin.cginc.meta
new file mode 100644
index 00000000..d73d3512
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/CharaSkin.cginc.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2b7c6b37ecca1ed428f5bf17445737b1
+timeCreated: 1458276846
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga b/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga
new file mode 100644
index 00000000..fd451c0e
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga
Binary files differ
diff --git a/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga.meta b/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga.meta
new file mode 100644
index 00000000..29a61ccc
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_CLOTH1.tga.meta
@@ -0,0 +1,57 @@
+fileFormatVersion: 2
+guid: 36249473fe1adf442ab986148d327186
+timeCreated: 1464321160
+licenseType: Store
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ linearTexture: 0
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ cubemapConvolution: 0
+ cubemapConvolutionSteps: 7
+ cubemapConvolutionExponent: 1.5
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ rGBM: 0
+ compressionQuality: 50
+ allowsAlphaSplitting: 0
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 0
+ textureType: -1
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/FO_RIM1.tga b/Assets/Art/Shaders/UnityChan/FO_RIM1.tga
new file mode 100644
index 00000000..2354f6d2
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_RIM1.tga
Binary files differ
diff --git a/Assets/Art/Shaders/UnityChan/FO_RIM1.tga.meta b/Assets/Art/Shaders/UnityChan/FO_RIM1.tga.meta
new file mode 100644
index 00000000..79826936
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_RIM1.tga.meta
@@ -0,0 +1,57 @@
+fileFormatVersion: 2
+guid: 695344a219643f1448e214a2ad48328c
+timeCreated: 1464321160
+licenseType: Store
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ linearTexture: 0
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ cubemapConvolution: 0
+ cubemapConvolutionSteps: 7
+ cubemapConvolutionExponent: 1.5
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ rGBM: 0
+ compressionQuality: 50
+ allowsAlphaSplitting: 0
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 0
+ textureType: -1
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga b/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga
new file mode 100644
index 00000000..97deb0a2
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga
Binary files differ
diff --git a/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga.meta b/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga.meta
new file mode 100644
index 00000000..6cbb1fdc
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/FO_SKIN1.tga.meta
@@ -0,0 +1,57 @@
+fileFormatVersion: 2
+guid: 3efba7c112fa27d4baa50f68135d225f
+timeCreated: 1464321160
+licenseType: Store
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ linearTexture: 0
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ cubemapConvolution: 0
+ cubemapConvolutionSteps: 7
+ cubemapConvolutionExponent: 1.5
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ rGBM: 0
+ compressionQuality: 50
+ allowsAlphaSplitting: 0
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 0
+ textureType: -1
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader
new file mode 100644
index 00000000..d88f9a73
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader
@@ -0,0 +1,42 @@
+Shader "UnityChan/Blush - Transparent"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Blend SrcAlpha OneMinusSrcAlpha, One One
+ ZWrite Off
+ Tags
+ {
+ "Queue"="Geometry+3"
+ "IgnoreProjector"="True"
+ "RenderType"="Overlay"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader.meta
new file mode 100644
index 00000000..c7e00710
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_akarami_blend.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0298b868476735f41857e9ba8f0d4cd1
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader
new file mode 100644
index 00000000..e0632ce0
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader
@@ -0,0 +1,39 @@
+Shader "UnityChan/Eye"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader.meta
new file mode 100644
index 00000000..7b1c21d0
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: abaf2020b803b6847b5c081ed22c05c5
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader
new file mode 100644
index 00000000..c71d0e2e
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader
@@ -0,0 +1,41 @@
+Shader "UnityChan/Eye - Transparent"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Blend SrcAlpha OneMinusSrcAlpha, One One
+ Tags
+ {
+ "Queue"="Geometry+1" // Transparent+1"
+ "IgnoreProjector"="True"
+ "RenderType"="Overlay"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader.meta
new file mode 100644
index 00000000..fc0d98af
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eye_blend.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bf944057124b80b4e84496139e3b072c
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader
new file mode 100644
index 00000000..8098da26
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader
@@ -0,0 +1,41 @@
+Shader "UnityChan/Eyelash - Transparent"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Blend SrcAlpha OneMinusSrcAlpha, One One
+ Tags
+ {
+ "Queue"="Geometry+2"
+ // "IgnoreProjector"="True"
+ "RenderType"="Overlay"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader.meta
new file mode 100644
index 00000000..0ac3be74
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_eyelash_blend.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9627902a73805264c818754ecb22c8f9
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader
new file mode 100644
index 00000000..21600203
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader
@@ -0,0 +1,60 @@
+Shader "UnityChan/Clothing"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+ _SpecularPower ("Specular Power", Float) = 20
+ _EdgeThickness ("Outline Thickness", Float) = 1
+ _DepthBias ("Outline Depth Bias", Float) = 0.00012
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ _SpecularReflectionSampler ("Specular / Reflection Mask", 2D) = "white" {}
+ _EnvMapSampler ("Environment Map", 2D) = "" {}
+ _NormalMapSampler ("Normal Map", 2D) = "" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#define ENABLE_NORMAL_MAP
+#include "CharaMain.cginc"
+ENDCG
+ }
+
+ Pass
+ {
+ Cull Front
+ ZTest Less
+CGPROGRAM
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "CharaOutline.cginc"
+ENDCG
+ }
+
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader.meta
new file mode 100644
index 00000000..09125e79
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 00262b50562beb14cbab9b52bced4f9f
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader
new file mode 100644
index 00000000..a527f298
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader
@@ -0,0 +1,60 @@
+Shader "UnityChan/Clothing - Double-sided"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+ _SpecularPower ("Specular Power", Float) = 20
+ _EdgeThickness ("Outline Thickness", Float) = 1
+ _DepthBias ("Outline Depth Bias", Float) = 0.00012
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ _SpecularReflectionSampler ("Specular / Reflection Mask", 2D) = "white" {}
+ _EnvMapSampler ("Environment Map", 2D) = "" {}
+ _NormalMapSampler ("Normal Map", 2D) = "" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Off
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#define ENABLE_NORMAL_MAP
+#include "CharaMain.cginc"
+ENDCG
+ }
+
+ Pass
+ {
+ Cull Front
+ ZTest Less
+CGPROGRAM
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "CharaOutline.cginc"
+ENDCG
+ }
+
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader.meta
new file mode 100644
index 00000000..03ec1434
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_fuku_ds.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 96d05de60c5f7474491f9f94568cf623
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader
new file mode 100644
index 00000000..501100ce
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader
@@ -0,0 +1,55 @@
+Shader "UnityChan/Skin"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+ _EdgeThickness ("Outline Thickness", Float) = 1
+ _DepthBias ("Outline Depth Bias", Float) = 0.00012
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+
+ Pass
+ {
+ Cull Front
+ ZTest Less
+CGPROGRAM
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "CharaOutline.cginc"
+ENDCG
+ }
+
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader.meta
new file mode 100644
index 00000000..6205822d
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b35a2abbdd5b15d4ca40103088758eac
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader
new file mode 100644
index 00000000..3b2e1db5
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader
@@ -0,0 +1,41 @@
+Shader "UnityChan/Skin - Transparent"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ }
+
+ SubShader
+ {
+ Blend SrcAlpha OneMinusSrcAlpha, One One
+ Tags
+ {
+ "Queue"="Transparent+1"
+ "IgnoreProjector"="True"
+ "RenderType"="Overlay"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#include "CharaSkin.cginc"
+ENDCG
+ }
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader.meta
new file mode 100644
index 00000000..f181589e
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hada_blend.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7a95784c68f03494d8c7911e15fab82a
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader
new file mode 100644
index 00000000..85cdf719
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader
@@ -0,0 +1,60 @@
+Shader "UnityChan/Hair"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+ _SpecularPower ("Specular Power", Float) = 20
+ _EdgeThickness ("Outline Thickness", Float) = 1
+ _DepthBias ("Outline Depth Bias", Float) = 0.00012
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ _SpecularReflectionSampler ("Specular / Reflection Mask", 2D) = "white" {}
+ _EnvMapSampler ("Environment Map", 2D) = "" {}
+ _NormalMapSampler ("Normal Map", 2D) = "" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Back
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#define ENABLE_NORMAL_MAP
+#include "CharaMain.cginc"
+ENDCG
+ }
+
+ Pass
+ {
+ Cull Front
+ ZTest Less
+CGPROGRAM
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "CharaOutline.cginc"
+ENDCG
+ }
+
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader.meta
new file mode 100644
index 00000000..3651fa50
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fe3954a9664afb042a2af588b53680b0
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader
new file mode 100644
index 00000000..4869a2ba
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader
@@ -0,0 +1,60 @@
+Shader "UnityChan/Hair - Double-sided"
+{
+ Properties
+ {
+ _Color ("Main Color", Color) = (1, 1, 1, 1)
+ _ShadowColor ("Shadow Color", Color) = (0.8, 0.8, 1, 1)
+ _SpecularPower ("Specular Power", Float) = 20
+ _EdgeThickness ("Outline Thickness", Float) = 1
+ _DepthBias ("Outline Depth Bias", Float) = 0.00012
+
+ _MainTex ("Diffuse", 2D) = "white" {}
+ _FalloffSampler ("Falloff Control", 2D) = "white" {}
+ _RimLightSampler ("RimLight Control", 2D) = "white" {}
+ _SpecularReflectionSampler ("Specular / Reflection Mask", 2D) = "white" {}
+ _EnvMapSampler ("Environment Map", 2D) = "" {}
+ _NormalMapSampler ("Normal Map", 2D) = "" {}
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode"="ForwardBase"
+ }
+
+ Pass
+ {
+ Cull Off
+ ZTest LEqual
+CGPROGRAM
+#pragma multi_compile_fwdbase
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "AutoLight.cginc"
+#define ENABLE_NORMAL_MAP
+#include "CharaMain.cginc"
+ENDCG
+ }
+
+ Pass
+ {
+ Cull Front
+ ZTest Less
+CGPROGRAM
+#pragma target 3.0
+#pragma vertex vert
+#pragma fragment frag
+#include "UnityCG.cginc"
+#include "CharaOutline.cginc"
+ENDCG
+ }
+
+ }
+
+ FallBack "Transparent/Cutout/Diffuse"
+}
diff --git a/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader.meta b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader.meta
new file mode 100644
index 00000000..1b772740
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/Unitychan_chara_hair_ds.shader.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 235ca6f7bbc0ead4990f386a7ec24292
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Shaders/UnityChan/readme.txt b/Assets/Art/Shaders/UnityChan/readme.txt
new file mode 100644
index 00000000..8e557007
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/readme.txt
@@ -0,0 +1,27 @@
+ユニティちゃんシェーダー Ver. 1.2.4 (Unity 5.4/5.5β 対応版)
+2016/09/04 Unity Technologies Japan
+
+動作環境:Unity 5.3.6以降
+
+Unity 5.4対応版。ユニティちゃんシェーダーがエラーを起こしてピンク色になっている時に当てるパッチです。
+Unity 5.4で開いてしまったプロジェクトを、再度Unity5.3.xで開いた時に、同様のエラーが出ている場合にも適用できます。
+さらに、Windowsの一部環境でUnity5.5βをご利用の際に、アウトラインの不具合が出る件に対処しています。
+
+【修正内容】
+Unity5.5βで行われた、DirectX11等でのReversed Zへの仕様変更に基づく、アウトラインでのZ深度の精度変化に対応しました。
+-----------------
+ユニティちゃんシェーダー Ver. 1.2.4 (Unity 5.4 対応版)
+シェーダーインクルードファイルの拡張子を修正。
+それに合わせてシェーダー内の記述も修正。
+------------------
+ユニティちゃんシェーダー Ver. 1.2.2(iOS METAL対応版)
+2015/03/17 Unity Technologies Japan
+
+
+
+Ver1.2.1で一部モバイル環境で見られるアウトラインのZファイティングを改善したバージョンに、iOS METAL対応を追加したバージョンです。
+
+本シェーダーを利用する場合、プロジェクトはUnity 4.6.3以降である必要があります。
+
+従来のユニティちゃんシェーダーに上書きをする形で使用してください。
+-------------------
diff --git a/Assets/Art/Shaders/UnityChan/readme.txt.meta b/Assets/Art/Shaders/UnityChan/readme.txt.meta
new file mode 100644
index 00000000..55c1b4fb
--- /dev/null
+++ b/Assets/Art/Shaders/UnityChan/readme.txt.meta
@@ -0,0 +1,6 @@
+fileFormatVersion: 2
+guid: ca50fa9b4a8a80b4e803a18131e1df68
+TextScriptImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant: