first commit
This commit is contained in:
76
Packages/com.arongranberg.aline/Resources/aline_common.cginc
Normal file
76
Packages/com.arongranberg.aline/Resources/aline_common.cginc
Normal file
@@ -0,0 +1,76 @@
|
||||
|
||||
#ifdef UNITY_HDRP
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||
|
||||
// Unity does not define the UNITY_DECLARE_TEX2D macro when using HDRP, at least at the time of writing this.
|
||||
// But luckily HDRP is only supported on platforms where separate sampler states are supported, so we can define it like this.
|
||||
#if !defined(UNITY_DECLARE_TEX2D)
|
||||
// This is copied from com.unity.shadergraph@14.0.6/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Shim/HLSLSupportShim.hlsl
|
||||
#define UNITY_DECLARE_TEX2D(tex) TEXTURE2D(tex); SAMPLER(sampler##tex)
|
||||
#endif
|
||||
|
||||
#if !defined(UNITY_SAMPLE_TEX2D)
|
||||
#define UNITY_SAMPLE_TEX2D(tex,coord) SAMPLE_TEXTURE2D(tex, sampler##tex, coord)
|
||||
#endif
|
||||
|
||||
// This is not defined in HDRP either, but we do know that HDRP only supports these platforms (at least I think so...)
|
||||
#define UNITY_SEPARATE_TEXTURE_SAMPLER
|
||||
|
||||
#else
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
// These exist in the render pipelines, but not in UnityCG
|
||||
float4 TransformObjectToHClip(float3 x) {
|
||||
return UnityObjectToClipPos(float4(x, 1.0));
|
||||
}
|
||||
|
||||
half3 FastSRGBToLinear(half3 sRGB) {
|
||||
return GammaToLinearSpace(sRGB);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Tranforms a direction from object to homogenous space
|
||||
inline float4 UnityObjectToClipDirection(in float3 pos) {
|
||||
// More efficient than computing M*VP matrix product
|
||||
return mul(UNITY_MATRIX_VP, mul(UNITY_MATRIX_M, float4(pos, 0)));
|
||||
}
|
||||
|
||||
float lengthsq(float3 v) {
|
||||
return dot(v,v);
|
||||
}
|
||||
|
||||
float4 ComputeScreenPos (float4 pos, float projectionSign)
|
||||
{
|
||||
float4 o = pos * 0.5f;
|
||||
o.xy = float2(o.x, o.y * projectionSign) + o.w;
|
||||
o.zw = pos.zw;
|
||||
return o;
|
||||
}
|
||||
|
||||
|
||||
// Converts to linear space from sRGB if linear is the current color space
|
||||
inline float3 ConvertSRGBToDestinationColorSpace(float3 sRGB) {
|
||||
#ifdef UNITY_COLORSPACE_GAMMA
|
||||
return sRGB;
|
||||
#else
|
||||
return FastSRGBToLinear(sRGB);
|
||||
#endif
|
||||
}
|
||||
|
||||
struct appdata_color {
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float3 normal : NORMAL;
|
||||
float2 uv : TEXCOORD0;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
// Unity sadly does not include a bias macro for texture sampling.
|
||||
#if defined(UNITY_SEPARATE_TEXTURE_SAMPLER)
|
||||
#define UNITY_SAMPLE_TEX2D_BIAS(tex, uv, bias) tex.SampleBias(sampler##tex, uv, bias)
|
||||
#else
|
||||
#define UNITY_SAMPLE_TEX2D_BIAS(tex, uv, bias) tex2Dbias(float4(uv, 0, bias))
|
||||
#endif
|
||||
@@ -0,0 +1,16 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b135520270114849b121a628fe61ba9
|
||||
timeCreated: 1472987846
|
||||
licenseType: Store
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_common.cginc
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,107 @@
|
||||
#include "aline_common.cginc"
|
||||
|
||||
struct LineData {
|
||||
float3 start;
|
||||
uint joinHintInstanceIndex;
|
||||
float3 end;
|
||||
float width;
|
||||
float4 color;
|
||||
};
|
||||
|
||||
static float2 vertexToSide[6] = {
|
||||
float2(-1, -1),
|
||||
float2(1, -1),
|
||||
float2(1, 1),
|
||||
|
||||
float2(-1, -1),
|
||||
float2(1, 1),
|
||||
float2(-1, 1),
|
||||
};
|
||||
|
||||
struct line_v2f {
|
||||
half4 col : COLOR;
|
||||
noperspective float lineWidth: TEXCOORD3;
|
||||
noperspective float uv : TEXCOORD4;
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
// d = normalized distance to line
|
||||
float lineAA(float d) {
|
||||
d = max(min(d, 1.0), 0) * 1.116;
|
||||
float v = 0.93124*d*d*d - 1.42215*d*d - 0.42715*d + 0.95316;
|
||||
v /= 0.95316;
|
||||
return max(v, 0);
|
||||
}
|
||||
|
||||
|
||||
float calculateLineAlpha(line_v2f i, float pixelWidth, float falloffTextureScreenPixels) {
|
||||
float dist = abs((i.uv - 0.5)*2);
|
||||
float falloffFractionOfWidth = falloffTextureScreenPixels/(pixelWidth*0.5);
|
||||
float a = lineAA((abs(dist) - (1 - falloffFractionOfWidth))/falloffFractionOfWidth);
|
||||
return a;
|
||||
}
|
||||
|
||||
line_v2f line_vert (appdata_color v, float pixelWidth, float lengthPadding, out float4 outpos : SV_POSITION) {
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
line_v2f o;
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||
float4 Mv = TransformObjectToHClip(v.vertex.xyz);
|
||||
// float4 Mv = UnityObjectToClipPos(v.vertex);
|
||||
float3 n = normalize(v.normal);
|
||||
float4 Mn = UnityObjectToClipDirection(n);
|
||||
|
||||
// delta is the limit value of doing the calculation
|
||||
// x1 = M*v
|
||||
// x2 = M*(v + e*n)
|
||||
// lim e->0 (x2/x2.w - x1/x1.w)/e
|
||||
// Where M = UNITY_MATRIX_MVP, v = v.vertex, n = v.normal, e = a very small value
|
||||
// We can calculate this limit as follows
|
||||
// lim e->0 (M*(v + e*n))/(M*(v + e*n)).w - M*v/(M*v).w / e
|
||||
// lim e->0 ((M*v).w*M*(v + e*n))/((M*v).w * (M*(v + e*n)).w) - M*v*(M*(v + e*n)).w/((M*(v + e*n)).w * (M*v).w) / e
|
||||
// lim e->0 ((M*v).w*M*(v + e*n) - M*v*(M*(v + e*n)).w)/((M*v).w * (M*(v + e*n)).w) / e
|
||||
// lim e->0 ((M*v).w*M*(v + e*n) - M*v*(M*(v + e*n)).w)/((M*v).w * (M*v).w) / e
|
||||
// lim e->0 ((M*v).w*M*v + (M*v).w*e*n - M*v*(M*(v + e*n)).w)/((M*v).w * (M*v).w) / e
|
||||
// lim e->0 ((M*v).w*M*v + (M*v).w*e*n - M*v*(M*v).w - M*v*(M*e*n).w)/((M*v).w * (M*v).w) / e
|
||||
// lim e->0 ((M*v).w*M*e*n - M*v*(M*e*n).w)/((M*v).w * (M*v).w) / e
|
||||
// lim e->0 ((M*v).w*M*n - M*v*(M*n).w)/((M*v).w * (M*v).w)
|
||||
// lim e->0 M*n/(M*v).w - (M*v*(M*n).w)/((M*v).w * (M*v).w)
|
||||
|
||||
// Previously the above calculation was done with just e = 0.001, however this could yield graphical artifacts
|
||||
// at large coordinate values as the floating point coordinates would start to run out of precision.
|
||||
// Essentially we calculate the normal of the line in screen space.
|
||||
float4 delta = (Mn - Mv*Mn.w/Mv.w) / Mv.w;
|
||||
|
||||
// The delta (direction of the line in screen space) needs to be normalized in pixel space.
|
||||
// Otherwise it would look weird when stretched to a non-square viewport
|
||||
delta.xy *= _ScreenParams.xy;
|
||||
delta.xy = normalize(delta.xy);
|
||||
// Handle DirectX properly. See https://docs.unity3d.com/Manual/SL-PlatformDifferences.html
|
||||
float2 normalizedScreenSpaceNormal = float2(-delta.y, delta.x) * _ProjectionParams.x;
|
||||
float2 screenSpaceNormal = normalizedScreenSpaceNormal / _ScreenParams.xy;
|
||||
float4 sn = float4(screenSpaceNormal.x, screenSpaceNormal.y, 0, 0);
|
||||
|
||||
// Left (-1) or Right (1) of the line
|
||||
float side = (v.uv.x - 0.5)*2;
|
||||
// Make the line wide
|
||||
outpos = (Mv / Mv.w) + side*sn*pixelWidth*0.5;
|
||||
|
||||
// -1 or +1 if this vertex is at the start or end of the line respectively.
|
||||
float forwards = (v.uv.y - 0.5)*2;
|
||||
// Add some additional length to the line (usually on the order of 0.5 px)
|
||||
// to avoid occational 1 pixel holes in sequences of contiguous lines.
|
||||
outpos.xy += forwards*(delta.xy / _ScreenParams.xy)*0.5*lengthPadding;
|
||||
|
||||
// Multiply by w because homogeneous coordinates (it still needs to be clipped)
|
||||
outpos *= Mv.w;
|
||||
o.lineWidth = pixelWidth;
|
||||
o.uv = v.uv.x;
|
||||
return o;
|
||||
}
|
||||
|
||||
line_v2f line_vert_raw (appdata_color v, float4 tint, float pixelWidth, float lengthPadding, out float4 outpos) {
|
||||
pixelWidth *= length(v.normal);
|
||||
line_v2f o = line_vert(v, pixelWidth, lengthPadding, outpos);
|
||||
o.col = v.color * tint;
|
||||
o.col.rgb = ConvertSRGBToDestinationColorSpace(o.col.rgb);
|
||||
return o;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 605d8a659194d1a2695d7c0ecd7f1c37
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_common_line.cginc
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,21 @@
|
||||
#include "aline_common.cginc"
|
||||
|
||||
struct v2f {
|
||||
float4 pos : SV_POSITION;
|
||||
float4 col : COLOR;
|
||||
float2 uv : TEXCOORD0;
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
v2f vert_base (appdata_color v, float4 tint, float scale) {
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
v2f o;
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||
o.pos = TransformObjectToHClip(v.vertex.xyz);
|
||||
|
||||
float4 worldSpace = mul(UNITY_MATRIX_M, v.vertex);
|
||||
o.uv = float2 (worldSpace.x*scale,worldSpace.z*scale);
|
||||
o.col = v.color * tint;
|
||||
o.col.rgb = ConvertSRGBToDestinationColorSpace(o.col.rgb);
|
||||
return o;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74e11d375a4c443bebed3fd6b0bb0e11
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_common_surface.cginc
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,107 @@
|
||||
#include "aline_common.cginc"
|
||||
|
||||
float4 _Color;
|
||||
float4 _FadeColor;
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
UNITY_DECLARE_TEX2D(_FallbackTex);
|
||||
float _FallbackAmount;
|
||||
float _TransitionPoint;
|
||||
float _MipBias;
|
||||
float _GammaCorrection;
|
||||
|
||||
struct vertex {
|
||||
float4 pos : POSITION;
|
||||
float4 color : COLOR;
|
||||
float2 uv : TEXCOORD0;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct v2f {
|
||||
float4 col : COLOR;
|
||||
float2 uv: TEXCOORD0;
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
v2f vert_base (vertex v, float4 tint, out float4 outpos : SV_POSITION) {
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
v2f o;
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||
o.uv = v.uv;
|
||||
o.col = v.color * tint;
|
||||
o.col.rgb = ConvertSRGBToDestinationColorSpace(o.col.rgb);
|
||||
outpos = TransformObjectToHClip(v.pos.xyz);
|
||||
return o;
|
||||
}
|
||||
|
||||
// float getAlpha2(float2 uv) {
|
||||
// const float textureWidth = 1024;
|
||||
// float pixelSize = 0.5 * length(float2(ddx(uv.x), ddy(uv.x))) * textureWidth;
|
||||
|
||||
// // Depends on texture generation settings
|
||||
// const float falloffPixels = 5;
|
||||
|
||||
// float sample = UNITY_SAMPLE_TEX2D(_MainTex, uv).a;
|
||||
// // float scale = 1.0 / fwidth(sample);
|
||||
// float signedDistance1 = (0.5 - sample) * falloffPixels;
|
||||
// float signedDistance2 = signedDistance1 / pixelSize;
|
||||
|
||||
// return lineAA(signedDistance2 + 0.5);
|
||||
// // float signedDistance = (sample - 0.5) * scale;
|
||||
// // return fwidth(sample) * 10;
|
||||
// // Use two different distance thresholds to get dynamically stroked text
|
||||
// // float color = clamp(signedDistance + 0.5, 0.0, 1.0);
|
||||
// // return color;
|
||||
// }
|
||||
|
||||
float getAlpha(float2 uv) {
|
||||
float rawSignedDistance = UNITY_SAMPLE_TEX2D(_MainTex, uv).a;
|
||||
float scale = 1.0 / fwidth(rawSignedDistance);
|
||||
float thresholdedDistance = (rawSignedDistance - 0.5) * scale;
|
||||
float color = clamp(thresholdedDistance + 0.5, 0.0, 1.0);
|
||||
return color;
|
||||
}
|
||||
|
||||
// Shader modified from https://evanw.github.io/font-texture-generator/example-webgl/
|
||||
float4 frag (v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
// float halfpixelSize = 0.5 * 0.5 * length(float2(ddx(i.uv.x), ddy(i.uv.x)));
|
||||
// float fcolor0 = UNITY_SAMPLE_TEX2D(_FallbackTex, i.uv).a;
|
||||
// float fcolor1 = UNITY_SAMPLE_TEX2D(_FallbackTex, i.uv + float2(halfpixelSize * 0.6, halfpixelSize * 0.3)).a;
|
||||
// float fcolor2 = UNITY_SAMPLE_TEX2D(_FallbackTex, i.uv + float2(-halfpixelSize * 0.3, halfpixelSize * 0.6)).a;
|
||||
// float fcolor3 = UNITY_SAMPLE_TEX2D(_FallbackTex, i.uv + float2(-halfpixelSize * 0.6, -halfpixelSize * 0.3)).a;
|
||||
// float fcolor4 = UNITY_SAMPLE_TEX2D(_FallbackTex, i.uv + float2(halfpixelSize * 0.3, -halfpixelSize * 0.6)).a;
|
||||
// float fallbackAlpha = (fcolor0 + fcolor1 + fcolor2 + fcolor3 + fcolor4) * 0.2;
|
||||
// Bias the texture sampling to use a lower mipmap level. This makes the text much sharper and clearer.
|
||||
float fallbackAlpha = UNITY_SAMPLE_TEX2D_BIAS(_FallbackTex, i.uv, _MipBias).a;
|
||||
|
||||
// The fallback is used for small font sizes.
|
||||
// Boost the alpha to make it more legible
|
||||
fallbackAlpha *= 1.2;
|
||||
|
||||
// Approximate size of one screen pixel in UV-space
|
||||
float pixelSize = length(float2(ddx(i.uv.x), ddy(i.uv.x)));
|
||||
// float pixelSize2 = length(float2(ddx(i.uv.y), ddy(i.uv.y)));
|
||||
|
||||
// float color0 = getAlpha(i.uv);
|
||||
// float color1 = getAlpha(i.uv + float2(halfpixelSize * 0.6, halfpixelSize * 0.3));
|
||||
// float color2 = getAlpha(i.uv + float2(-halfpixelSize * 0.3, halfpixelSize * 0.6));
|
||||
// float color3 = getAlpha(i.uv + float2(-halfpixelSize * 0.6, -halfpixelSize * 0.3));
|
||||
// float color4 = getAlpha(i.uv + float2(halfpixelSize * 0.3, -halfpixelSize * 0.6));
|
||||
// float color = (color0 + color1 + color2 + color3 + color4) * 0.2;
|
||||
|
||||
float sdfAlpha = getAlpha(i.uv);
|
||||
|
||||
// Transition from the SDF font to the fallback when the font's size on the screen
|
||||
// starts getting smaller than the size in the texture.
|
||||
float sdfTextureWidth = 1024;
|
||||
// How sharp the transition from sdf to fallback is.
|
||||
// A smaller value will make the transition cover a larger range of font sizes
|
||||
float transitionSharpness = 10;
|
||||
float blend = clamp(transitionSharpness*(_TransitionPoint*pixelSize*sdfTextureWidth - 1.0), 0, 1);
|
||||
|
||||
float alpha = lerp(sdfAlpha, fallbackAlpha, blend * _FallbackAmount);
|
||||
|
||||
float4 blendcolor = float4(1,1,1,1);
|
||||
// blendcolor = lerp(float4(0, 1, 0, 1), float4(1, 0, 0, 1), blend);
|
||||
|
||||
return blendcolor * i.col * float4(1, 1, 1, alpha);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4bc56dd8cf7ec1bebb90e3a60d73473
|
||||
ShaderIncludeImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_common_text.cginc
|
||||
uploadId: 700292
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,141 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a41cbdfe1465ffd70b661de460173297
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 5
|
||||
mipMapFadeDistanceEnd: 8
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 2
|
||||
aniso: 8
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 2
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 1
|
||||
swizzle: 50462976
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 1024
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_fallback_font.png
|
||||
uploadId: 700292
|
||||
BIN
Packages/com.arongranberg.aline/Resources/aline_font.png
Normal file
BIN
Packages/com.arongranberg.aline/Resources/aline_font.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
113
Packages/com.arongranberg.aline/Resources/aline_font.png.meta
Normal file
113
Packages/com.arongranberg.aline/Resources/aline_font.png.meta
Normal file
@@ -0,0 +1,113 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cecd6d13eb22ad90fb21ac4b8b925743
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 10
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 2
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 3
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: 1
|
||||
textureCompression: 3
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_font.png
|
||||
uploadId: 700292
|
||||
BIN
Packages/com.arongranberg.aline/Resources/aline_font.ttf
Normal file
BIN
Packages/com.arongranberg.aline/Resources/aline_font.ttf
Normal file
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de5743d7052e68e1b968ac7e8398c2f9
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontName: Droid Sans Mono
|
||||
fontNames:
|
||||
- Droid Sans Mono
|
||||
fallbackFontReferences:
|
||||
- {fileID: 12800000, guid: 21fc0bad37ce24a57aa83faa292e340f, type: 3}
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_font.ttf
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,58 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: aline_outline_mat
|
||||
m_Shader: {fileID: 4800000, guid: 6c78a6dd468954643a87ebf0014bc306, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DecalTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Falloff:
|
||||
m_Texture: {fileID: 2800000, guid: 6267c94129d874d7bafe507aa753046a, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 0ff27a4aaa0ce4d1ba6a39ce3c868a76, type: 3}
|
||||
m_Scale: {x: 2, y: 2}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _InvFade: 1
|
||||
- _LengthPadding: 0.5
|
||||
- _PixelWidth: 4.4
|
||||
- _Scale: -2.68
|
||||
- _Shininess: 0.7
|
||||
m_Colors:
|
||||
- _Amb: {r: 0, g: 1, b: 0.33381772, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmisColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
|
||||
- _Emission: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Emmission: {r: 0.4744898, g: 0.4744898, b: 0.4744898, a: 1}
|
||||
- _FadeColor: {r: 0.7075472, g: 0.7075472, b: 0.7075472, a: 0.12156863}
|
||||
- _Low: {r: 1, g: 1, b: 1, a: 0.7}
|
||||
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Tint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!1002 &2100001
|
||||
EditorExtensionImpl:
|
||||
serializedVersion: 6
|
||||
@@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91035448860ba4e708919485c73f7edd
|
||||
timeCreated: 1442945121
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_outline_mat.mat
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,165 @@
|
||||
Shader "Hidden/ALINE/Outline" {
|
||||
Properties {
|
||||
_Color ("Main Color", Color) = (1,1,1,0.5)
|
||||
_FadeColor ("Fade Color", Color) = (1,1,1,0.3)
|
||||
_PixelWidth ("Width (px)", Float) = 4
|
||||
_LengthPadding ("Length Padding (px)", Float) = 0
|
||||
}
|
||||
|
||||
HLSLINCLUDE
|
||||
float4 _Color;
|
||||
float4 _FadeColor;
|
||||
float _PixelWidth;
|
||||
float _LengthPadding;
|
||||
|
||||
// Number of screen pixels that the _Falloff texture corresponds to
|
||||
static const float FalloffTextureScreenPixels = 2;
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
ENDHLSL
|
||||
|
||||
// First subshader is for the HighDefinitionRenderPipeline.
|
||||
// The shader contents are identical except that it defines UNTIY_HDRP.
|
||||
SubShader {
|
||||
PackageRequirements {
|
||||
"com.unity.render-pipelines.high-definition": "0.1"
|
||||
}
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ZWrite Off
|
||||
Offset -3, -50
|
||||
Tags { "IgnoreProjector"="True" "RenderType"="Overlay" "RenderPipeline"="HighDefinitionRenderPipeline" }
|
||||
// With line joins some triangles can actually end up backwards, so disable culling
|
||||
Cull Off
|
||||
|
||||
// Render behind objects
|
||||
Pass {
|
||||
ZTest Greater
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
return line_vert_raw(v, _Color * _FadeColor, _PixelWidth, _LengthPadding, outpos);
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : COLOR {
|
||||
return i.col * float4(1,1,1, calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels));
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
// First pass writes to the Z buffer where the lines have a pretty high opacity
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
ZWrite On
|
||||
ColorMask 0
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
line_v2f o = line_vert_raw(v, float4(1,1,1,1), _PixelWidth, _LengthPadding, outpos);
|
||||
o.col = float4(1,1,1,1);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
float a = calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels);
|
||||
if (a < 0.7) discard;
|
||||
return float4(1,1,1,a);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
// Render in front of objects
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
return line_vert_raw(v, _Color, _PixelWidth, _LengthPadding, outpos);
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||
return i.col * float4(1,1,1, calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels));
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SubShader {
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ZWrite Off
|
||||
Offset -3, -50
|
||||
Tags { "IgnoreProjector"="True" "RenderType"="Overlay" }
|
||||
// With line joins some triangles can actually end up backwards, so disable culling
|
||||
Cull Off
|
||||
|
||||
// Render behind objects
|
||||
Pass {
|
||||
ZTest Greater
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
return line_vert_raw(v, _Color * _FadeColor, _PixelWidth, _LengthPadding, outpos);
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
return i.col * float4(1,1,1, calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels));
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
// First pass writes to the Z buffer where the lines have a pretty high opacity
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
ZWrite On
|
||||
ColorMask 0
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
line_v2f o = line_vert_raw(v, float4(1,1,1,1), _PixelWidth, _LengthPadding, outpos);
|
||||
o.col = float4(1,1,1,1);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
float a = calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels);
|
||||
if (a < 0.7) discard;
|
||||
return float4(1,1,1,a);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
// Render in front of objects
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_line.cginc"
|
||||
|
||||
line_v2f vert (appdata_color v, out float4 outpos : SV_POSITION) {
|
||||
return line_vert_raw(v, _Color, _PixelWidth, _LengthPadding, outpos);
|
||||
}
|
||||
|
||||
half4 frag (line_v2f i, float4 screenPos : VPOS) : SV_Target {
|
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||
return i.col * float4(1,1,1, calculateLineAlpha(i, i.lineWidth, FalloffTextureScreenPixels));
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c78a6dd468954643a87ebf0014bc306
|
||||
timeCreated: 1442945130
|
||||
licenseType: Store
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_outline_mat.shader
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,52 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: aline_surface_mat
|
||||
m_Shader: {fileID: 4800000, guid: 6dad35c0b62e44c26ab244ad80deee1b, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DecalTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 2, y: 2}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _InvFade: 1
|
||||
- _Scale: -2.68
|
||||
- _Shininess: 0.7
|
||||
m_Colors:
|
||||
- _Amb: {r: 0, g: 1, b: 0.33381772, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 0.551}
|
||||
- _EmisColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
|
||||
- _Emission: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Emmission: {r: 0.4744898, g: 0.4744898, b: 0.4744898, a: 1}
|
||||
- _FadeColor: {r: 0.6568808, g: 0.6568808, b: 0.6568808, a: 0.448}
|
||||
- _Low: {r: 1, g: 1, b: 1, a: 0.7}
|
||||
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Tint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!1002 &2100001
|
||||
EditorExtensionImpl:
|
||||
serializedVersion: 6
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5ce51318bbfb1466188b929a68a6bd3b
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_surface_mat.mat
|
||||
uploadId: 700292
|
||||
@@ -0,0 +1,174 @@
|
||||
Shader "Hidden/ALINE/Surface" {
|
||||
Properties {
|
||||
_Color ("Main Color", Color) = (1,1,1,0.5)
|
||||
_MainTex ("Texture", 2D) = "white" { }
|
||||
_Scale ("Scale", float) = 1
|
||||
_FadeColor ("Fade Color", Color) = (1,1,1,0.3)
|
||||
}
|
||||
|
||||
HLSLINCLUDE
|
||||
float4 _MainTex_ST;
|
||||
float4 _Color;
|
||||
float4 _FadeColor;
|
||||
float _Scale;
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
ENDHLSL
|
||||
|
||||
// First subshader is for the HighDefinitionRenderPipeline.
|
||||
// The shader contents are identical except that it defines UNTIY_HDRP.
|
||||
SubShader {
|
||||
PackageRequirements {
|
||||
"com.unity.render-pipelines.high-definition": "0.1"
|
||||
}
|
||||
Tags {"Queue"="Transparent+1" "IgnoreProjector"="True" "RenderType"="Transparent" "RenderPipeline"="HighDefinitionRenderPipeline"}
|
||||
LOD 200
|
||||
Offset -2, -20
|
||||
Cull Off
|
||||
|
||||
Pass {
|
||||
// Z-write further back to avoid lines drawn at the same z-depth to partially clip the surface
|
||||
Offset 0, 0
|
||||
ZWrite On
|
||||
ColorMask 0
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
if (i.col.a < 0.3) discard;
|
||||
return float4(1,1,1,1);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
|
||||
// Render behind
|
||||
Pass {
|
||||
ZWrite Off
|
||||
ZTest Greater
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color * _FadeColor, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
return UNITY_SAMPLE_TEX2D(_MainTex, i.uv) * i.col;
|
||||
}
|
||||
ENDHLSL
|
||||
|
||||
}
|
||||
|
||||
// Render in front
|
||||
Pass {
|
||||
ZWrite Off
|
||||
ZTest LEqual
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
HLSLPROGRAM
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
return UNITY_SAMPLE_TEX2D(_MainTex, i.uv) * i.col;
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags {"Queue"="Transparent+1" "IgnoreProjector"="True" "RenderType"="Transparent"}
|
||||
LOD 200
|
||||
Offset -2, -20
|
||||
Cull Off
|
||||
|
||||
Pass {
|
||||
// Z-write further back to avoid lines drawn at the same z-depth to partially clip the surface
|
||||
Offset 0, 0
|
||||
ZWrite On
|
||||
ColorMask 0
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
if (i.col.a < 0.3) discard;
|
||||
return float4(1,1,1,1);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
|
||||
// Render behind
|
||||
Pass {
|
||||
ZWrite Off
|
||||
ZTest Greater
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color * _FadeColor, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
return UNITY_SAMPLE_TEX2D(_MainTex, i.uv) * i.col;
|
||||
}
|
||||
ENDHLSL
|
||||
|
||||
}
|
||||
|
||||
// Render in front
|
||||
Pass {
|
||||
ZWrite Off
|
||||
ZTest LEqual
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
HLSLPROGRAM
|
||||
#include "aline_common_surface.cginc"
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
|
||||
v2f vert (appdata_color v) {
|
||||
return vert_base(v, _Color, _Scale);
|
||||
}
|
||||
|
||||
float4 frag (v2f i) : SV_Target {
|
||||
return UNITY_SAMPLE_TEX2D(_MainTex, i.uv) * i.col;
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6dad35c0b62e44c26ab244ad80deee1b
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_surface_mat.shader
|
||||
uploadId: 700292
|
||||
88
Packages/com.arongranberg.aline/Resources/aline_text.shader
Normal file
88
Packages/com.arongranberg.aline/Resources/aline_text.shader
Normal file
@@ -0,0 +1,88 @@
|
||||
Shader "Hidden/ALINE/Font" {
|
||||
Properties {
|
||||
_Color ("Main Color", Color) = (1,1,1,0.5)
|
||||
_FadeColor ("Fade Color", Color) = (1,1,1,0.3)
|
||||
_MainTex ("Texture", 2D) = "white" {}
|
||||
_FallbackTex ("Fallback Texture", 2D) = "white" {}
|
||||
_FallbackAmount ("Fallback Amount", Range(0,1)) = 1.0
|
||||
_TransitionPoint ("Transition Point", Range(0,5)) = 0.6
|
||||
_MipBias ("Mip Bias", Range(-2,0)) = -1
|
||||
_GammaCorrection ("Gamma Correction", Range(0,2)) = 1
|
||||
}
|
||||
|
||||
// First subshader is for the HighDefinitionRenderPipeline.
|
||||
// The shader contents are identical except that it defines UNTIY_HDRP.
|
||||
SubShader {
|
||||
PackageRequirements {
|
||||
"com.unity.render-pipelines.high-definition": "0.1"
|
||||
}
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ZWrite Off
|
||||
Offset -3, -50
|
||||
Cull Off
|
||||
Tags { "IgnoreProjector"="True" "RenderType"="Overlay" "RenderPipeline"="HighDefinitionRenderPipeline"}
|
||||
|
||||
Pass {
|
||||
ZTest Greater
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_text.cginc"
|
||||
v2f vert (vertex v, out float4 outpos : SV_POSITION) {
|
||||
return vert_base(v, _Color * _FadeColor, outpos);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#define UNITY_HDRP
|
||||
#include "aline_common_text.cginc"
|
||||
v2f vert (vertex v, out float4 outpos : SV_POSITION) {
|
||||
return vert_base(v, _Color, outpos);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ZWrite Off
|
||||
Offset -3, -50
|
||||
Cull Off
|
||||
Tags { "IgnoreProjector"="True" "RenderType"="Overlay" }
|
||||
|
||||
Pass {
|
||||
ZTest Greater
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "aline_common_text.cginc"
|
||||
v2f vert (vertex v, out float4 outpos : SV_POSITION) {
|
||||
return vert_base(v, _Color * _FadeColor, outpos);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass {
|
||||
ZTest LEqual
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "aline_common_text.cginc"
|
||||
v2f vert (vertex v, out float4 outpos : SV_POSITION) {
|
||||
return vert_base(v, _Color, outpos);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 537f9312ab33ad434a5484e558bbbca3
|
||||
timeCreated: 1442945130
|
||||
licenseType: Store
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_text.shader
|
||||
uploadId: 700292
|
||||
71
Packages/com.arongranberg.aline/Resources/aline_text_mat.mat
Normal file
71
Packages/com.arongranberg.aline/Resources/aline_text_mat.mat
Normal file
@@ -0,0 +1,71 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: aline_text_mat
|
||||
m_Shader: {fileID: 4800000, guid: 537f9312ab33ad434a5484e558bbbca3, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 5
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DecalTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FallbackTex:
|
||||
m_Texture: {fileID: 2800000, guid: a41cbdfe1465ffd70b661de460173297, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Falloff:
|
||||
m_Texture: {fileID: 2800000, guid: 6267c94129d874d7bafe507aa753046a, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: cecd6d13eb22ad90fb21ac4b8b925743, type: 3}
|
||||
m_Scale: {x: 2, y: 2}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _FallbackAmount: 1
|
||||
- _GammaCorrection: 1.42
|
||||
- _InvFade: 1
|
||||
- _LengthPadding: 0.5
|
||||
- _MipBias: -1
|
||||
- _PixelWidth: 4.4
|
||||
- _Scale: -2.68
|
||||
- _Shininess: 0.7
|
||||
- _TransitionPoint: 1
|
||||
m_Colors:
|
||||
- _Amb: {r: 0, g: 1, b: 0.33381772, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmisColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
|
||||
- _Emission: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Emmission: {r: 0.4744898, g: 0.4744898, b: 0.4744898, a: 1}
|
||||
- _FadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Low: {r: 1, g: 1, b: 1, a: 0.7}
|
||||
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Tint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!1002 &2100001
|
||||
EditorExtensionImpl:
|
||||
serializedVersion: 6
|
||||
@@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb8c9e73fc8f8b86e9310790cf7e9df6
|
||||
timeCreated: 1442945121
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 162772
|
||||
packageName: ALINE
|
||||
packageVersion: 1.7.6
|
||||
assetPath: Packages/com.arongranberg.aline/Resources/aline_text_mat.mat
|
||||
uploadId: 700292
|
||||
Reference in New Issue
Block a user