From e57bed6ed928f48de6cf45530ad541ecfd3de757 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Tue, 21 Jul 2020 16:41:26 -0700 Subject: [PATCH] Add rounded rectangle shaders and remove masks --- Assets/Shaders/ColorSlider.shader | 5 + .../{HSLSquare.shader => ColorSquare.shader} | 8 +- Assets/Shaders/ColorSwatch.shader | 105 +++ Assets/Shaders/DecalsCommon.cginc | 6 +- Assets/Shaders/SDF.cginc | 38 ++ Assets/Shaders/StandardDecal.shader | 2 + Assets/UI/BSlider.mat | 1 + Assets/UI/ColorPickerPanel.prefab | 602 +----------------- Assets/UI/Swatch.mat | 89 +++ 9 files changed, 272 insertions(+), 584 deletions(-) rename Assets/Shaders/{HSLSquare.shader => ColorSquare.shader} (93%) create mode 100644 Assets/Shaders/ColorSwatch.shader create mode 100644 Assets/Shaders/SDF.cginc create mode 100644 Assets/UI/Swatch.mat diff --git a/Assets/Shaders/ColorSlider.shader b/Assets/Shaders/ColorSlider.shader index 7f26053..4722d26 100644 --- a/Assets/Shaders/ColorSlider.shader +++ b/Assets/Shaders/ColorSlider.shader @@ -3,6 +3,7 @@ Shader "ConformalDecals/UI/ColorSlider" Properties { _Color("Color", Color) = (0,0,0,0) + _Radius("Radius", Float) = 4 _StencilComp ("Stencil Comparison", Float) = 8 _Stencil ("Stencil ID", Float) = 0 _StencilOp ("Stencil Operation", Float) = 0 @@ -57,12 +58,14 @@ Shader "ConformalDecals/UI/ColorSlider" #include "UnityCG.cginc" #include "UnityUI.cginc" #include "HSL.cginc" + #include "SDF.cginc" #pragma multi_compile_local _ UNITY_UI_CLIP_RECT #pragma multi_compile_local _ UNITY_UI_ALPHACLIP #pragma multi_compile_local HUE RED GREEN BLUE float4 _ClipRect; + float _Radius; float4 _Color; struct appdata @@ -92,6 +95,8 @@ Shader "ConformalDecals/UI/ColorSlider" // sample the texture fixed4 color = 1; + color.a = saturate(0.5 - sdRoundedUVBox(i.uv, _Radius)); + #ifdef HUE color.rgb = HSL2RGB(float3(i.uv.y, 1, 0.5)); #endif //HUE diff --git a/Assets/Shaders/HSLSquare.shader b/Assets/Shaders/ColorSquare.shader similarity index 93% rename from Assets/Shaders/HSLSquare.shader rename to Assets/Shaders/ColorSquare.shader index f69f28b..d0b3822 100644 --- a/Assets/Shaders/HSLSquare.shader +++ b/Assets/Shaders/ColorSquare.shader @@ -3,7 +3,8 @@ Shader "ConformalDecals/UI/HSLSquare" Properties { _Hue("Hue", Range(0,1)) = 0 - + _Radius("Radius", Float) = 4 + _StencilComp ("Stencil Comparison", Float) = 8 _Stencil ("Stencil ID", Float) = 0 _StencilOp ("Stencil Operation", Float) = 0 @@ -51,11 +52,13 @@ Shader "ConformalDecals/UI/HSLSquare" #include "UnityCG.cginc" #include "UnityUI.cginc" #include "HSL.cginc" + #include "SDF.cginc" #pragma multi_compile_local _ UNITY_UI_CLIP_RECT #pragma multi_compile_local _ UNITY_UI_ALPHACLIP float _Hue; + float _Radius; float4 _ClipRect; struct appdata @@ -84,6 +87,9 @@ Shader "ConformalDecals/UI/HSLSquare" { // sample the texture fixed4 color = 1; + + color.a = saturate(0.5 - sdRoundedUVBox(i.uv, _Radius)); + color.rgb = HSL2RGB(float3(_Hue, i.uv.x, i.uv.y)); #ifdef UNITY_UI_CLIP_RECT diff --git a/Assets/Shaders/ColorSwatch.shader b/Assets/Shaders/ColorSwatch.shader new file mode 100644 index 0000000..365a722 --- /dev/null +++ b/Assets/Shaders/ColorSwatch.shader @@ -0,0 +1,105 @@ +Shader "ConformalDecals/UI/Color Swatch" +{ + Properties + { + _Color("Color", Color) = (0,0,0,0) + _Radius("Radius", Float) = 4 + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma require integers + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "HSL.cginc" + #include "SDF.cginc" + + #pragma multi_compile_local _ UNITY_UI_CLIP_RECT + #pragma multi_compile_local _ UNITY_UI_ALPHACLIP + #pragma multi_compile_local HUE RED GREEN BLUE + + float4 _ClipRect; + float _Radius; + float4 _Color; + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.worldPosition = v.vertex; + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 color = _Color; + + color.a = saturate(0.5 - sdRoundedUVBox(i.uv, _Radius)); + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/DecalsCommon.cginc b/Assets/Shaders/DecalsCommon.cginc index 3d9f7b0..f2eb92b 100644 --- a/Assets/Shaders/DecalsCommon.cginc +++ b/Assets/Shaders/DecalsCommon.cginc @@ -153,10 +153,6 @@ inline float BoundsDist(float3 p, float3 normal, float3 projNormal) { #endif } -inline float SDFAA(float dist) { - float ddist = length(float2(ddx(dist), ddy(dist))); - float pixelDist = dist / ddist; - return saturate(0.5-pixelDist); -} + #endif \ No newline at end of file diff --git a/Assets/Shaders/SDF.cginc b/Assets/Shaders/SDF.cginc new file mode 100644 index 0000000..615e321 --- /dev/null +++ b/Assets/Shaders/SDF.cginc @@ -0,0 +1,38 @@ +#ifndef SDF_INCLUDED +#define SDF_INCLUDED + +// based on functions by Inigo Quilez +// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm + +// SDF of a box +float sdBox( in float2 p, in float2 b ) { + float2 d = abs(p)-b; + return length(max(d,0.0)) + min(max(d.x,d.y),0.0); +} + +// SDF of a box with corner radius r +float sdRoundedBox( in float2 p, in float2 b, in float r ) { + float2 d = abs(p)-b+r; + return min(max(d.x,d.y),0.0) + length(max(d,0.0)) - r; +} + +// SDF of a box with corner radius r, based on the current UV position +// UV must be ∈ (0,1), with (0,0) on one corner +float sdRoundedUVBox( float2 uv, float r ) { + float dx = ddx(uv.x); + float dy = ddy(uv.y); + + float2 dim = abs(float2(1/dx, 1/dy)); + float2 halfDim = dim / 2; + float2 pos = (dim * uv) - halfDim; + + return sdRoundedBox(pos, halfDim, r); +} + +float SDFAA(float dist) { + float ddist = length(float2(ddx(dist), ddy(dist))); + float pixelDist = dist / ddist; + return saturate(0.5-pixelDist); +} + +#endif \ No newline at end of file diff --git a/Assets/Shaders/StandardDecal.shader b/Assets/Shaders/StandardDecal.shader index 8f9b0c5..55267c3 100644 --- a/Assets/Shaders/StandardDecal.shader +++ b/Assets/Shaders/StandardDecal.shader @@ -69,6 +69,7 @@ #include "UnityCG.cginc" #include "DecalsCommon.cginc" #include "DecalsSurface.cginc" + #include "SDF.cginc" #include "StandardDecal.cginc" ENDCG @@ -98,6 +99,7 @@ #include "UnityCG.cginc" #include "DecalsCommon.cginc" #include "DecalsSurface.cginc" + #include "SDF.cginc" #include "StandardDecal.cginc" ENDCG diff --git a/Assets/UI/BSlider.mat b/Assets/UI/BSlider.mat index 7c509b1..a9fa097 100644 --- a/Assets/UI/BSlider.mat +++ b/Assets/UI/BSlider.mat @@ -71,6 +71,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _Radius: 5 - _Red: 0 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 diff --git a/Assets/UI/ColorPickerPanel.prefab b/Assets/UI/ColorPickerPanel.prefab index 3213481..fe0ab60 100644 --- a/Assets/UI/ColorPickerPanel.prefab +++ b/Assets/UI/ColorPickerPanel.prefab @@ -30,7 +30,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 8738065833557708213} + - {fileID: 5197239995184688306} - {fileID: 1102500228864913517} m_Father: {fileID: 6450911886077540277} m_RootOrder: 0 @@ -189,13 +189,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 7540975404069679127} + m_Father: {fileID: 1102500228457808546} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: -8, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5734712357595334408 CanvasRenderer: @@ -300,13 +300,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1102500228414182119} + m_Father: {fileID: 1102500228518806388} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1102500227191842404 CanvasRenderer: @@ -815,7 +815,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1102500228764395644} + - {fileID: 1102500229216677013} - {fileID: 1102500229029945128} m_Father: {fileID: 1102500228167217150} m_RootOrder: 0 @@ -1827,96 +1827,6 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &1102500227723839339 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1102500227723839340} - - component: {fileID: 1102500227723839248} - - component: {fileID: 1102500227723839343} - - component: {fileID: 1102500227723839342} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1102500227723839340 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500227723839339} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1102500228478160620} - m_Father: {fileID: 1102500227791644167} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1102500227723839248 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500227723839339} - m_CullTransparentMesh: 0 ---- !u!114 &1102500227723839343 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500227723839339} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &1102500227723839342 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500227723839339} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 --- !u!1 &1102500227728781587 GameObject: m_ObjectHideFlags: 0 @@ -2155,7 +2065,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1102500227723839340} + - {fileID: 1102500228478160620} - {fileID: 1102500228960856548} m_Father: {fileID: 1102500227533609007} m_RootOrder: 0 @@ -2208,10 +2118,10 @@ MonoBehaviour: m_FillRect: {fileID: 0} m_HandleRect: {fileID: 1102500227700081973} m_Direction: 0 - m_MinValue: 0.4 - m_MaxValue: 0.6 + m_MinValue: 0 + m_MaxValue: 1 m_WholeNumbers: 0 - m_Value: 0.4 + m_Value: 0 m_OnValueChanged: m_PersistentCalls: m_Calls: @@ -2270,7 +2180,7 @@ RectTransform: m_Children: - {fileID: 1102500228890550901} - {fileID: 1102500227401206584} - - {fileID: 1102500229139100668} + - {fileID: 1102500229012921283} m_Father: {fileID: 1102500227528487759} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -3493,96 +3403,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1102500228414182118 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1102500228414182119} - - component: {fileID: 1102500228414182123} - - component: {fileID: 1102500228414182122} - - component: {fileID: 1102500228414182121} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1102500228414182119 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228414182118} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1102500227191842402} - m_Father: {fileID: 1102500228518806388} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1102500228414182123 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228414182118} - m_CullTransparentMesh: 0 ---- !u!114 &1102500228414182122 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228414182118} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &1102500228414182121 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228414182118} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 --- !u!1 &1102500228457808545 GameObject: m_ObjectHideFlags: 0 @@ -3613,7 +3433,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 7540975404069679127} + - {fileID: 6890609385592660779} - {fileID: 1102500227130160449} m_Father: {fileID: 6450911886077540277} m_RootOrder: 1 @@ -3762,13 +3582,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1102500227723839340} + m_Father: {fileID: 1102500227791644167} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1102500228478160622 CanvasRenderer: @@ -3887,7 +3707,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1102500228414182119} + - {fileID: 1102500227191842402} - {fileID: 1102500228042339894} m_Father: {fileID: 1102500227428631011} m_RootOrder: 0 @@ -4048,96 +3868,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1102500228764395643 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1102500228764395644} - - component: {fileID: 1102500228764395616} - - component: {fileID: 1102500228764395647} - - component: {fileID: 1102500228764395646} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1102500228764395644 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228764395643} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1102500229216677013} - m_Father: {fileID: 1102500227500736561} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1102500228764395616 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228764395643} - m_CullTransparentMesh: 0 ---- !u!114 &1102500228764395647 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228764395643} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &1102500228764395646 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500228764395643} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 --- !u!1 &1102500228769350602 GameObject: m_ObjectHideFlags: 0 @@ -4643,7 +4373,7 @@ GameObject: - component: {fileID: 1102500229012921285} - component: {fileID: 1102500229012921284} m_Layer: 0 - m_Name: Image + m_Name: Preview m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -4660,13 +4390,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1102500229139100668} - m_RootOrder: 0 + m_Father: {fileID: 1102500227799383127} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchoredPosition: {x: 60, y: 0} + m_SizeDelta: {x: -120, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1102500229012921285 CanvasRenderer: @@ -4688,7 +4418,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} + m_Material: {fileID: 2100000, guid: 7300000be7b1e46e4a8d9bb53f25a51b, type: 2} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 m_OnCullStateChanged: @@ -4901,110 +4631,6 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &1102500229139100667 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1102500229139100668} - - component: {fileID: 1102500229139100671} - - component: {fileID: 1102500229139100670} - - component: {fileID: 1102500229139100669} - - component: {fileID: 1241172524} - m_Layer: 5 - m_Name: Preview - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1102500229139100668 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500229139100667} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1102500229012921283} - m_Father: {fileID: 1102500227799383127} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 60, y: 0} - m_SizeDelta: {x: -120, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1102500229139100671 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500229139100667} - m_CullTransparentMesh: 0 ---- !u!114 &1102500229139100670 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500229139100667} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &1102500229139100669 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500229139100667} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!114 &1241172524 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1102500229139100667} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8526c439646fd4b28955d96b685eadb7, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 --- !u!1 &1102500229153529072 GameObject: m_ObjectHideFlags: 0 @@ -5366,13 +4992,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1102500228764395644} + m_Father: {fileID: 1102500227500736561} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1102500229216677015 CanvasRenderer: @@ -5441,7 +5067,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 8738065833557708213} + m_Father: {fileID: 1433640509112686724} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -5487,96 +5113,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &4819731430681665772 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7540975404069679127} - - component: {fileID: 4004895101164621386} - - component: {fileID: 262429912795953282} - - component: {fileID: 7168712478760365515} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7540975404069679127 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4819731430681665772} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6890609385592660779} - m_Father: {fileID: 1102500228457808546} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4004895101164621386 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4819731430681665772} - m_CullTransparentMesh: 0 ---- !u!114 &262429912795953282 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4819731430681665772} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &7168712478760365515 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4819731430681665772} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 --- !u!1 &6367035111566090002 GameObject: m_ObjectHideFlags: 0 @@ -6256,93 +5792,3 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 120} m_Pivot: {x: 0.5, y: 1} ---- !u!1 &8927709543266518529 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8738065833557708213} - - component: {fileID: 8174967612817773742} - - component: {fileID: 3754305288213428259} - - component: {fileID: 3645994110811429549} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8738065833557708213 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8927709543266518529} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5197239995184688306} - m_Father: {fileID: 1433640509112686724} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8174967612817773742 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8927709543266518529} - m_CullTransparentMesh: 0 ---- !u!114 &3754305288213428259 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8927709543266518529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &3645994110811429549 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8927709543266518529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 diff --git a/Assets/UI/Swatch.mat b/Assets/UI/Swatch.mat new file mode 100644 index 0000000..1460904 --- /dev/null +++ b/Assets/UI/Swatch.mat @@ -0,0 +1,89 @@ +%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: Swatch + m_Shader: {fileID: 4800000, guid: a6e04e87fe864ed6a3f6a3ce52f57024, type: 3} + m_ShaderKeywords: RED + m_LightmapFlags: 4 + 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} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Blue: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Green: 0 + - _Hue: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 4 + - _Red: 1 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}