인풋매니저, 리소스매니저 구조 생성 및 리소스 정리
This commit is contained in:
180
Assets/Resources/Art/UnityChan/Shader/CharaMain.cg
Normal file
180
Assets/Resources/Art/UnityChan/Shader/CharaMain.cg
Normal file
@@ -0,0 +1,180 @@
|
||||
// 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
|
||||
|
||||
#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
|
||||
|
||||
// Float types
|
||||
#define float_t half
|
||||
#define float2_t half2
|
||||
#define float3_t half3
|
||||
#define float4_t half4
|
||||
#define float3x3_t half3x3
|
||||
|
||||
// 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
|
||||
half4 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 = normalize( tex2D( _NormalMapSampler, input.uv ).xyz * 2.0 - 1.0 );
|
||||
float3x3_t localToWorldTranspose = float3x3_t(
|
||||
input.tangent,
|
||||
input.binormal,
|
||||
input.normal
|
||||
);
|
||||
|
||||
normalVec = normalize( mul( normalVec, localToWorldTranspose ) );
|
||||
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 );
|
||||
}
|
||||
13
Assets/Resources/Art/UnityChan/Shader/CharaMain.cg.meta
Normal file
13
Assets/Resources/Art/UnityChan/Shader/CharaMain.cg.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3d0f1648f39e1a408ca5a56b25e96bf
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/CharaMain.cg
|
||||
uploadId: 374231
|
||||
62
Assets/Resources/Art/UnityChan/Shader/CharaOutline.cg
Normal file
62
Assets/Resources/Art/UnityChan/Shader/CharaOutline.cg
Normal file
@@ -0,0 +1,62 @@
|
||||
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
||||
|
||||
// Outline shader
|
||||
|
||||
// Material parameters
|
||||
float4 _Color;
|
||||
float4 _LightColor0;
|
||||
float _EdgeThickness = 1.0;
|
||||
float4 _MainTex_ST;
|
||||
|
||||
// Textures
|
||||
sampler2D _MainTex;
|
||||
|
||||
// Structure from vertex shader to fragment shader
|
||||
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
|
||||
|
||||
// Outline thickness multiplier
|
||||
#define INV_EDGE_THICKNESS_DIVISOR 0.00285
|
||||
// Outline color parameters
|
||||
#define SATURATION_FACTOR 0.6
|
||||
#define BRIGHTNESS_FACTOR 0.8
|
||||
|
||||
// Vertex shader
|
||||
v2f vert( appdata_base v )
|
||||
{
|
||||
v2f o;
|
||||
o.uv = TRANSFORM_TEX( v.texcoord.xy, _MainTex );
|
||||
|
||||
half4 projSpacePos = UnityObjectToClipPos( v.vertex );
|
||||
half4 projSpaceNormal = normalize( UnityObjectToClipPos( half4( v.normal, 0 ) ) );
|
||||
half4 scaledNormal = _EdgeThickness * INV_EDGE_THICKNESS_DIVISOR * projSpaceNormal; // * projSpacePos.w;
|
||||
|
||||
scaledNormal.z += 0.00001;
|
||||
o.pos = projSpacePos + scaledNormal;
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
// Fragment shader
|
||||
float4 frag( v2f i ) : COLOR
|
||||
{
|
||||
float4_t diffuseMapColor = tex2D( _MainTex, i.uv );
|
||||
|
||||
float_t maxChan = max( max( diffuseMapColor.r, diffuseMapColor.g ), diffuseMapColor.b );
|
||||
float4_t newMapColor = diffuseMapColor;
|
||||
|
||||
maxChan -= ( 1.0 / 255.0 );
|
||||
float3_t lerpVals = saturate( ( newMapColor.rgb - float3( maxChan, maxChan, maxChan ) ) * 255.0 );
|
||||
newMapColor.rgb = lerp( SATURATION_FACTOR * newMapColor.rgb, newMapColor.rgb, lerpVals );
|
||||
|
||||
return float4( BRIGHTNESS_FACTOR * newMapColor.rgb * diffuseMapColor.rgb, diffuseMapColor.a ) * _Color * _LightColor0;
|
||||
}
|
||||
13
Assets/Resources/Art/UnityChan/Shader/CharaOutline.cg.meta
Normal file
13
Assets/Resources/Art/UnityChan/Shader/CharaOutline.cg.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98e9eccf54dd0e34c9cb77865555483f
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/CharaOutline.cg
|
||||
uploadId: 374231
|
||||
105
Assets/Resources/Art/UnityChan/Shader/CharaSkin.cg
Normal file
105
Assets/Resources/Art/UnityChan/Shader/CharaSkin.cg
Normal file
@@ -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;
|
||||
}
|
||||
13
Assets/Resources/Art/UnityChan/Shader/CharaSkin.cg.meta
Normal file
13
Assets/Resources/Art/UnityChan/Shader/CharaSkin.cg.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe01eae1ec1d1c24b99530833c8c8241
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/CharaSkin.cg
|
||||
uploadId: 374231
|
||||
@@ -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.cg"
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0298b868476735f41857e9ba8f0d4cd1
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_akarami_blend.shader
|
||||
uploadId: 374231
|
||||
@@ -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.cg"
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: abaf2020b803b6847b5c081ed22c05c5
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_eye.shader
|
||||
uploadId: 374231
|
||||
@@ -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.cg"
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf944057124b80b4e84496139e3b072c
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_eye_blend.shader
|
||||
uploadId: 374231
|
||||
@@ -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.cg"
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9627902a73805264c818754ecb22c8f9
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_eyelash_blend.shader
|
||||
uploadId: 374231
|
||||
@@ -0,0 +1,59 @@
|
||||
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
|
||||
|
||||
_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.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Front
|
||||
ZTest Less
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
#include "CharaOutline.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 00262b50562beb14cbab9b52bced4f9f
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_fuku.shader
|
||||
uploadId: 374231
|
||||
@@ -0,0 +1,59 @@
|
||||
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
|
||||
|
||||
_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.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Front
|
||||
ZTest Less
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
#include "CharaOutline.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96d05de60c5f7474491f9f94568cf623
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_fuku_ds.shader
|
||||
uploadId: 374231
|
||||
@@ -0,0 +1,54 @@
|
||||
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
|
||||
|
||||
_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.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Front
|
||||
ZTest Less
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
#include "CharaOutline.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b35a2abbdd5b15d4ca40103088758eac
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_hada.shader
|
||||
uploadId: 374231
|
||||
@@ -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.cg"
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a95784c68f03494d8c7911e15fab82a
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_hada_blend.shader
|
||||
uploadId: 374231
|
||||
@@ -0,0 +1,59 @@
|
||||
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
|
||||
|
||||
_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.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Front
|
||||
ZTest Less
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
#include "CharaOutline.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe3954a9664afb042a2af588b53680b0
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_hair.shader
|
||||
uploadId: 374231
|
||||
@@ -0,0 +1,59 @@
|
||||
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
|
||||
|
||||
_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.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Front
|
||||
ZTest Less
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
#include "CharaOutline.cg"
|
||||
ENDCG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FallBack "Transparent/Cutout/Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 235ca6f7bbc0ead4990f386a7ec24292
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 18705
|
||||
packageName: '"Unity-Chan!" Model'
|
||||
packageVersion: 1.2.2
|
||||
assetPath: Assets/unity-chan!/Unity-chan! Model/Art/UnityChanShader/Shader/Unitychan_chara_hair_ds.shader
|
||||
uploadId: 374231
|
||||
Reference in New Issue
Block a user