parent
							
								
									446510acc4
								
							
						
					
					
						commit
						739f87a1e4
					
				@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 0d43241e453521e45ab79a9d3b2747c1 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: e4ab0ecd43ab1434d819f527d602d979 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 4e1b15b95255b95419bbeb7b02981b9d | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: e2fe408751d6dce42af8d6849de8e057 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: c4811ff5125b38e4c90b5c5ac0901e03 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,229 @@ | 
				
			|||||||
 | 
					%YAML 1.1 | 
				
			||||||
 | 
					%TAG !u! tag:unity3d.com,2011: | 
				
			||||||
 | 
					--- !u!1 &5488247659765684004 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684005} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684027} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684026} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684025} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684024} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684007} | 
				
			||||||
 | 
					  - component: {fileID: 5488247659765684006} | 
				
			||||||
 | 
					  m_Layer: 5 | 
				
			||||||
 | 
					  m_Name: ProgressBar | 
				
			||||||
 | 
					  m_TagString: Untagged | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!224 &5488247659765684005 | 
				
			||||||
 | 
					RectTransform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  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: 5488247660258659066} | 
				
			||||||
 | 
					  m_Father: {fileID: 0} | 
				
			||||||
 | 
					  m_RootOrder: 0 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					  m_AnchorMin: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_AnchorMax: {x: 1, y: 0} | 
				
			||||||
 | 
					  m_AnchoredPosition: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_SizeDelta: {x: 0, y: 50} | 
				
			||||||
 | 
					  m_Pivot: {x: 0.5, y: 0} | 
				
			||||||
 | 
					--- !u!223 &5488247659765684027 | 
				
			||||||
 | 
					Canvas: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  serializedVersion: 3 | 
				
			||||||
 | 
					  m_RenderMode: 0 | 
				
			||||||
 | 
					  m_Camera: {fileID: 0} | 
				
			||||||
 | 
					  m_PlaneDistance: 100 | 
				
			||||||
 | 
					  m_PixelPerfect: 0 | 
				
			||||||
 | 
					  m_ReceivesEvents: 1 | 
				
			||||||
 | 
					  m_OverrideSorting: 0 | 
				
			||||||
 | 
					  m_OverridePixelPerfect: 0 | 
				
			||||||
 | 
					  m_SortingBucketNormalizedSize: 0 | 
				
			||||||
 | 
					  m_AdditionalShaderChannelsFlag: 25 | 
				
			||||||
 | 
					  m_SortingLayerID: 0 | 
				
			||||||
 | 
					  m_SortingOrder: 0 | 
				
			||||||
 | 
					  m_TargetDisplay: 0 | 
				
			||||||
 | 
					--- !u!114 &5488247659765684026 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_UiScaleMode: 0 | 
				
			||||||
 | 
					  m_ReferencePixelsPerUnit: 100 | 
				
			||||||
 | 
					  m_ScaleFactor: 1 | 
				
			||||||
 | 
					  m_ReferenceResolution: {x: 800, y: 600} | 
				
			||||||
 | 
					  m_ScreenMatchMode: 0 | 
				
			||||||
 | 
					  m_MatchWidthOrHeight: 0 | 
				
			||||||
 | 
					  m_PhysicalUnit: 3 | 
				
			||||||
 | 
					  m_FallbackScreenDPI: 96 | 
				
			||||||
 | 
					  m_DefaultSpriteDPI: 96 | 
				
			||||||
 | 
					  m_DynamicPixelsPerUnit: 1 | 
				
			||||||
 | 
					--- !u!114 &5488247659765684025 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_IgnoreReversedGraphics: 1 | 
				
			||||||
 | 
					  m_BlockingObjects: 0 | 
				
			||||||
 | 
					  m_BlockingMask: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    m_Bits: 4294967295 | 
				
			||||||
 | 
					--- !u!222 &5488247659765684024 | 
				
			||||||
 | 
					CanvasRenderer: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  m_CullTransparentMesh: 0 | 
				
			||||||
 | 
					--- !u!114 &5488247659765684007 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  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: 0.4811321, g: 0.4811321, b: 0.4811321, a: 1} | 
				
			||||||
 | 
					  m_RaycastTarget: 1 | 
				
			||||||
 | 
					  m_OnCullStateChanged: | 
				
			||||||
 | 
					    m_PersistentCalls: | 
				
			||||||
 | 
					      m_Calls: [] | 
				
			||||||
 | 
					  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} | 
				
			||||||
 | 
					  m_Type: 1 | 
				
			||||||
 | 
					  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 &5488247659765684006 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247659765684004} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: d4fc4cfeb1a520344817bf879a651682, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  ValueSlider: {fileID: 5488247660258659066} | 
				
			||||||
 | 
					  FillType: 1 | 
				
			||||||
 | 
					  Lerp: 0 | 
				
			||||||
 | 
					  lerpTime: 0.5 | 
				
			||||||
 | 
					--- !u!1 &5488247660258659065 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 5488247660258659066} | 
				
			||||||
 | 
					  - component: {fileID: 5488247660258659068} | 
				
			||||||
 | 
					  - component: {fileID: 5488247660258659067} | 
				
			||||||
 | 
					  m_Layer: 5 | 
				
			||||||
 | 
					  m_Name: Value | 
				
			||||||
 | 
					  m_TagString: Untagged | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!224 &5488247660258659066 | 
				
			||||||
 | 
					RectTransform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247660258659065} | 
				
			||||||
 | 
					  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: [] | 
				
			||||||
 | 
					  m_Father: {fileID: 5488247659765684005} | 
				
			||||||
 | 
					  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: -5, y: -5} | 
				
			||||||
 | 
					  m_Pivot: {x: 0.5, y: 0.5} | 
				
			||||||
 | 
					--- !u!222 &5488247660258659068 | 
				
			||||||
 | 
					CanvasRenderer: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247660258659065} | 
				
			||||||
 | 
					  m_CullTransparentMesh: 0 | 
				
			||||||
 | 
					--- !u!114 &5488247660258659067 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5488247660258659065} | 
				
			||||||
 | 
					  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: 0, g: 0.9339623, b: 0.56994694, a: 1} | 
				
			||||||
 | 
					  m_RaycastTarget: 1 | 
				
			||||||
 | 
					  m_OnCullStateChanged: | 
				
			||||||
 | 
					    m_PersistentCalls: | 
				
			||||||
 | 
					      m_Calls: [] | 
				
			||||||
 | 
					  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} | 
				
			||||||
 | 
					  m_Type: 1 | 
				
			||||||
 | 
					  m_PreserveAspect: 0 | 
				
			||||||
 | 
					  m_FillCenter: 1 | 
				
			||||||
 | 
					  m_FillMethod: 4 | 
				
			||||||
 | 
					  m_FillAmount: 1 | 
				
			||||||
 | 
					  m_FillClockwise: 1 | 
				
			||||||
 | 
					  m_FillOrigin: 0 | 
				
			||||||
 | 
					  m_UseSpriteMesh: 0 | 
				
			||||||
 | 
					  m_PixelsPerUnitMultiplier: 1 | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 788db19be9fbc104f81333ed557329e4 | 
				
			||||||
 | 
					PrefabImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: c83ab68629fb380418975f6913fa9a77 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: d4542746fc0f03244bc90feac4f505a9 | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,444 @@ | 
				
			|||||||
 | 
					%YAML 1.1 | 
				
			||||||
 | 
					%TAG !u! tag:unity3d.com,2011: | 
				
			||||||
 | 
					--- !u!29 &1 | 
				
			||||||
 | 
					OcclusionCullingSettings: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  m_OcclusionBakeSettings: | 
				
			||||||
 | 
					    smallestOccluder: 5 | 
				
			||||||
 | 
					    smallestHole: 0.25 | 
				
			||||||
 | 
					    backfaceThreshold: 100 | 
				
			||||||
 | 
					  m_SceneGUID: 00000000000000000000000000000000 | 
				
			||||||
 | 
					  m_OcclusionCullingData: {fileID: 0} | 
				
			||||||
 | 
					--- !u!104 &2 | 
				
			||||||
 | 
					RenderSettings: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  serializedVersion: 9 | 
				
			||||||
 | 
					  m_Fog: 0 | 
				
			||||||
 | 
					  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} | 
				
			||||||
 | 
					  m_FogMode: 3 | 
				
			||||||
 | 
					  m_FogDensity: 0.01 | 
				
			||||||
 | 
					  m_LinearFogStart: 0 | 
				
			||||||
 | 
					  m_LinearFogEnd: 300 | 
				
			||||||
 | 
					  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} | 
				
			||||||
 | 
					  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} | 
				
			||||||
 | 
					  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} | 
				
			||||||
 | 
					  m_AmbientIntensity: 1 | 
				
			||||||
 | 
					  m_AmbientMode: 3 | 
				
			||||||
 | 
					  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} | 
				
			||||||
 | 
					  m_SkyboxMaterial: {fileID: 0} | 
				
			||||||
 | 
					  m_HaloStrength: 0.5 | 
				
			||||||
 | 
					  m_FlareStrength: 1 | 
				
			||||||
 | 
					  m_FlareFadeSpeed: 3 | 
				
			||||||
 | 
					  m_HaloTexture: {fileID: 0} | 
				
			||||||
 | 
					  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} | 
				
			||||||
 | 
					  m_DefaultReflectionMode: 0 | 
				
			||||||
 | 
					  m_DefaultReflectionResolution: 128 | 
				
			||||||
 | 
					  m_ReflectionBounces: 1 | 
				
			||||||
 | 
					  m_ReflectionIntensity: 1 | 
				
			||||||
 | 
					  m_CustomReflection: {fileID: 0} | 
				
			||||||
 | 
					  m_Sun: {fileID: 0} | 
				
			||||||
 | 
					  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					  m_UseRadianceAmbientProbe: 0 | 
				
			||||||
 | 
					--- !u!157 &3 | 
				
			||||||
 | 
					LightmapSettings: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  serializedVersion: 11 | 
				
			||||||
 | 
					  m_GIWorkflowMode: 1 | 
				
			||||||
 | 
					  m_GISettings: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    m_BounceScale: 1 | 
				
			||||||
 | 
					    m_IndirectOutputScale: 1 | 
				
			||||||
 | 
					    m_AlbedoBoost: 1 | 
				
			||||||
 | 
					    m_EnvironmentLightingMode: 0 | 
				
			||||||
 | 
					    m_EnableBakedLightmaps: 0 | 
				
			||||||
 | 
					    m_EnableRealtimeLightmaps: 0 | 
				
			||||||
 | 
					  m_LightmapEditorSettings: | 
				
			||||||
 | 
					    serializedVersion: 12 | 
				
			||||||
 | 
					    m_Resolution: 2 | 
				
			||||||
 | 
					    m_BakeResolution: 40 | 
				
			||||||
 | 
					    m_AtlasSize: 1024 | 
				
			||||||
 | 
					    m_AO: 0 | 
				
			||||||
 | 
					    m_AOMaxDistance: 1 | 
				
			||||||
 | 
					    m_CompAOExponent: 1 | 
				
			||||||
 | 
					    m_CompAOExponentDirect: 0 | 
				
			||||||
 | 
					    m_ExtractAmbientOcclusion: 0 | 
				
			||||||
 | 
					    m_Padding: 2 | 
				
			||||||
 | 
					    m_LightmapParameters: {fileID: 0} | 
				
			||||||
 | 
					    m_LightmapsBakeMode: 1 | 
				
			||||||
 | 
					    m_TextureCompression: 1 | 
				
			||||||
 | 
					    m_FinalGather: 0 | 
				
			||||||
 | 
					    m_FinalGatherFiltering: 1 | 
				
			||||||
 | 
					    m_FinalGatherRayCount: 256 | 
				
			||||||
 | 
					    m_ReflectionCompression: 2 | 
				
			||||||
 | 
					    m_MixedBakeMode: 2 | 
				
			||||||
 | 
					    m_BakeBackend: 0 | 
				
			||||||
 | 
					    m_PVRSampling: 1 | 
				
			||||||
 | 
					    m_PVRDirectSampleCount: 32 | 
				
			||||||
 | 
					    m_PVRSampleCount: 500 | 
				
			||||||
 | 
					    m_PVRBounces: 2 | 
				
			||||||
 | 
					    m_PVREnvironmentSampleCount: 500 | 
				
			||||||
 | 
					    m_PVREnvironmentReferencePointCount: 2048 | 
				
			||||||
 | 
					    m_PVRFilteringMode: 2 | 
				
			||||||
 | 
					    m_PVRDenoiserTypeDirect: 0 | 
				
			||||||
 | 
					    m_PVRDenoiserTypeIndirect: 0 | 
				
			||||||
 | 
					    m_PVRDenoiserTypeAO: 0 | 
				
			||||||
 | 
					    m_PVRFilterTypeDirect: 0 | 
				
			||||||
 | 
					    m_PVRFilterTypeIndirect: 0 | 
				
			||||||
 | 
					    m_PVRFilterTypeAO: 0 | 
				
			||||||
 | 
					    m_PVREnvironmentMIS: 0 | 
				
			||||||
 | 
					    m_PVRCulling: 1 | 
				
			||||||
 | 
					    m_PVRFilteringGaussRadiusDirect: 1 | 
				
			||||||
 | 
					    m_PVRFilteringGaussRadiusIndirect: 5 | 
				
			||||||
 | 
					    m_PVRFilteringGaussRadiusAO: 2 | 
				
			||||||
 | 
					    m_PVRFilteringAtrousPositionSigmaDirect: 0.5 | 
				
			||||||
 | 
					    m_PVRFilteringAtrousPositionSigmaIndirect: 2 | 
				
			||||||
 | 
					    m_PVRFilteringAtrousPositionSigmaAO: 1 | 
				
			||||||
 | 
					    m_ExportTrainingData: 0 | 
				
			||||||
 | 
					    m_TrainingDataDestination: TrainingData | 
				
			||||||
 | 
					    m_LightProbeSampleCountMultiplier: 4 | 
				
			||||||
 | 
					  m_LightingDataAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_UseShadowmask: 1 | 
				
			||||||
 | 
					--- !u!196 &4 | 
				
			||||||
 | 
					NavMeshSettings: | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_BuildSettings: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    agentTypeID: 0 | 
				
			||||||
 | 
					    agentRadius: 0.5 | 
				
			||||||
 | 
					    agentHeight: 2 | 
				
			||||||
 | 
					    agentSlope: 45 | 
				
			||||||
 | 
					    agentClimb: 0.4 | 
				
			||||||
 | 
					    ledgeDropHeight: 0 | 
				
			||||||
 | 
					    maxJumpAcrossDistance: 0 | 
				
			||||||
 | 
					    minRegionArea: 2 | 
				
			||||||
 | 
					    manualCellSize: 0 | 
				
			||||||
 | 
					    cellSize: 0.16666667 | 
				
			||||||
 | 
					    manualTileSize: 0 | 
				
			||||||
 | 
					    tileSize: 256 | 
				
			||||||
 | 
					    accuratePlacement: 0 | 
				
			||||||
 | 
					    debug: | 
				
			||||||
 | 
					      m_Flags: 0 | 
				
			||||||
 | 
					  m_NavMeshData: {fileID: 0} | 
				
			||||||
 | 
					--- !u!1 &73003703 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 73003706} | 
				
			||||||
 | 
					  - component: {fileID: 73003705} | 
				
			||||||
 | 
					  - component: {fileID: 73003704} | 
				
			||||||
 | 
					  m_Layer: 0 | 
				
			||||||
 | 
					  m_Name: EventSystem | 
				
			||||||
 | 
					  m_TagString: Untagged | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!114 &73003704 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 73003703} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_HorizontalAxis: Horizontal | 
				
			||||||
 | 
					  m_VerticalAxis: Vertical | 
				
			||||||
 | 
					  m_SubmitButton: Submit | 
				
			||||||
 | 
					  m_CancelButton: Cancel | 
				
			||||||
 | 
					  m_InputActionsPerSecond: 10 | 
				
			||||||
 | 
					  m_RepeatDelay: 0.5 | 
				
			||||||
 | 
					  m_ForceModuleActive: 0 | 
				
			||||||
 | 
					--- !u!114 &73003705 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 73003703} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_FirstSelected: {fileID: 0} | 
				
			||||||
 | 
					  m_sendNavigationEvents: 1 | 
				
			||||||
 | 
					  m_DragThreshold: 10 | 
				
			||||||
 | 
					--- !u!4 &73003706 | 
				
			||||||
 | 
					Transform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 73003703} | 
				
			||||||
 | 
					  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: [] | 
				
			||||||
 | 
					  m_Father: {fileID: 0} | 
				
			||||||
 | 
					  m_RootOrder: 2 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					--- !u!1 &207186706 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 207186710} | 
				
			||||||
 | 
					  - component: {fileID: 207186709} | 
				
			||||||
 | 
					  - component: {fileID: 207186708} | 
				
			||||||
 | 
					  - component: {fileID: 207186707} | 
				
			||||||
 | 
					  m_Layer: 5 | 
				
			||||||
 | 
					  m_Name: Canvas | 
				
			||||||
 | 
					  m_TagString: Untagged | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!114 &207186707 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 207186706} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_IgnoreReversedGraphics: 1 | 
				
			||||||
 | 
					  m_BlockingObjects: 0 | 
				
			||||||
 | 
					  m_BlockingMask: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    m_Bits: 4294967295 | 
				
			||||||
 | 
					--- !u!114 &207186708 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 207186706} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} | 
				
			||||||
 | 
					  m_Name:  | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  m_UiScaleMode: 1 | 
				
			||||||
 | 
					  m_ReferencePixelsPerUnit: 1 | 
				
			||||||
 | 
					  m_ScaleFactor: 1 | 
				
			||||||
 | 
					  m_ReferenceResolution: {x: 1920, y: 1080} | 
				
			||||||
 | 
					  m_ScreenMatchMode: 1 | 
				
			||||||
 | 
					  m_MatchWidthOrHeight: 0 | 
				
			||||||
 | 
					  m_PhysicalUnit: 3 | 
				
			||||||
 | 
					  m_FallbackScreenDPI: 96 | 
				
			||||||
 | 
					  m_DefaultSpriteDPI: 96 | 
				
			||||||
 | 
					  m_DynamicPixelsPerUnit: 1 | 
				
			||||||
 | 
					--- !u!223 &207186709 | 
				
			||||||
 | 
					Canvas: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 207186706} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  serializedVersion: 3 | 
				
			||||||
 | 
					  m_RenderMode: 0 | 
				
			||||||
 | 
					  m_Camera: {fileID: 0} | 
				
			||||||
 | 
					  m_PlaneDistance: 100 | 
				
			||||||
 | 
					  m_PixelPerfect: 0 | 
				
			||||||
 | 
					  m_ReceivesEvents: 1 | 
				
			||||||
 | 
					  m_OverrideSorting: 0 | 
				
			||||||
 | 
					  m_OverridePixelPerfect: 0 | 
				
			||||||
 | 
					  m_SortingBucketNormalizedSize: 0 | 
				
			||||||
 | 
					  m_AdditionalShaderChannelsFlag: 0 | 
				
			||||||
 | 
					  m_SortingLayerID: 0 | 
				
			||||||
 | 
					  m_SortingOrder: 0 | 
				
			||||||
 | 
					  m_TargetDisplay: 0 | 
				
			||||||
 | 
					--- !u!224 &207186710 | 
				
			||||||
 | 
					RectTransform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 207186706} | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | 
				
			||||||
 | 
					  m_LocalPosition: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					  m_LocalScale: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					  m_Children: | 
				
			||||||
 | 
					  - {fileID: 1923269240} | 
				
			||||||
 | 
					  m_Father: {fileID: 0} | 
				
			||||||
 | 
					  m_RootOrder: 1 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					  m_AnchorMin: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_AnchorMax: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_AnchoredPosition: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_SizeDelta: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_Pivot: {x: 0, y: 0} | 
				
			||||||
 | 
					--- !u!1 &519420028 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 519420032} | 
				
			||||||
 | 
					  - component: {fileID: 519420031} | 
				
			||||||
 | 
					  - component: {fileID: 519420029} | 
				
			||||||
 | 
					  m_Layer: 0 | 
				
			||||||
 | 
					  m_Name: Main Camera | 
				
			||||||
 | 
					  m_TagString: MainCamera | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!81 &519420029 | 
				
			||||||
 | 
					AudioListener: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 519420028} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					--- !u!20 &519420031 | 
				
			||||||
 | 
					Camera: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 519420028} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  m_ClearFlags: 2 | 
				
			||||||
 | 
					  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} | 
				
			||||||
 | 
					  m_projectionMatrixMode: 1 | 
				
			||||||
 | 
					  m_GateFitMode: 2 | 
				
			||||||
 | 
					  m_FOVAxisMode: 0 | 
				
			||||||
 | 
					  m_SensorSize: {x: 36, y: 24} | 
				
			||||||
 | 
					  m_LensShift: {x: 0, y: 0} | 
				
			||||||
 | 
					  m_FocalLength: 50 | 
				
			||||||
 | 
					  m_NormalizedViewPortRect: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    x: 0 | 
				
			||||||
 | 
					    y: 0 | 
				
			||||||
 | 
					    width: 1 | 
				
			||||||
 | 
					    height: 1 | 
				
			||||||
 | 
					  near clip plane: 0.3 | 
				
			||||||
 | 
					  far clip plane: 1000 | 
				
			||||||
 | 
					  field of view: 60 | 
				
			||||||
 | 
					  orthographic: 1 | 
				
			||||||
 | 
					  orthographic size: 5 | 
				
			||||||
 | 
					  m_Depth: -1 | 
				
			||||||
 | 
					  m_CullingMask: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    m_Bits: 4294967295 | 
				
			||||||
 | 
					  m_RenderingPath: -1 | 
				
			||||||
 | 
					  m_TargetTexture: {fileID: 0} | 
				
			||||||
 | 
					  m_TargetDisplay: 0 | 
				
			||||||
 | 
					  m_TargetEye: 0 | 
				
			||||||
 | 
					  m_HDR: 1 | 
				
			||||||
 | 
					  m_AllowMSAA: 0 | 
				
			||||||
 | 
					  m_AllowDynamicResolution: 0 | 
				
			||||||
 | 
					  m_ForceIntoRT: 0 | 
				
			||||||
 | 
					  m_OcclusionCulling: 0 | 
				
			||||||
 | 
					  m_StereoConvergence: 10 | 
				
			||||||
 | 
					  m_StereoSeparation: 0.022 | 
				
			||||||
 | 
					--- !u!4 &519420032 | 
				
			||||||
 | 
					Transform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 519420028} | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | 
				
			||||||
 | 
					  m_LocalPosition: {x: 0, y: 0, z: -10} | 
				
			||||||
 | 
					  m_LocalScale: {x: 1, y: 1, z: 1} | 
				
			||||||
 | 
					  m_Children: [] | 
				
			||||||
 | 
					  m_Father: {fileID: 0} | 
				
			||||||
 | 
					  m_RootOrder: 0 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | 
				
			||||||
 | 
					--- !u!1 &1923269239 | 
				
			||||||
 | 
					GameObject: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_Component: | 
				
			||||||
 | 
					  - component: {fileID: 1923269240} | 
				
			||||||
 | 
					  - component: {fileID: 1923269242} | 
				
			||||||
 | 
					  - component: {fileID: 1923269241} | 
				
			||||||
 | 
					  m_Layer: 5 | 
				
			||||||
 | 
					  m_Name: Panel | 
				
			||||||
 | 
					  m_TagString: Untagged | 
				
			||||||
 | 
					  m_Icon: {fileID: 0} | 
				
			||||||
 | 
					  m_NavMeshLayer: 0 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0 | 
				
			||||||
 | 
					  m_IsActive: 1 | 
				
			||||||
 | 
					--- !u!224 &1923269240 | 
				
			||||||
 | 
					RectTransform: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 1923269239} | 
				
			||||||
 | 
					  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: [] | 
				
			||||||
 | 
					  m_Father: {fileID: 207186710} | 
				
			||||||
 | 
					  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!114 &1923269241 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 1923269239} | 
				
			||||||
 | 
					  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: 0.392} | 
				
			||||||
 | 
					  m_RaycastTarget: 1 | 
				
			||||||
 | 
					  m_OnCullStateChanged: | 
				
			||||||
 | 
					    m_PersistentCalls: | 
				
			||||||
 | 
					      m_Calls: [] | 
				
			||||||
 | 
					  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} | 
				
			||||||
 | 
					  m_Type: 1 | 
				
			||||||
 | 
					  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!222 &1923269242 | 
				
			||||||
 | 
					CanvasRenderer: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 1923269239} | 
				
			||||||
 | 
					  m_CullTransparentMesh: 0 | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 2cda990e2423bbf4892e6590ba056729 | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 28d99da9be4349d4d8f0a82e4bff6fc3 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: eb9c36238a0598041a76c6947355ac93 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: b2fa249e0e6e9a84b96561f9eb4baab1 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 2eaaabb4c8c5998459cca97bc16f1146 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: e72e429167757b248a9050b3c280367b | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 60d89558353c8ab45917953de48c36ce | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: cd5f7960b7ee35f49a463ffb0e4671af | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 4aa1fe0f22f2108489e6bf413f7217cb | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 1dfaa9dc673323b4abca9435d6818674 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: c58fff238daa16943b4b0f160a89238d | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: cfcae502041575f409e1334fcaa80eb1 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: b5538a37db28f6e43be610d4a558e14b | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 1d7b346e9805f6045a50f2ae0bfe237b | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 63f77217a8360b54f826577066ca7221 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 2184427b38146c7449edec6ce6a815f5 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: d4fc4cfeb1a520344817bf879a651682 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 1e0785dbea1b3654298637a11a0fff80 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: de0ae8ac97fba1c4e908b209cef516b1 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: da76ade7c61652f4986dd090c90cc874 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 2267714de683f994393354008d214520 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 62a269b0b6bc30a43843ddb73142d5d9 | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 272b839b5585de5478d092fc247aeeeb | 
				
			||||||
 | 
					MonoImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  defaultReferences: [] | 
				
			||||||
 | 
					  executionOrder: 0 | 
				
			||||||
 | 
					  icon: {instanceID: 0} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 12eb9916393e4ec4682731e17a638501 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: d167b8ea418cc754db9267f18d297f3c | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
| 
		 After Width: | Height: | Size: 10 KiB  | 
@ -0,0 +1,91 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: f8f3457185fe0aa4da933ad552a31ac2 | 
				
			||||||
 | 
					TextureImporter: | 
				
			||||||
 | 
					  internalIDToNameTable: [] | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  serializedVersion: 10 | 
				
			||||||
 | 
					  mipmaps: | 
				
			||||||
 | 
					    mipMapMode: 0 | 
				
			||||||
 | 
					    enableMipMap: 0 | 
				
			||||||
 | 
					    sRGBTexture: 1 | 
				
			||||||
 | 
					    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 | 
				
			||||||
 | 
					  grayScaleToAlpha: 0 | 
				
			||||||
 | 
					  generateCubemap: 6 | 
				
			||||||
 | 
					  cubemapConvolution: 0 | 
				
			||||||
 | 
					  seamlessCubemap: 0 | 
				
			||||||
 | 
					  textureFormat: 1 | 
				
			||||||
 | 
					  maxTextureSize: 2048 | 
				
			||||||
 | 
					  textureSettings: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    filterMode: -1 | 
				
			||||||
 | 
					    aniso: -1 | 
				
			||||||
 | 
					    mipBias: -100 | 
				
			||||||
 | 
					    wrapU: 1 | 
				
			||||||
 | 
					    wrapV: 1 | 
				
			||||||
 | 
					    wrapW: 1 | 
				
			||||||
 | 
					  nPOTScale: 0 | 
				
			||||||
 | 
					  lightmap: 0 | 
				
			||||||
 | 
					  compressionQuality: 50 | 
				
			||||||
 | 
					  spriteMode: 1 | 
				
			||||||
 | 
					  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: 1 | 
				
			||||||
 | 
					  alphaIsTransparency: 1 | 
				
			||||||
 | 
					  spriteTessellationDetail: -1 | 
				
			||||||
 | 
					  textureType: 8 | 
				
			||||||
 | 
					  textureShape: 1 | 
				
			||||||
 | 
					  singleChannelComponent: 0 | 
				
			||||||
 | 
					  maxTextureSizeSet: 0 | 
				
			||||||
 | 
					  compressionQualitySet: 0 | 
				
			||||||
 | 
					  textureFormatSet: 0 | 
				
			||||||
 | 
					  platformSettings: | 
				
			||||||
 | 
					  - serializedVersion: 3 | 
				
			||||||
 | 
					    buildTarget: DefaultTexturePlatform | 
				
			||||||
 | 
					    maxTextureSize: 2048 | 
				
			||||||
 | 
					    resizeAlgorithm: 0 | 
				
			||||||
 | 
					    textureFormat: -1 | 
				
			||||||
 | 
					    textureCompression: 1 | 
				
			||||||
 | 
					    compressionQuality: 50 | 
				
			||||||
 | 
					    crunchedCompression: 0 | 
				
			||||||
 | 
					    allowsAlphaSplitting: 0 | 
				
			||||||
 | 
					    overridden: 0 | 
				
			||||||
 | 
					    androidETC2FallbackOverride: 0 | 
				
			||||||
 | 
					    forceMaximumCompressionQuality_BC6H_BC7: 0 | 
				
			||||||
 | 
					  spriteSheet: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    sprites: [] | 
				
			||||||
 | 
					    outline: [] | 
				
			||||||
 | 
					    physicsShape: [] | 
				
			||||||
 | 
					    bones: [] | 
				
			||||||
 | 
					    spriteID: 5e97eb03825dee720800000000000000 | 
				
			||||||
 | 
					    internalID: 0 | 
				
			||||||
 | 
					    vertices: [] | 
				
			||||||
 | 
					    indices:  | 
				
			||||||
 | 
					    edges: [] | 
				
			||||||
 | 
					    weights: [] | 
				
			||||||
 | 
					    secondaryTextures: [] | 
				
			||||||
 | 
					  spritePackingTag:  | 
				
			||||||
 | 
					  pSDRemoveMatte: 0 | 
				
			||||||
 | 
					  pSDShowRemoveMatteOption: 0 | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: f54d1bd14bd3ca042bd867b519fee8cc | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 8e7e8f5a82a3a134e91c54efd2274ea9 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 1b8d251f9af63b746bf2f7ffe00ebb9b | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 6ab70aee4d56447429c680537fbf93ed | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,46 @@ | 
				
			|||||||
 | 
					Digitized data copyright (c) 2010 Google Corporation | 
				
			||||||
 | 
						with Reserved Font Arimo, Tinos and Cousine. | 
				
			||||||
 | 
					Copyright (c) 2012 Red Hat, Inc. | 
				
			||||||
 | 
						with Reserved Font Name Liberation. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This Font Software is licensed under the SIL Open Font License, Version 1.1. | 
				
			||||||
 | 
					This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					----------------------------------------------------------- | 
				
			||||||
 | 
					SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 | 
				
			||||||
 | 
					----------------------------------------------------------- | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PREAMBLE | 
				
			||||||
 | 
					The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINITIONS | 
				
			||||||
 | 
					"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"Reserved Font Name" refers to any names specified as such after the copyright statement(s). | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PERMISSION & CONDITIONS | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TERMINATION | 
				
			||||||
 | 
					This license becomes null and void if any of the above conditions are not met. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DISCLAIMER | 
				
			||||||
 | 
					THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 6e59c59b81ab47f9b6ec5781fa725d2c | 
				
			||||||
 | 
					timeCreated: 1484171296 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					TextScriptImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,19 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: e3265ab4bf004d28a9537516768c1c75 | 
				
			||||||
 | 
					timeCreated: 1484171297 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					TrueTypeFontImporter: | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  fontSize: 16 | 
				
			||||||
 | 
					  forceTextureCase: -2 | 
				
			||||||
 | 
					  characterSpacing: 1 | 
				
			||||||
 | 
					  characterPadding: 0 | 
				
			||||||
 | 
					  includeFontData: 1 | 
				
			||||||
 | 
					  use2xBehaviour: 0 | 
				
			||||||
 | 
					  fontNames: [] | 
				
			||||||
 | 
					  fallbackFontReferences: [] | 
				
			||||||
 | 
					  customCharacters:  | 
				
			||||||
 | 
					  fontRenderingMode: 0 | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 243e06394e614e5d99fab26083b707fa | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  externalObjects: {} | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 731f1baa9d144a9897cb1d341c2092b8 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					timeCreated: 1442040525 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,106 @@ | 
				
			|||||||
 | 
					%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: LiberationSans SDF - Drop Shadow | 
				
			||||||
 | 
					  m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} | 
				
			||||||
 | 
					  m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON | 
				
			||||||
 | 
					  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} | 
				
			||||||
 | 
					    - _Cube: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _FaceTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _MainTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, | 
				
			||||||
 | 
					          type: 2} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _OutlineTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    m_Floats: | 
				
			||||||
 | 
					    - _Ambient: 0.5 | 
				
			||||||
 | 
					    - _Bevel: 0.5 | 
				
			||||||
 | 
					    - _BevelClamp: 0 | 
				
			||||||
 | 
					    - _BevelOffset: 0 | 
				
			||||||
 | 
					    - _BevelRoundness: 0 | 
				
			||||||
 | 
					    - _BevelWidth: 0 | 
				
			||||||
 | 
					    - _BumpFace: 0 | 
				
			||||||
 | 
					    - _BumpOutline: 0 | 
				
			||||||
 | 
					    - _ColorMask: 15 | 
				
			||||||
 | 
					    - _Diffuse: 0.5 | 
				
			||||||
 | 
					    - _DiffusePower: 1 | 
				
			||||||
 | 
					    - _FaceDilate: 0.1 | 
				
			||||||
 | 
					    - _FaceUVSpeedX: 0 | 
				
			||||||
 | 
					    - _FaceUVSpeedY: 0 | 
				
			||||||
 | 
					    - _GlowInner: 0.05 | 
				
			||||||
 | 
					    - _GlowOffset: 0 | 
				
			||||||
 | 
					    - _GlowOuter: 0.05 | 
				
			||||||
 | 
					    - _GlowPower: 0.75 | 
				
			||||||
 | 
					    - _GradientScale: 10 | 
				
			||||||
 | 
					    - _LightAngle: 3.1416 | 
				
			||||||
 | 
					    - _MaskSoftnessX: 0 | 
				
			||||||
 | 
					    - _MaskSoftnessY: 0 | 
				
			||||||
 | 
					    - _OutlineSoftness: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedX: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedY: 0 | 
				
			||||||
 | 
					    - _OutlineWidth: 0.1 | 
				
			||||||
 | 
					    - _PerspectiveFilter: 0.875 | 
				
			||||||
 | 
					    - _Reflectivity: 10 | 
				
			||||||
 | 
					    - _ScaleRatioA: 0.9 | 
				
			||||||
 | 
					    - _ScaleRatioB: 0.73125 | 
				
			||||||
 | 
					    - _ScaleRatioC: 0.64125 | 
				
			||||||
 | 
					    - _ScaleX: 1 | 
				
			||||||
 | 
					    - _ScaleY: 1 | 
				
			||||||
 | 
					    - _ShaderFlags: 0 | 
				
			||||||
 | 
					    - _Sharpness: 0 | 
				
			||||||
 | 
					    - _SpecularPower: 2 | 
				
			||||||
 | 
					    - _Stencil: 0 | 
				
			||||||
 | 
					    - _StencilComp: 8 | 
				
			||||||
 | 
					    - _StencilOp: 0 | 
				
			||||||
 | 
					    - _StencilReadMask: 255 | 
				
			||||||
 | 
					    - _StencilWriteMask: 255 | 
				
			||||||
 | 
					    - _TextureHeight: 1024 | 
				
			||||||
 | 
					    - _TextureWidth: 1024 | 
				
			||||||
 | 
					    - _UnderlayDilate: 0 | 
				
			||||||
 | 
					    - _UnderlayOffsetX: 0.5 | 
				
			||||||
 | 
					    - _UnderlayOffsetY: -0.5 | 
				
			||||||
 | 
					    - _UnderlaySoftness: 0.05 | 
				
			||||||
 | 
					    - _VertexOffsetX: 0 | 
				
			||||||
 | 
					    - _VertexOffsetY: 0 | 
				
			||||||
 | 
					    - _WeightBold: 0.75 | 
				
			||||||
 | 
					    - _WeightNormal: 0 | 
				
			||||||
 | 
					    m_Colors: | 
				
			||||||
 | 
					    - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _Color: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} | 
				
			||||||
 | 
					    - _FaceColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} | 
				
			||||||
 | 
					    - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: e73a58f6e2794ae7b1b7e50b7fb811b0 | 
				
			||||||
 | 
					timeCreated: 1484172806 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					NativeFormatImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,337 @@ | 
				
			|||||||
 | 
					%YAML 1.1 | 
				
			||||||
 | 
					%TAG !u! tag:unity3d.com,2011: | 
				
			||||||
 | 
					--- !u!21 &2180264 | 
				
			||||||
 | 
					Material: | 
				
			||||||
 | 
					  serializedVersion: 6 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_Name: LiberationSans SDF Material | 
				
			||||||
 | 
					  m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} | 
				
			||||||
 | 
					  m_ShaderKeywords:  | 
				
			||||||
 | 
					  m_LightmapFlags: 1 | 
				
			||||||
 | 
					  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} | 
				
			||||||
 | 
					    - _Cube: | 
				
			||||||
 | 
					        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} | 
				
			||||||
 | 
					    - _FaceTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _MainTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 28268798066460806} | 
				
			||||||
 | 
					        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} | 
				
			||||||
 | 
					    - _OutlineTex: | 
				
			||||||
 | 
					        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: | 
				
			||||||
 | 
					    - _Ambient: 0.5 | 
				
			||||||
 | 
					    - _Bevel: 0.5 | 
				
			||||||
 | 
					    - _BevelClamp: 0 | 
				
			||||||
 | 
					    - _BevelOffset: 0 | 
				
			||||||
 | 
					    - _BevelRoundness: 0 | 
				
			||||||
 | 
					    - _BevelWidth: 0 | 
				
			||||||
 | 
					    - _BumpFace: 0 | 
				
			||||||
 | 
					    - _BumpOutline: 0 | 
				
			||||||
 | 
					    - _BumpScale: 1 | 
				
			||||||
 | 
					    - _ColorMask: 15 | 
				
			||||||
 | 
					    - _Cutoff: 0.5 | 
				
			||||||
 | 
					    - _DetailNormalMapScale: 1 | 
				
			||||||
 | 
					    - _Diffuse: 0.5 | 
				
			||||||
 | 
					    - _DstBlend: 0 | 
				
			||||||
 | 
					    - _FaceDilate: 0 | 
				
			||||||
 | 
					    - _FaceUVSpeedX: 0 | 
				
			||||||
 | 
					    - _FaceUVSpeedY: 0 | 
				
			||||||
 | 
					    - _GlossMapScale: 1 | 
				
			||||||
 | 
					    - _Glossiness: 0.5 | 
				
			||||||
 | 
					    - _GlossyReflections: 1 | 
				
			||||||
 | 
					    - _GlowInner: 0.05 | 
				
			||||||
 | 
					    - _GlowOffset: 0 | 
				
			||||||
 | 
					    - _GlowOuter: 0.05 | 
				
			||||||
 | 
					    - _GlowPower: 0.75 | 
				
			||||||
 | 
					    - _GradientScale: 10 | 
				
			||||||
 | 
					    - _LightAngle: 3.1416 | 
				
			||||||
 | 
					    - _MaskSoftnessX: 0 | 
				
			||||||
 | 
					    - _MaskSoftnessY: 0 | 
				
			||||||
 | 
					    - _Metallic: 0 | 
				
			||||||
 | 
					    - _Mode: 0 | 
				
			||||||
 | 
					    - _OcclusionStrength: 1 | 
				
			||||||
 | 
					    - _OutlineSoftness: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedX: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedY: 0 | 
				
			||||||
 | 
					    - _OutlineWidth: 0 | 
				
			||||||
 | 
					    - _Parallax: 0.02 | 
				
			||||||
 | 
					    - _PerspectiveFilter: 0.875 | 
				
			||||||
 | 
					    - _Reflectivity: 10 | 
				
			||||||
 | 
					    - _ScaleRatioA: 0.90909094 | 
				
			||||||
 | 
					    - _ScaleRatioB: 0.73125 | 
				
			||||||
 | 
					    - _ScaleRatioC: 0.7386364 | 
				
			||||||
 | 
					    - _ScaleX: 1 | 
				
			||||||
 | 
					    - _ScaleY: 1 | 
				
			||||||
 | 
					    - _ShaderFlags: 0 | 
				
			||||||
 | 
					    - _Sharpness: 0 | 
				
			||||||
 | 
					    - _SmoothnessTextureChannel: 0 | 
				
			||||||
 | 
					    - _SpecularHighlights: 1 | 
				
			||||||
 | 
					    - _SpecularPower: 2 | 
				
			||||||
 | 
					    - _SrcBlend: 1 | 
				
			||||||
 | 
					    - _Stencil: 0 | 
				
			||||||
 | 
					    - _StencilComp: 8 | 
				
			||||||
 | 
					    - _StencilOp: 0 | 
				
			||||||
 | 
					    - _StencilReadMask: 255 | 
				
			||||||
 | 
					    - _StencilWriteMask: 255 | 
				
			||||||
 | 
					    - _TextureHeight: 512 | 
				
			||||||
 | 
					    - _TextureWidth: 512 | 
				
			||||||
 | 
					    - _UVSec: 0 | 
				
			||||||
 | 
					    - _UnderlayDilate: 0 | 
				
			||||||
 | 
					    - _UnderlayOffsetX: 0 | 
				
			||||||
 | 
					    - _UnderlayOffsetY: 0 | 
				
			||||||
 | 
					    - _UnderlaySoftness: 0 | 
				
			||||||
 | 
					    - _VertexOffsetX: 0 | 
				
			||||||
 | 
					    - _VertexOffsetY: 0 | 
				
			||||||
 | 
					    - _WeightBold: 0.75 | 
				
			||||||
 | 
					    - _WeightNormal: 0 | 
				
			||||||
 | 
					    - _ZWrite: 1 | 
				
			||||||
 | 
					    m_Colors: | 
				
			||||||
 | 
					    - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _Color: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} | 
				
			||||||
 | 
					    - _FaceColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} | 
				
			||||||
 | 
					    - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} | 
				
			||||||
 | 
					--- !u!114 &11400000 | 
				
			||||||
 | 
					MonoBehaviour: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_GameObject: {fileID: 0} | 
				
			||||||
 | 
					  m_Enabled: 1 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} | 
				
			||||||
 | 
					  m_Name: LiberationSans SDF - Fallback | 
				
			||||||
 | 
					  m_EditorClassIdentifier:  | 
				
			||||||
 | 
					  hashCode: -1699145518 | 
				
			||||||
 | 
					  material: {fileID: 2180264} | 
				
			||||||
 | 
					  materialHashCode: -1183942120 | 
				
			||||||
 | 
					  m_Version: 1.1.0 | 
				
			||||||
 | 
					  m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 | 
				
			||||||
 | 
					  m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, | 
				
			||||||
 | 
					    type: 3} | 
				
			||||||
 | 
					  m_SourceFontFile: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3} | 
				
			||||||
 | 
					  m_AtlasPopulationMode: 1 | 
				
			||||||
 | 
					  m_FaceInfo: | 
				
			||||||
 | 
					    m_FamilyName: Liberation Sans | 
				
			||||||
 | 
					    m_StyleName: Regular | 
				
			||||||
 | 
					    m_PointSize: 86 | 
				
			||||||
 | 
					    m_Scale: 1 | 
				
			||||||
 | 
					    m_LineHeight: 98.8916 | 
				
			||||||
 | 
					    m_AscentLine: 77.853516 | 
				
			||||||
 | 
					    m_CapLine: 59 | 
				
			||||||
 | 
					    m_MeanLine: 45 | 
				
			||||||
 | 
					    m_Baseline: 0 | 
				
			||||||
 | 
					    m_DescentLine: -18.22461 | 
				
			||||||
 | 
					    m_SuperscriptOffset: 77.853516 | 
				
			||||||
 | 
					    m_SuperscriptSize: 0.5 | 
				
			||||||
 | 
					    m_SubscriptOffset: -18.22461 | 
				
			||||||
 | 
					    m_SubscriptSize: 0.5 | 
				
			||||||
 | 
					    m_UnderlineOffset: -12.261719 | 
				
			||||||
 | 
					    m_UnderlineThickness: 6.298828 | 
				
			||||||
 | 
					    m_StrikethroughOffset: 18 | 
				
			||||||
 | 
					    m_StrikethroughThickness: 6.298828 | 
				
			||||||
 | 
					    m_TabWidth: 24 | 
				
			||||||
 | 
					  m_GlyphTable: [] | 
				
			||||||
 | 
					  m_CharacterTable: [] | 
				
			||||||
 | 
					  m_AtlasTextures: | 
				
			||||||
 | 
					  - {fileID: 28268798066460806} | 
				
			||||||
 | 
					  m_AtlasTextureIndex: 0 | 
				
			||||||
 | 
					  m_UsedGlyphRects: [] | 
				
			||||||
 | 
					  m_FreeGlyphRects: | 
				
			||||||
 | 
					  - m_X: 0 | 
				
			||||||
 | 
					    m_Y: 0 | 
				
			||||||
 | 
					    m_Width: 511 | 
				
			||||||
 | 
					    m_Height: 511 | 
				
			||||||
 | 
					  m_fontInfo: | 
				
			||||||
 | 
					    Name: Liberation Sans | 
				
			||||||
 | 
					    PointSize: 86 | 
				
			||||||
 | 
					    Scale: 1 | 
				
			||||||
 | 
					    CharacterCount: 250 | 
				
			||||||
 | 
					    LineHeight: 98.90625 | 
				
			||||||
 | 
					    Baseline: 0 | 
				
			||||||
 | 
					    Ascender: 77.84375 | 
				
			||||||
 | 
					    CapHeight: 59.1875 | 
				
			||||||
 | 
					    Descender: -18.21875 | 
				
			||||||
 | 
					    CenterLine: 0 | 
				
			||||||
 | 
					    SuperscriptOffset: 77.84375 | 
				
			||||||
 | 
					    SubscriptOffset: -12.261719 | 
				
			||||||
 | 
					    SubSize: 0.5 | 
				
			||||||
 | 
					    Underline: -12.261719 | 
				
			||||||
 | 
					    UnderlineThickness: 6.298828 | 
				
			||||||
 | 
					    strikethrough: 23.675 | 
				
			||||||
 | 
					    strikethroughThickness: 0 | 
				
			||||||
 | 
					    TabWidth: 239.0625 | 
				
			||||||
 | 
					    Padding: 9 | 
				
			||||||
 | 
					    AtlasWidth: 1024 | 
				
			||||||
 | 
					    AtlasHeight: 1024 | 
				
			||||||
 | 
					  atlas: {fileID: 0} | 
				
			||||||
 | 
					  m_AtlasWidth: 512 | 
				
			||||||
 | 
					  m_AtlasHeight: 512 | 
				
			||||||
 | 
					  m_AtlasPadding: 9 | 
				
			||||||
 | 
					  m_AtlasRenderMode: 4169 | 
				
			||||||
 | 
					  m_glyphInfoList: [] | 
				
			||||||
 | 
					  m_KerningTable: | 
				
			||||||
 | 
					    kerningPairs: [] | 
				
			||||||
 | 
					  m_FallbackFontAssetTable: [] | 
				
			||||||
 | 
					  m_CreationSettings: | 
				
			||||||
 | 
					    sourceFontFileName:  | 
				
			||||||
 | 
					    sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 | 
				
			||||||
 | 
					    pointSizeSamplingMode: 0 | 
				
			||||||
 | 
					    pointSize: 86 | 
				
			||||||
 | 
					    padding: 9 | 
				
			||||||
 | 
					    packingMode: 4 | 
				
			||||||
 | 
					    atlasWidth: 512 | 
				
			||||||
 | 
					    atlasHeight: 512 | 
				
			||||||
 | 
					    characterSetSelectionMode: 1 | 
				
			||||||
 | 
					    characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633 | 
				
			||||||
 | 
					    referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee | 
				
			||||||
 | 
					    referencedTextAssetGUID:  | 
				
			||||||
 | 
					    fontStyle: 0 | 
				
			||||||
 | 
					    fontStyleModifier: 0 | 
				
			||||||
 | 
					    renderMode: 4169 | 
				
			||||||
 | 
					    includeFontFeatures: 1 | 
				
			||||||
 | 
					  m_FontWeightTable: | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  fontWeights: | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  - regularTypeface: {fileID: 0} | 
				
			||||||
 | 
					    italicTypeface: {fileID: 0} | 
				
			||||||
 | 
					  normalStyle: 0 | 
				
			||||||
 | 
					  normalSpacingOffset: 0 | 
				
			||||||
 | 
					  boldStyle: 0.75 | 
				
			||||||
 | 
					  boldSpacing: 7 | 
				
			||||||
 | 
					  italicStyle: 35 | 
				
			||||||
 | 
					  tabSize: 10 | 
				
			||||||
 | 
					--- !u!28 &28268798066460806 | 
				
			||||||
 | 
					Texture2D: | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0} | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0} | 
				
			||||||
 | 
					  m_Name: LiberationSans SDF Atlas | 
				
			||||||
 | 
					  m_ImageContentsHash: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    Hash: 00000000000000000000000000000000 | 
				
			||||||
 | 
					  m_ForcedFallbackFormat: 4 | 
				
			||||||
 | 
					  m_DownscaleFallback: 0 | 
				
			||||||
 | 
					  serializedVersion: 2 | 
				
			||||||
 | 
					  m_Width: 0 | 
				
			||||||
 | 
					  m_Height: 0 | 
				
			||||||
 | 
					  m_CompleteImageSize: 0 | 
				
			||||||
 | 
					  m_TextureFormat: 1 | 
				
			||||||
 | 
					  m_MipCount: 1 | 
				
			||||||
 | 
					  m_IsReadable: 1 | 
				
			||||||
 | 
					  m_StreamingMipmaps: 0 | 
				
			||||||
 | 
					  m_StreamingMipmapsPriority: 0 | 
				
			||||||
 | 
					  m_AlphaIsTransparency: 0 | 
				
			||||||
 | 
					  m_ImageCount: 1 | 
				
			||||||
 | 
					  m_TextureDimension: 2 | 
				
			||||||
 | 
					  m_TextureSettings: | 
				
			||||||
 | 
					    serializedVersion: 2 | 
				
			||||||
 | 
					    m_FilterMode: 1 | 
				
			||||||
 | 
					    m_Aniso: 1 | 
				
			||||||
 | 
					    m_MipBias: 0 | 
				
			||||||
 | 
					    m_WrapU: 0 | 
				
			||||||
 | 
					    m_WrapV: 0 | 
				
			||||||
 | 
					    m_WrapW: 0 | 
				
			||||||
 | 
					  m_LightmapFormat: 0 | 
				
			||||||
 | 
					  m_ColorSpace: 0 | 
				
			||||||
 | 
					  image data: 0 | 
				
			||||||
 | 
					  _typelessdata:  | 
				
			||||||
 | 
					  m_StreamData: | 
				
			||||||
 | 
					    offset: 0 | 
				
			||||||
 | 
					    size: 0 | 
				
			||||||
 | 
					    path:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 2e498d1c8094910479dc3e1b768306a4 | 
				
			||||||
 | 
					timeCreated: 1484171803 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					NativeFormatImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,104 @@ | 
				
			|||||||
 | 
					%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: LiberationSans SDF - Outline | 
				
			||||||
 | 
					  m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} | 
				
			||||||
 | 
					  m_ShaderKeywords: OUTLINE_ON | 
				
			||||||
 | 
					  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} | 
				
			||||||
 | 
					    - _Cube: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _FaceTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _MainTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, | 
				
			||||||
 | 
					          type: 2} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    - _OutlineTex: | 
				
			||||||
 | 
					        m_Texture: {fileID: 0} | 
				
			||||||
 | 
					        m_Scale: {x: 1, y: 1} | 
				
			||||||
 | 
					        m_Offset: {x: 0, y: 0} | 
				
			||||||
 | 
					    m_Floats: | 
				
			||||||
 | 
					    - _Ambient: 0.5 | 
				
			||||||
 | 
					    - _Bevel: 0.5 | 
				
			||||||
 | 
					    - _BevelClamp: 0 | 
				
			||||||
 | 
					    - _BevelOffset: 0 | 
				
			||||||
 | 
					    - _BevelRoundness: 0 | 
				
			||||||
 | 
					    - _BevelWidth: 0 | 
				
			||||||
 | 
					    - _BumpFace: 0 | 
				
			||||||
 | 
					    - _BumpOutline: 0 | 
				
			||||||
 | 
					    - _ColorMask: 15 | 
				
			||||||
 | 
					    - _Diffuse: 0.5 | 
				
			||||||
 | 
					    - _FaceDilate: 0.1 | 
				
			||||||
 | 
					    - _FaceUVSpeedX: 0 | 
				
			||||||
 | 
					    - _FaceUVSpeedY: 0 | 
				
			||||||
 | 
					    - _GlowInner: 0.05 | 
				
			||||||
 | 
					    - _GlowOffset: 0 | 
				
			||||||
 | 
					    - _GlowOuter: 0.05 | 
				
			||||||
 | 
					    - _GlowPower: 0.75 | 
				
			||||||
 | 
					    - _GradientScale: 10 | 
				
			||||||
 | 
					    - _LightAngle: 3.1416 | 
				
			||||||
 | 
					    - _MaskSoftnessX: 0 | 
				
			||||||
 | 
					    - _MaskSoftnessY: 0 | 
				
			||||||
 | 
					    - _OutlineSoftness: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedX: 0 | 
				
			||||||
 | 
					    - _OutlineUVSpeedY: 0 | 
				
			||||||
 | 
					    - _OutlineWidth: 0.1 | 
				
			||||||
 | 
					    - _PerspectiveFilter: 0.875 | 
				
			||||||
 | 
					    - _Reflectivity: 10 | 
				
			||||||
 | 
					    - _ScaleRatioA: 0.9 | 
				
			||||||
 | 
					    - _ScaleRatioB: 0.73125 | 
				
			||||||
 | 
					    - _ScaleRatioC: 0.64125 | 
				
			||||||
 | 
					    - _ScaleX: 1 | 
				
			||||||
 | 
					    - _ScaleY: 1 | 
				
			||||||
 | 
					    - _ShaderFlags: 0 | 
				
			||||||
 | 
					    - _Sharpness: 0 | 
				
			||||||
 | 
					    - _SpecularPower: 2 | 
				
			||||||
 | 
					    - _Stencil: 0 | 
				
			||||||
 | 
					    - _StencilComp: 8 | 
				
			||||||
 | 
					    - _StencilOp: 0 | 
				
			||||||
 | 
					    - _StencilReadMask: 255 | 
				
			||||||
 | 
					    - _StencilWriteMask: 255 | 
				
			||||||
 | 
					    - _TextureHeight: 1024 | 
				
			||||||
 | 
					    - _TextureWidth: 1024 | 
				
			||||||
 | 
					    - _UnderlayDilate: 0 | 
				
			||||||
 | 
					    - _UnderlayOffsetX: 0 | 
				
			||||||
 | 
					    - _UnderlayOffsetY: 0 | 
				
			||||||
 | 
					    - _UnderlaySoftness: 0 | 
				
			||||||
 | 
					    - _VertexOffsetX: 0 | 
				
			||||||
 | 
					    - _VertexOffsetY: 0 | 
				
			||||||
 | 
					    - _WeightBold: 0.75 | 
				
			||||||
 | 
					    - _WeightNormal: 0 | 
				
			||||||
 | 
					    m_Colors: | 
				
			||||||
 | 
					    - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} | 
				
			||||||
 | 
					    - _FaceColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} | 
				
			||||||
 | 
					    - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} | 
				
			||||||
 | 
					    - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} | 
				
			||||||
 | 
					    - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} | 
				
			||||||
 | 
					    - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 79459efec17a4d00a321bdcc27bbc385 | 
				
			||||||
 | 
					timeCreated: 1484172856 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					NativeFormatImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
									
										
											File diff suppressed because one or more lines are too long
										
									
								
							
						@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 8f586378b4e144a9851e7b34d9b748ee | 
				
			||||||
 | 
					timeCreated: 1484171803 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					NativeFormatImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: fade42e8bc714b018fac513c043d323b | 
				
			||||||
 | 
					timeCreated: 1425440388 | 
				
			||||||
 | 
					licenseType: Store | 
				
			||||||
 | 
					TextScriptImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: d82c1b31c7e74239bff1220585707d2b | 
				
			||||||
 | 
					timeCreated: 1425440388 | 
				
			||||||
 | 
					licenseType: Store | 
				
			||||||
 | 
					TextScriptImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 99f836c9cb9345dba2e72c4a1f2d0695 | 
				
			||||||
 | 
					folderAsset: yes | 
				
			||||||
 | 
					timeCreated: 1436068007 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					DefaultImporter: | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,142 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Bitmap Custom Atlas" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_MainTex		("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceTex		("Font Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceColor		("Text Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX	("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY	("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessX	("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY	("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_Padding		("Padding", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader{ | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref[_Stencil] | 
				
			||||||
 | 
							Comp[_StencilComp] | 
				
			||||||
 | 
							Pass[_StencilOp] | 
				
			||||||
 | 
							ReadMask[_StencilReadMask] | 
				
			||||||
 | 
							WriteMask[_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						Blend SrcAlpha OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask[_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex vert | 
				
			||||||
 | 
							#pragma fragment frag | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct appdata_t { | 
				
			||||||
 | 
								float4 vertex		: POSITION; | 
				
			||||||
 | 
								fixed4 color		: COLOR; | 
				
			||||||
 | 
								float2 texcoord0	: TEXCOORD0; | 
				
			||||||
 | 
								float2 texcoord1	: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct v2f { | 
				
			||||||
 | 
								float4	vertex		: SV_POSITION; | 
				
			||||||
 | 
								fixed4	color		: COLOR; | 
				
			||||||
 | 
								float2	texcoord0	: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1	: TEXCOORD1; | 
				
			||||||
 | 
								float4	mask		: TEXCOORD2; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform	sampler2D 	_MainTex; | 
				
			||||||
 | 
							uniform	sampler2D 	_FaceTex; | 
				
			||||||
 | 
							uniform float4		_FaceTex_ST; | 
				
			||||||
 | 
							uniform	fixed4		_FaceColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform float		_VertexOffsetX; | 
				
			||||||
 | 
							uniform float		_VertexOffsetY; | 
				
			||||||
 | 
							uniform float4		_ClipRect; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessX; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float2 UnpackUV(float uv) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								float2 output; | 
				
			||||||
 | 
								output.x = floor(uv / 4096); | 
				
			||||||
 | 
								output.y = uv - 4096 * output.x; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output * 0.001953125; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							v2f vert (appdata_t v) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								float4 vert = v.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								vert.xy += (vert.w * 0.5) / _ScreenParams.xy; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 faceColor = v.color; | 
				
			||||||
 | 
								faceColor *= _FaceColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								v2f OUT; | 
				
			||||||
 | 
								OUT.vertex = vPosition; | 
				
			||||||
 | 
								OUT.color = faceColor; | 
				
			||||||
 | 
								OUT.texcoord0 = v.texcoord0; | 
				
			||||||
 | 
								OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Clamp _ClipRect to 16bit. | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								return OUT; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							fixed4 frag (v2f IN) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								fixed4 color = tex2D(_MainTex, IN.texcoord0) * tex2D(_FaceTex, IN.texcoord1) * IN.color; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
								#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
									half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); | 
				
			||||||
 | 
									color *= m.x * m.y; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
									clip(color.a - 0.001); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return color; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 48bb5f55d8670e349b6e614913f9d910 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,144 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Mobile/Bitmap" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_MainTex		("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_Color			("Text Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_DiffusePower	("Diffuse Power", Range(1.0,4.0)) = 1.0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessX("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref[_Stencil] | 
				
			||||||
 | 
							Comp[_StencilComp] | 
				
			||||||
 | 
							Pass[_StencilOp] | 
				
			||||||
 | 
							ReadMask[_StencilReadMask] | 
				
			||||||
 | 
							WriteMask[_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Cull Off | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						Blend SrcAlpha OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask[_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex vert | 
				
			||||||
 | 
							#pragma fragment frag | 
				
			||||||
 | 
							#pragma fragmentoption ARB_precision_hint_fastest | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct appdata_t { | 
				
			||||||
 | 
								float4 vertex : POSITION; | 
				
			||||||
 | 
								fixed4 color : COLOR; | 
				
			||||||
 | 
								float2 texcoord0 : TEXCOORD0; | 
				
			||||||
 | 
								float2 texcoord1 : TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct v2f { | 
				
			||||||
 | 
								float4 vertex		: POSITION; | 
				
			||||||
 | 
								fixed4 color		: COLOR; | 
				
			||||||
 | 
								float2 texcoord0	: TEXCOORD0; | 
				
			||||||
 | 
								float4 mask			: TEXCOORD2; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							sampler2D 	_MainTex; | 
				
			||||||
 | 
							fixed4		_Color; | 
				
			||||||
 | 
							float		_DiffusePower; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform float		_VertexOffsetX; | 
				
			||||||
 | 
							uniform float		_VertexOffsetY; | 
				
			||||||
 | 
							uniform float4		_ClipRect; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessX; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							v2f vert (appdata_t v) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								v2f OUT; | 
				
			||||||
 | 
								float4 vert = v.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								vert.xy += (vert.w * 0.5) / _ScreenParams.xy; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								OUT.vertex = UnityPixelSnap(UnityObjectToClipPos(vert)); | 
				
			||||||
 | 
								OUT.color = v.color; | 
				
			||||||
 | 
								OUT.color *= _Color; | 
				
			||||||
 | 
								OUT.color.rgb *= _DiffusePower; | 
				
			||||||
 | 
								OUT.texcoord0 = v.texcoord0; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = OUT.vertex.w; | 
				
			||||||
 | 
								//pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Clamp _ClipRect to 16bit. | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return OUT; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							fixed4 frag (v2f IN) : COLOR | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								fixed4 color = fixed4(IN.color.rgb, IN.color.a * tex2D(_MainTex, IN.texcoord0).a); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
								#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
									half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); | 
				
			||||||
 | 
									color *= m.x * m.y; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
									clip(color.a - 0.001); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								return color; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
						Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } | 
				
			||||||
 | 
						Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off } | 
				
			||||||
 | 
						Blend SrcAlpha OneMinusSrcAlpha | 
				
			||||||
 | 
						BindChannels { | 
				
			||||||
 | 
							Bind "Color", color | 
				
			||||||
 | 
							Bind "Vertex", vertex | 
				
			||||||
 | 
							Bind "TexCoord", texcoord0 | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							SetTexture [_MainTex] { | 
				
			||||||
 | 
								constantColor [_Color] combine constant * primary, constant * texture | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 1e3b057af24249748ff873be7fafee47 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,142 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Bitmap" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_MainTex		("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceTex		("Font Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceColor		("Text Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX	("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY	("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessX	("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY	("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader{ | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref[_Stencil] | 
				
			||||||
 | 
							Comp[_StencilComp] | 
				
			||||||
 | 
							Pass[_StencilOp] | 
				
			||||||
 | 
							ReadMask[_StencilReadMask] | 
				
			||||||
 | 
							WriteMask[_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						Blend SrcAlpha OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask[_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex vert | 
				
			||||||
 | 
							#pragma fragment frag | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct appdata_t { | 
				
			||||||
 | 
								float4 vertex		: POSITION; | 
				
			||||||
 | 
								fixed4 color		: COLOR; | 
				
			||||||
 | 
								float2 texcoord0	: TEXCOORD0; | 
				
			||||||
 | 
								float2 texcoord1	: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct v2f { | 
				
			||||||
 | 
								float4	vertex		: SV_POSITION; | 
				
			||||||
 | 
								fixed4	color		: COLOR; | 
				
			||||||
 | 
								float2	texcoord0	: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1	: TEXCOORD1; | 
				
			||||||
 | 
								float4	mask		: TEXCOORD2; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform	sampler2D 	_MainTex; | 
				
			||||||
 | 
							uniform	sampler2D 	_FaceTex; | 
				
			||||||
 | 
							uniform float4		_FaceTex_ST; | 
				
			||||||
 | 
							uniform	fixed4		_FaceColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform float		_VertexOffsetX; | 
				
			||||||
 | 
							uniform float		_VertexOffsetY; | 
				
			||||||
 | 
							uniform float4		_ClipRect; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessX; | 
				
			||||||
 | 
							uniform float		_MaskSoftnessY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float2 UnpackUV(float uv) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								float2 output; | 
				
			||||||
 | 
								output.x = floor(uv / 4096); | 
				
			||||||
 | 
								output.y = uv - 4096 * output.x; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output * 0.001953125; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							v2f vert (appdata_t v) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								float4 vert = v.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								vert.xy += (vert.w * 0.5) / _ScreenParams.xy; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 faceColor = v.color; | 
				
			||||||
 | 
								faceColor *= _FaceColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								v2f OUT; | 
				
			||||||
 | 
								OUT.vertex = vPosition; | 
				
			||||||
 | 
								OUT.color = faceColor; | 
				
			||||||
 | 
								OUT.texcoord0 = v.texcoord0; | 
				
			||||||
 | 
								OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Clamp _ClipRect to 16bit. | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								return OUT; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							fixed4 frag (v2f IN) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								fixed4 color = tex2D(_MainTex, IN.texcoord0); | 
				
			||||||
 | 
								color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
								#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
									half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); | 
				
			||||||
 | 
									color *= m.x * m.y; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
									clip(color.a - 0.001); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return color; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 128e987d567d4e2c824d754223b3f3b0 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,316 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Distance Field Overlay" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceTex			("Face Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceUVSpeedX		("Face UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceUVSpeedY		("Face UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceColor			("Face Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineTex			("Outline Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_OutlineUVSpeedX	("Outline UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineUVSpeedY	("Outline UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0, 1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_Bevel				("Bevel", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_BevelOffset		("Bevel Offset", Range(-0.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelWidth			("Bevel Width", Range(-.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelClamp			("Bevel Clamp", Range(0,1)) = 0 | 
				
			||||||
 | 
						_BevelRoundness		("Bevel Roundness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_LightAngle			("Light Angle", Range(0.0, 6.2831853)) = 3.1416 | 
				
			||||||
 | 
						_SpecularColor		("Specular", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_SpecularPower		("Specular", Range(0,4)) = 2.0 | 
				
			||||||
 | 
						_Reflectivity		("Reflectivity", Range(5.0,15.0)) = 10 | 
				
			||||||
 | 
						_Diffuse			("Diffuse", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_Ambient			("Ambient", Range(1,0)) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_BumpMap 			("Normal map", 2D) = "bump" {} | 
				
			||||||
 | 
						_BumpOutline		("Bump Outline", Range(0,1)) = 0 | 
				
			||||||
 | 
						_BumpFace			("Bump Face", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ReflectFaceColor	("Reflection Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_Cube 				("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } | 
				
			||||||
 | 
						_EnvMatrixRotation	("Texture Rotation", vector) = (0, 0, 0, 0) | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_UnderlayColor		("Border Color", Color) = (0,0,0, 0.5) | 
				
			||||||
 | 
						_UnderlayOffsetX	("Border OffsetX", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayOffsetY	("Border OffsetY", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayDilate		("Border Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlaySoftness	("Border Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_GlowColor			("Color", Color) = (0, 1, 0, 0.5) | 
				
			||||||
 | 
						_GlowOffset			("Offset", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_GlowInner			("Inner", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowOuter			("Outer", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowPower			("Falloff", Range(1, 0)) = 0.75 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5.0 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1.0 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1.0 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						_MaskCoord			("Mask Coordinates", vector) = (0, 0, 32767, 32767) | 
				
			||||||
 | 
						_ClipRect			("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_MaskSoftnessX		("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY		("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
							"Queue"="Overlay" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref [_Stencil] | 
				
			||||||
 | 
							Comp [_StencilComp] | 
				
			||||||
 | 
							Pass [_StencilOp]  | 
				
			||||||
 | 
							ReadMask [_StencilReadMask] | 
				
			||||||
 | 
							WriteMask [_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						ZTest Always | 
				
			||||||
 | 
						Blend One OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask [_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma target 3.0 | 
				
			||||||
 | 
							#pragma vertex VertShader | 
				
			||||||
 | 
							#pragma fragment PixShader | 
				
			||||||
 | 
							#pragma shader_feature __ BEVEL_ON | 
				
			||||||
 | 
							#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER | 
				
			||||||
 | 
							#pragma shader_feature __ GLOW_ON | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
							#include "UnityUI.cginc" | 
				
			||||||
 | 
							#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
							#include "TMPro.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct vertex_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								float4	position		: POSITION; | 
				
			||||||
 | 
								float3	normal			: NORMAL; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	texcoord0		: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1		: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct pixel_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								UNITY_VERTEX_OUTPUT_STEREO | 
				
			||||||
 | 
								float4	position		: SV_POSITION; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	atlas			: TEXCOORD0;		// Atlas | 
				
			||||||
 | 
								float4	param			: TEXCOORD1;		// alphaClip, scale, bias, weight | 
				
			||||||
 | 
								float4	mask			: TEXCOORD2;		// Position in object space(xy), pixel Size(zw) | 
				
			||||||
 | 
								float3	viewDir			: TEXCOORD3; | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
							#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								float4	texcoord2		: TEXCOORD4;		// u,v, scale, bias | 
				
			||||||
 | 
								fixed4	underlayColor	: COLOR1; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
								float4 textures			: TEXCOORD5; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Used by Unity internally to handle Texture Tiling and Offset. | 
				
			||||||
 | 
							float4 _FaceTex_ST; | 
				
			||||||
 | 
							float4 _OutlineTex_ST; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pixel_t VertShader(vertex_t input) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								pixel_t output; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								UNITY_INITIALIZE_OUTPUT(pixel_t, output); | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								UNITY_TRANSFER_INSTANCE_ID(input,output); | 
				
			||||||
 | 
								UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bold = step(input.texcoord1.y, 0); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vert = input.position; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vPosition = UnityObjectToClipPos(vert); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); | 
				
			||||||
 | 
								float scale = rsqrt(dot(pixelSize, pixelSize)); | 
				
			||||||
 | 
								scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); | 
				
			||||||
 | 
								if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; | 
				
			||||||
 | 
								weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bias =(.5 - weight) + (.5 / scale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float alphaClip = (1.0 - _OutlineWidth*_ScaleRatioA - _OutlineSoftness*_ScaleRatioA); | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							#if GLOW_ON | 
				
			||||||
 | 
								alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								float4 underlayColor = _UnderlayColor; | 
				
			||||||
 | 
								underlayColor.rgb *= underlayColor.a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bScale = scale; | 
				
			||||||
 | 
								bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); | 
				
			||||||
 | 
								float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; | 
				
			||||||
 | 
								float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; | 
				
			||||||
 | 
								float2 bOffset = float2(x, y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Generate UV for the Masking Texture | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Support for texture tiling and offset | 
				
			||||||
 | 
								float2 textureUV = UnpackUV(input.texcoord1.x); | 
				
			||||||
 | 
								float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); | 
				
			||||||
 | 
								float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								output.position = vPosition; | 
				
			||||||
 | 
								output.color = input.color; | 
				
			||||||
 | 
								output.atlas =	input.texcoord0; | 
				
			||||||
 | 
								output.param =	float4(alphaClip, scale, bias, weight); | 
				
			||||||
 | 
								output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								output.viewDir =	mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); | 
				
			||||||
 | 
								#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); | 
				
			||||||
 | 
								output.underlayColor =	underlayColor; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
								output.textures = float4(faceUV, outlineUV); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							fixed4 PixShader(pixel_t input) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float c = tex2D(_MainTex, input.atlas).a; | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							#ifndef UNDERLAY_ON | 
				
			||||||
 | 
								clip(c - input.param.x); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float	scale	= input.param.y; | 
				
			||||||
 | 
								float	bias	= input.param.z; | 
				
			||||||
 | 
								float	weight	= input.param.w; | 
				
			||||||
 | 
								float	sd = (bias - c) * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float outline = (_OutlineWidth * _ScaleRatioA) * scale; | 
				
			||||||
 | 
								float softness = (_OutlineSoftness * _ScaleRatioA) * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								half4 faceColor = _FaceColor; | 
				
			||||||
 | 
								half4 outlineColor = _OutlineColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								faceColor.rgb *= input.color.rgb; | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); | 
				
			||||||
 | 
								outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if BEVEL_ON | 
				
			||||||
 | 
								float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); | 
				
			||||||
 | 
								float3 n = GetSurfaceNormal(input.atlas, weight, dxy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; | 
				
			||||||
 | 
								bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); | 
				
			||||||
 | 
								n = normalize(n- bump); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 col = GetSpecular(n, light); | 
				
			||||||
 | 
								faceColor.rgb += col*faceColor.a; | 
				
			||||||
 | 
								faceColor.rgb *= 1-(dot(n, light)*_Diffuse); | 
				
			||||||
 | 
								faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); | 
				
			||||||
 | 
								faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_ON | 
				
			||||||
 | 
								float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; | 
				
			||||||
 | 
								faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_INNER | 
				
			||||||
 | 
								float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; | 
				
			||||||
 | 
								faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if GLOW_ON | 
				
			||||||
 | 
								float4 glowColor = GetGlowColor(sd, scale); | 
				
			||||||
 | 
								faceColor.rgb += glowColor.rgb * glowColor.a; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
							#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
								half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); | 
				
			||||||
 | 
								faceColor *= m.x * m.y; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								clip(faceColor.a - 0.001); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					  		 | 
				
			||||||
 | 
								return faceColor * input.color.a; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fallback "TextMeshPro/Mobile/Distance Field" | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: dd89cf5b9246416f84610a006f916af7 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,246 @@ | 
				
			|||||||
 | 
					// Simplified SDF shader: | 
				
			||||||
 | 
					// - No Shading Option (bevel / bump / env map) | 
				
			||||||
 | 
					// - No Glow Option | 
				
			||||||
 | 
					// - Softness is applied on both side of the outline | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader "TextMeshPro/Mobile/Distance Field - Masking" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceColor			("Face Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0,1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_UnderlayColor		("Border Color", Color) = (0,0,0,.5) | 
				
			||||||
 | 
						_UnderlayOffsetX 	("Border OffsetX", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayOffsetY 	("Border OffsetY", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayDilate		("Border Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlaySoftness 	("Border Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = .5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect			("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_MaskSoftnessX		("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY		("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
						_MaskTex			("Mask Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_MaskInverse		("Inverse", float) = 0 | 
				
			||||||
 | 
						_MaskEdgeColor		("Edge Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_MaskEdgeSoftness	("Edge Softness", Range(0, 1)) = 0.01 | 
				
			||||||
 | 
						_MaskWipeControl	("Wipe Position", Range(0, 1)) = 0.5 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
						Tags  | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							"Queue"="Transparent" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref [_Stencil] | 
				
			||||||
 | 
							Comp [_StencilComp] | 
				
			||||||
 | 
							Pass [_StencilOp]  | 
				
			||||||
 | 
							ReadMask [_StencilReadMask] | 
				
			||||||
 | 
							WriteMask [_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						Blend One OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask [_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex VertShader | 
				
			||||||
 | 
							#pragma fragment PixShader | 
				
			||||||
 | 
							#pragma shader_feature __ OUTLINE_ON | 
				
			||||||
 | 
							#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
							#include "UnityUI.cginc" | 
				
			||||||
 | 
							#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct vertex_t { | 
				
			||||||
 | 
								float4	vertex			: POSITION; | 
				
			||||||
 | 
								float3	normal			: NORMAL; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	texcoord0		: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1		: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct pixel_t { | 
				
			||||||
 | 
								float4	vertex			: SV_POSITION; | 
				
			||||||
 | 
								fixed4	faceColor		: COLOR; | 
				
			||||||
 | 
								fixed4	outlineColor	: COLOR1; | 
				
			||||||
 | 
								float4	texcoord0		: TEXCOORD0;			// Texture UV, Mask UV | 
				
			||||||
 | 
								half4	param			: TEXCOORD1;			// Scale(x), BiasIn(y), BiasOut(z), Bias(w) | 
				
			||||||
 | 
								half4	mask			: TEXCOORD2;			// Position in clip space(xy), Softness(zw) | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								float4	texcoord1		: TEXCOORD3;			// Texture UV, alpha, reserved | 
				
			||||||
 | 
								half2	underlayParam	: TEXCOORD4;			// Scale(x), Bias(y) | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float _MaskWipeControl; | 
				
			||||||
 | 
							float _MaskEdgeSoftness; | 
				
			||||||
 | 
							fixed4 _MaskEdgeColor; | 
				
			||||||
 | 
							bool _MaskInverse; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pixel_t VertShader(vertex_t input) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								float bold = step(input.texcoord1.y, 0); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vert = input.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
								float4 vPosition = UnityObjectToClipPos(vert); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								float scale = rsqrt(dot(pixelSize, pixelSize)); | 
				
			||||||
 | 
								scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); | 
				
			||||||
 | 
								if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; | 
				
			||||||
 | 
								weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float layerScale = scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); | 
				
			||||||
 | 
								float bias = (0.5 - weight) * scale - 0.5; | 
				
			||||||
 | 
								float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float opacity = input.color.a; | 
				
			||||||
 | 
										#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
										opacity = 1.0; | 
				
			||||||
 | 
										#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; | 
				
			||||||
 | 
								faceColor.rgb *= faceColor.a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 outlineColor = _OutlineColor; | 
				
			||||||
 | 
								outlineColor.a *= opacity; | 
				
			||||||
 | 
								outlineColor.rgb *= outlineColor.a; | 
				
			||||||
 | 
								outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); | 
				
			||||||
 | 
								float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; | 
				
			||||||
 | 
								float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; | 
				
			||||||
 | 
								float2 layerOffset = float2(x, y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Generate UV for the Masking Texture | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Structure for pixel shader | 
				
			||||||
 | 
								pixel_t output = { | 
				
			||||||
 | 
									vPosition, | 
				
			||||||
 | 
									faceColor, | 
				
			||||||
 | 
									outlineColor, | 
				
			||||||
 | 
									float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y), | 
				
			||||||
 | 
									half4(scale, bias - outline, bias + outline, bias), | 
				
			||||||
 | 
									half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)), | 
				
			||||||
 | 
								#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
									float4(input.texcoord0 + layerOffset, input.color.a, 0), | 
				
			||||||
 | 
									half2(layerScale, layerBias), | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
								}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// PIXEL SHADER | 
				
			||||||
 | 
							fixed4 PixShader(pixel_t input) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; | 
				
			||||||
 | 
								half4 c = input.faceColor * saturate(d - input.param.w); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#ifdef OUTLINE_ON | 
				
			||||||
 | 
								c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); | 
				
			||||||
 | 
								c *= saturate(d - input.param.y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_ON | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_INNER | 
				
			||||||
 | 
								half sd = saturate(d - input.param.z); | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
							#if UNITY_UI_CLIP_RECT	 | 
				
			||||||
 | 
								half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); | 
				
			||||||
 | 
								c *= m.x * m.y; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a); | 
				
			||||||
 | 
							float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl; | 
				
			||||||
 | 
							a = saturate(t / _MaskEdgeSoftness); | 
				
			||||||
 | 
							c.rgb = lerp(_MaskEdgeColor.rgb*c.a, c.rgb, a); | 
				
			||||||
 | 
							c *= a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								c *= input.texcoord1.z; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								clip(c.a - 0.001); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return c; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: bc1ede39bf3643ee8e493720e4259791 | 
				
			||||||
 | 
					timeCreated: 1463704911 | 
				
			||||||
 | 
					licenseType: Pro | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,239 @@ | 
				
			|||||||
 | 
					// Simplified SDF shader: | 
				
			||||||
 | 
					// - No Shading Option (bevel / bump / env map) | 
				
			||||||
 | 
					// - No Glow Option | 
				
			||||||
 | 
					// - Softness is applied on both side of the outline | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader "TextMeshPro/Mobile/Distance Field Overlay" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceColor			("Face Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0,1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_UnderlayColor		("Border Color", Color) = (0,0,0,.5) | 
				
			||||||
 | 
						_UnderlayOffsetX 	("Border OffsetX", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayOffsetY 	("Border OffsetY", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayDilate		("Border Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlaySoftness 	("Border Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = .5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect			("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_MaskSoftnessX		("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY		("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
						Tags | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
							"Queue"="Overlay" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref [_Stencil] | 
				
			||||||
 | 
							Comp [_StencilComp] | 
				
			||||||
 | 
							Pass [_StencilOp]  | 
				
			||||||
 | 
							ReadMask [_StencilReadMask] | 
				
			||||||
 | 
							WriteMask [_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						ZTest Always | 
				
			||||||
 | 
						Blend One OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask [_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex VertShader | 
				
			||||||
 | 
							#pragma fragment PixShader | 
				
			||||||
 | 
							#pragma shader_feature __ OUTLINE_ON | 
				
			||||||
 | 
							#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
							#include "UnityUI.cginc" | 
				
			||||||
 | 
							#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct vertex_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								float4	vertex			: POSITION; | 
				
			||||||
 | 
								float3	normal			: NORMAL; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	texcoord0		: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1		: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct pixel_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								UNITY_VERTEX_OUTPUT_STEREO | 
				
			||||||
 | 
								float4	vertex			: SV_POSITION; | 
				
			||||||
 | 
								fixed4	faceColor		: COLOR; | 
				
			||||||
 | 
								fixed4	outlineColor	: COLOR1; | 
				
			||||||
 | 
								float4	texcoord0		: TEXCOORD0;			// Texture UV, Mask UV | 
				
			||||||
 | 
								half4	param			: TEXCOORD1;			// Scale(x), BiasIn(y), BiasOut(z), Bias(w) | 
				
			||||||
 | 
								half4	mask			: TEXCOORD2;			// Position in clip space(xy), Softness(zw) | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								float4	texcoord1		: TEXCOORD3;			// Texture UV, alpha, reserved | 
				
			||||||
 | 
								half2	underlayParam	: TEXCOORD4;			// Scale(x), Bias(y) | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pixel_t VertShader(vertex_t input) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								pixel_t output; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								UNITY_INITIALIZE_OUTPUT(pixel_t, output); | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								UNITY_TRANSFER_INSTANCE_ID(input, output); | 
				
			||||||
 | 
								UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								float bold = step(input.texcoord1.y, 0); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vert = input.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
								float4 vPosition = UnityObjectToClipPos(vert); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								float scale = rsqrt(dot(pixelSize, pixelSize)); | 
				
			||||||
 | 
								scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); | 
				
			||||||
 | 
								if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; | 
				
			||||||
 | 
								weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float layerScale = scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); | 
				
			||||||
 | 
								float bias = (0.5 - weight) * scale - 0.5; | 
				
			||||||
 | 
								float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float opacity = input.color.a; | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
									opacity = 1.0; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; | 
				
			||||||
 | 
								faceColor.rgb *= faceColor.a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 outlineColor = _OutlineColor; | 
				
			||||||
 | 
								outlineColor.a *= opacity; | 
				
			||||||
 | 
								outlineColor.rgb *= outlineColor.a; | 
				
			||||||
 | 
								outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); | 
				
			||||||
 | 
								float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; | 
				
			||||||
 | 
								float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; | 
				
			||||||
 | 
								float2 layerOffset = float2(x, y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Generate UV for the Masking Texture | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Populate structure for pixel shader | 
				
			||||||
 | 
								output.vertex = vPosition; | 
				
			||||||
 | 
								output.faceColor = faceColor; | 
				
			||||||
 | 
								output.outlineColor = outlineColor; | 
				
			||||||
 | 
								output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); | 
				
			||||||
 | 
								output.param = half4(scale, bias - outline, bias + outline, bias); | 
				
			||||||
 | 
								output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); | 
				
			||||||
 | 
								output.underlayParam = half2(layerScale, layerBias); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// PIXEL SHADER | 
				
			||||||
 | 
							fixed4 PixShader(pixel_t input) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; | 
				
			||||||
 | 
								half4 c = input.faceColor * saturate(d - input.param.w); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#ifdef OUTLINE_ON | 
				
			||||||
 | 
								c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); | 
				
			||||||
 | 
								c *= saturate(d - input.param.y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_ON | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_INNER | 
				
			||||||
 | 
								half sd = saturate(d - input.param.z); | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
							#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
								half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); | 
				
			||||||
 | 
								c *= m.x * m.y; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								c *= input.texcoord1.z; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								clip(c.a - 0.001); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return c; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: a02a7d8c237544f1962732b55a9aebf1 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,239 @@ | 
				
			|||||||
 | 
					// Simplified SDF shader: | 
				
			||||||
 | 
					// - No Shading Option (bevel / bump / env map) | 
				
			||||||
 | 
					// - No Glow Option | 
				
			||||||
 | 
					// - Softness is applied on both side of the outline | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader "TextMeshPro/Mobile/Distance Field" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceColor			("Face Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0,1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_UnderlayColor		("Border Color", Color) = (0,0,0,.5) | 
				
			||||||
 | 
						_UnderlayOffsetX 	("Border OffsetX", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayOffsetY 	("Border OffsetY", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayDilate		("Border Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlaySoftness 	("Border Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = .5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ClipRect			("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_MaskSoftnessX		("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY		("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
						Tags  | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							"Queue"="Transparent" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref [_Stencil] | 
				
			||||||
 | 
							Comp [_StencilComp] | 
				
			||||||
 | 
							Pass [_StencilOp]  | 
				
			||||||
 | 
							ReadMask [_StencilReadMask] | 
				
			||||||
 | 
							WriteMask [_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						Blend One OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask [_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex VertShader | 
				
			||||||
 | 
							#pragma fragment PixShader | 
				
			||||||
 | 
							#pragma shader_feature __ OUTLINE_ON | 
				
			||||||
 | 
							#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
							#include "UnityUI.cginc" | 
				
			||||||
 | 
							#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct vertex_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								float4	vertex			: POSITION; | 
				
			||||||
 | 
								float3	normal			: NORMAL; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	texcoord0		: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1		: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct pixel_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								UNITY_VERTEX_OUTPUT_STEREO | 
				
			||||||
 | 
								float4	vertex			: SV_POSITION; | 
				
			||||||
 | 
								fixed4	faceColor		: COLOR; | 
				
			||||||
 | 
								fixed4	outlineColor	: COLOR1; | 
				
			||||||
 | 
								float4	texcoord0		: TEXCOORD0;			// Texture UV, Mask UV | 
				
			||||||
 | 
								half4	param			: TEXCOORD1;			// Scale(x), BiasIn(y), BiasOut(z), Bias(w) | 
				
			||||||
 | 
								half4	mask			: TEXCOORD2;			// Position in clip space(xy), Softness(zw) | 
				
			||||||
 | 
								#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								float4	texcoord1		: TEXCOORD3;			// Texture UV, alpha, reserved | 
				
			||||||
 | 
								half2	underlayParam	: TEXCOORD4;			// Scale(x), Bias(y) | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pixel_t VertShader(vertex_t input) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								pixel_t output; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								UNITY_INITIALIZE_OUTPUT(pixel_t, output); | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								UNITY_TRANSFER_INSTANCE_ID(input, output); | 
				
			||||||
 | 
								UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								float bold = step(input.texcoord1.y, 0); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vert = input.vertex; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
								float4 vPosition = UnityObjectToClipPos(vert); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								float scale = rsqrt(dot(pixelSize, pixelSize)); | 
				
			||||||
 | 
								scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); | 
				
			||||||
 | 
								if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; | 
				
			||||||
 | 
								weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float layerScale = scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); | 
				
			||||||
 | 
								float bias = (0.5 - weight) * scale - 0.5; | 
				
			||||||
 | 
								float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float opacity = input.color.a; | 
				
			||||||
 | 
								#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								opacity = 1.0; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; | 
				
			||||||
 | 
								faceColor.rgb *= faceColor.a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 outlineColor = _OutlineColor; | 
				
			||||||
 | 
								outlineColor.a *= opacity; | 
				
			||||||
 | 
								outlineColor.rgb *= outlineColor.a; | 
				
			||||||
 | 
								outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); | 
				
			||||||
 | 
								float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; | 
				
			||||||
 | 
								float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; | 
				
			||||||
 | 
								float2 layerOffset = float2(x, y); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Generate UV for the Masking Texture | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Populate structure for pixel shader | 
				
			||||||
 | 
								output.vertex = vPosition; | 
				
			||||||
 | 
								output.faceColor = faceColor; | 
				
			||||||
 | 
								output.outlineColor = outlineColor; | 
				
			||||||
 | 
								output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); | 
				
			||||||
 | 
								output.param = half4(scale, bias - outline, bias + outline, bias); | 
				
			||||||
 | 
								output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); | 
				
			||||||
 | 
								output.underlayParam = half2(layerScale, layerBias); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return output; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// PIXEL SHADER | 
				
			||||||
 | 
							fixed4 PixShader(pixel_t input) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; | 
				
			||||||
 | 
								half4 c = input.faceColor * saturate(d - input.param.w); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#ifdef OUTLINE_ON | 
				
			||||||
 | 
								c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); | 
				
			||||||
 | 
								c *= saturate(d - input.param.y); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if UNDERLAY_ON | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if UNDERLAY_INNER | 
				
			||||||
 | 
								half sd = saturate(d - input.param.z); | 
				
			||||||
 | 
								d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; | 
				
			||||||
 | 
								c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
								#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
								half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); | 
				
			||||||
 | 
								c *= m.x * m.y; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if (UNDERLAY_ON | UNDERLAY_INNER) | 
				
			||||||
 | 
								c *= input.texcoord1.z; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								clip(c.a - 0.001); | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return c; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: fe393ace9b354375a9cb14cdbbc28be4 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,137 @@ | 
				
			|||||||
 | 
					// Simplified version of the SDF Surface shader : | 
				
			||||||
 | 
					// - No support for Bevel, Bump or envmap | 
				
			||||||
 | 
					// - Diffuse only lighting | 
				
			||||||
 | 
					// - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Shader "TextMeshPro/Mobile/Distance Field (Surface)" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceTex			("Fill Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceColor			("Fill Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineTex			("Outline Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0, 1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness		("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_GlowColor			("Color", Color) = (0, 1, 0, 0.5) | 
				
			||||||
 | 
						_GlowOffset			("Offset", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_GlowInner			("Inner", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowOuter			("Outer", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowPower			("Falloff", Range(1, 0)) = 0.75 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Should not be directly exposed to the user | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5.0 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1.0 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1.0 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						//_MaskCoord		("Mask Coords", vector) = (0,0,0,0) | 
				
			||||||
 | 
						//_MaskSoftness		("Mask Softness", float) = 0 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags { | 
				
			||||||
 | 
							"Queue"="Transparent" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						LOD 300 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CGPROGRAM | 
				
			||||||
 | 
						#pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap | 
				
			||||||
 | 
						#pragma target 3.0 | 
				
			||||||
 | 
						#pragma shader_feature __ GLOW_ON | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
						#include "TMPro.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						half _FaceShininess; | 
				
			||||||
 | 
						half _OutlineShininess; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						struct Input | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							fixed4	color		: COLOR; | 
				
			||||||
 | 
							float2	uv_MainTex; | 
				
			||||||
 | 
							float2	uv2_FaceTex; | 
				
			||||||
 | 
							float2  uv2_OutlineTex; | 
				
			||||||
 | 
							float2	param;					// Weight, Scale | 
				
			||||||
 | 
							float3	viewDirEnv;		 | 
				
			||||||
 | 
						}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						#include "TMPro_Surface.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ENDCG | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Pass to render object as a shadow caster | 
				
			||||||
 | 
						Pass | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Name "Caster" | 
				
			||||||
 | 
							Tags { "LightMode" = "ShadowCaster" } | 
				
			||||||
 | 
							Offset 1, 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Fog {Mode Off} | 
				
			||||||
 | 
							ZWrite On ZTest LEqual Cull Off | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex vert | 
				
			||||||
 | 
							#pragma fragment frag | 
				
			||||||
 | 
							#pragma multi_compile_shadowcaster | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct v2f { | 
				
			||||||
 | 
								V2F_SHADOW_CASTER; | 
				
			||||||
 | 
								float2	uv			: TEXCOORD1; | 
				
			||||||
 | 
								float2	uv2			: TEXCOORD3; | 
				
			||||||
 | 
								float	alphaClip	: TEXCOORD2; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform float4 _MainTex_ST; | 
				
			||||||
 | 
							uniform float4 _OutlineTex_ST; | 
				
			||||||
 | 
							float _OutlineWidth; | 
				
			||||||
 | 
							float _FaceDilate; | 
				
			||||||
 | 
							float _ScaleRatioA; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							v2f vert( appdata_base v ) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								v2f o; | 
				
			||||||
 | 
								TRANSFER_SHADOW_CASTER(o) | 
				
			||||||
 | 
								o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); | 
				
			||||||
 | 
								o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); | 
				
			||||||
 | 
								o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; | 
				
			||||||
 | 
								return o; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform sampler2D _MainTex; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float4 frag(v2f i) : COLOR | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								fixed4 texcol = tex2D(_MainTex, i.uv).a; | 
				
			||||||
 | 
								clip(texcol.a - i.alphaClip); | 
				
			||||||
 | 
								SHADOW_CASTER_FRAGMENT(i) | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 85187c2149c549c5b33f0cdb02836b17 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,156 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Distance Field (Surface)" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceTex			("Fill Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceUVSpeedX		("Face UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceUVSpeedY		("Face UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceColor			("Fill Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineTex			("Outline Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_OutlineUVSpeedX	("Outline UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineUVSpeedY	("Outline UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0, 1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_Bevel				("Bevel", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_BevelOffset		("Bevel Offset", Range(-0.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelWidth			("Bevel Width", Range(-.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelClamp			("Bevel Clamp", Range(0,1)) = 0 | 
				
			||||||
 | 
						_BevelRoundness		("Bevel Roundness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_BumpMap 			("Normalmap", 2D) = "bump" {} | 
				
			||||||
 | 
						_BumpOutline		("Bump Outline", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_BumpFace			("Bump Face", Range(0,1)) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ReflectFaceColor		("Face Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_ReflectOutlineColor	("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_Cube 					("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } | 
				
			||||||
 | 
						_EnvMatrixRotation		("Texture Rotation", vector) = (0, 0, 0, 0) | 
				
			||||||
 | 
						_SpecColor				("Specular Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_FaceShininess		("Face Shininess", Range(0,1)) = 0 | 
				
			||||||
 | 
						_OutlineShininess	("Outline Shininess", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_GlowColor			("Color", Color) = (0, 1, 0, 0.5) | 
				
			||||||
 | 
						_GlowOffset			("Offset", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_GlowInner			("Inner", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowOuter			("Outer", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowPower			("Falloff", Range(1, 0)) = 0.75 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Should not be directly exposed to the user | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5.0 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1.0 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1.0 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						//_MaskCoord		("Mask Coords", vector) = (0,0,0,0) | 
				
			||||||
 | 
						//_MaskSoftness		("Mask Softness", float) = 0 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }	 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						LOD 300 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CGPROGRAM | 
				
			||||||
 | 
						#pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap | 
				
			||||||
 | 
						#pragma target 3.0 | 
				
			||||||
 | 
						#pragma shader_feature __ GLOW_ON | 
				
			||||||
 | 
						#pragma glsl | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
						#include "TMPro.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						half _FaceShininess; | 
				
			||||||
 | 
						half _OutlineShininess; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						struct Input | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							fixed4	color			: COLOR; | 
				
			||||||
 | 
							float2	uv_MainTex; | 
				
			||||||
 | 
							float2	uv2_FaceTex; | 
				
			||||||
 | 
							float2  uv2_OutlineTex; | 
				
			||||||
 | 
							float2	param;						// Weight, Scale | 
				
			||||||
 | 
							float3	viewDirEnv;		 | 
				
			||||||
 | 
						}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						#define BEVEL_ON 1 | 
				
			||||||
 | 
						#include "TMPro_Surface.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ENDCG | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Pass to render object as a shadow caster | 
				
			||||||
 | 
						Pass | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Name "Caster" | 
				
			||||||
 | 
							Tags { "LightMode" = "ShadowCaster" } | 
				
			||||||
 | 
							Offset 1, 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Fog {Mode Off} | 
				
			||||||
 | 
							ZWrite On | 
				
			||||||
 | 
							ZTest LEqual | 
				
			||||||
 | 
							Cull Off | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma vertex vert | 
				
			||||||
 | 
							#pragma fragment frag | 
				
			||||||
 | 
							#pragma multi_compile_shadowcaster | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct v2f { | 
				
			||||||
 | 
								V2F_SHADOW_CASTER; | 
				
			||||||
 | 
								float2	uv			: TEXCOORD1; | 
				
			||||||
 | 
								float2	uv2			: TEXCOORD3; | 
				
			||||||
 | 
								float	alphaClip	: TEXCOORD2; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform float4 _MainTex_ST; | 
				
			||||||
 | 
							uniform float4 _OutlineTex_ST; | 
				
			||||||
 | 
							float _OutlineWidth; | 
				
			||||||
 | 
							float _FaceDilate; | 
				
			||||||
 | 
							float _ScaleRatioA; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							v2f vert( appdata_base v ) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								v2f o; | 
				
			||||||
 | 
								TRANSFER_SHADOW_CASTER(o) | 
				
			||||||
 | 
								o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); | 
				
			||||||
 | 
								o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); | 
				
			||||||
 | 
								o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; | 
				
			||||||
 | 
								return o; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							uniform sampler2D _MainTex; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							float4 frag(v2f i) : COLOR | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								fixed4 texcol = tex2D(_MainTex, i.uv).a; | 
				
			||||||
 | 
								clip(texcol.a - i.alphaClip); | 
				
			||||||
 | 
								SHADOW_CASTER_FRAGMENT(i) | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: f7ada0af4f174f0694ca6a487b8f543d | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,316 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Distance Field" { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properties { | 
				
			||||||
 | 
						_FaceTex			("Face Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_FaceUVSpeedX		("Face UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceUVSpeedY		("Face UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_FaceColor			("Face Color", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_FaceDilate			("Face Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_OutlineColor		("Outline Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_OutlineTex			("Outline Texture", 2D) = "white" {} | 
				
			||||||
 | 
						_OutlineUVSpeedX	("Outline UV Speed X", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineUVSpeedY	("Outline UV Speed Y", Range(-5, 5)) = 0.0 | 
				
			||||||
 | 
						_OutlineWidth		("Outline Thickness", Range(0, 1)) = 0 | 
				
			||||||
 | 
						_OutlineSoftness	("Outline Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_Bevel				("Bevel", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_BevelOffset		("Bevel Offset", Range(-0.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelWidth			("Bevel Width", Range(-.5,0.5)) = 0 | 
				
			||||||
 | 
						_BevelClamp			("Bevel Clamp", Range(0,1)) = 0 | 
				
			||||||
 | 
						_BevelRoundness		("Bevel Roundness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_LightAngle			("Light Angle", Range(0.0, 6.2831853)) = 3.1416 | 
				
			||||||
 | 
						_SpecularColor		("Specular", Color) = (1,1,1,1) | 
				
			||||||
 | 
						_SpecularPower		("Specular", Range(0,4)) = 2.0 | 
				
			||||||
 | 
						_Reflectivity		("Reflectivity", Range(5.0,15.0)) = 10 | 
				
			||||||
 | 
						_Diffuse			("Diffuse", Range(0,1)) = 0.5 | 
				
			||||||
 | 
						_Ambient			("Ambient", Range(1,0)) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_BumpMap 			("Normal map", 2D) = "bump" {} | 
				
			||||||
 | 
						_BumpOutline		("Bump Outline", Range(0,1)) = 0 | 
				
			||||||
 | 
						_BumpFace			("Bump Face", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ReflectFaceColor	("Reflection Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) | 
				
			||||||
 | 
						_Cube 				("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } | 
				
			||||||
 | 
						_EnvMatrixRotation	("Texture Rotation", vector) = (0, 0, 0, 0) | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_UnderlayColor		("Border Color", Color) = (0,0,0, 0.5) | 
				
			||||||
 | 
						_UnderlayOffsetX	("Border OffsetX", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayOffsetY	("Border OffsetY", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlayDilate		("Border Dilate", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_UnderlaySoftness	("Border Softness", Range(0,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_GlowColor			("Color", Color) = (0, 1, 0, 0.5) | 
				
			||||||
 | 
						_GlowOffset			("Offset", Range(-1,1)) = 0 | 
				
			||||||
 | 
						_GlowInner			("Inner", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowOuter			("Outer", Range(0,1)) = 0.05 | 
				
			||||||
 | 
						_GlowPower			("Falloff", Range(1, 0)) = 0.75 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_WeightNormal		("Weight Normal", float) = 0 | 
				
			||||||
 | 
						_WeightBold			("Weight Bold", float) = 0.5 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ShaderFlags		("Flags", float) = 0 | 
				
			||||||
 | 
						_ScaleRatioA		("Scale RatioA", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioB		("Scale RatioB", float) = 1 | 
				
			||||||
 | 
						_ScaleRatioC		("Scale RatioC", float) = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_MainTex			("Font Atlas", 2D) = "white" {} | 
				
			||||||
 | 
						_TextureWidth		("Texture Width", float) = 512 | 
				
			||||||
 | 
						_TextureHeight		("Texture Height", float) = 512 | 
				
			||||||
 | 
						_GradientScale		("Gradient Scale", float) = 5.0 | 
				
			||||||
 | 
						_ScaleX				("Scale X", float) = 1.0 | 
				
			||||||
 | 
						_ScaleY				("Scale Y", float) = 1.0 | 
				
			||||||
 | 
						_PerspectiveFilter	("Perspective Correction", Range(0, 1)) = 0.875 | 
				
			||||||
 | 
						_Sharpness			("Sharpness", Range(-1,1)) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_VertexOffsetX		("Vertex OffsetX", float) = 0 | 
				
			||||||
 | 
						_VertexOffsetY		("Vertex OffsetY", float) = 0 | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						_MaskCoord			("Mask Coordinates", vector) = (0, 0, 32767, 32767) | 
				
			||||||
 | 
						_ClipRect			("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
						_MaskSoftnessX		("Mask SoftnessX", float) = 0 | 
				
			||||||
 | 
						_MaskSoftnessY		("Mask SoftnessY", float) = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_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 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubShader { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Tags | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							"Queue"="Transparent" | 
				
			||||||
 | 
							"IgnoreProjector"="True" | 
				
			||||||
 | 
							"RenderType"="Transparent" | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Stencil | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							Ref [_Stencil] | 
				
			||||||
 | 
							Comp [_StencilComp] | 
				
			||||||
 | 
							Pass [_StencilOp]  | 
				
			||||||
 | 
							ReadMask [_StencilReadMask] | 
				
			||||||
 | 
							WriteMask [_StencilWriteMask] | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Cull [_CullMode] | 
				
			||||||
 | 
						ZWrite Off | 
				
			||||||
 | 
						Lighting Off | 
				
			||||||
 | 
						Fog { Mode Off } | 
				
			||||||
 | 
						ZTest [unity_GUIZTestMode] | 
				
			||||||
 | 
						Blend One OneMinusSrcAlpha | 
				
			||||||
 | 
						ColorMask [_ColorMask] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pass { | 
				
			||||||
 | 
							CGPROGRAM | 
				
			||||||
 | 
							#pragma target 3.0 | 
				
			||||||
 | 
							#pragma vertex VertShader | 
				
			||||||
 | 
							#pragma fragment PixShader | 
				
			||||||
 | 
							#pragma shader_feature __ BEVEL_ON | 
				
			||||||
 | 
							#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER | 
				
			||||||
 | 
							#pragma shader_feature __ GLOW_ON | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
							#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#include "UnityCG.cginc" | 
				
			||||||
 | 
							#include "UnityUI.cginc" | 
				
			||||||
 | 
							#include "TMPro_Properties.cginc" | 
				
			||||||
 | 
							#include "TMPro.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct vertex_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								float4	position		: POSITION; | 
				
			||||||
 | 
								float3	normal			: NORMAL; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	texcoord0		: TEXCOORD0; | 
				
			||||||
 | 
								float2	texcoord1		: TEXCOORD1; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							struct pixel_t { | 
				
			||||||
 | 
								UNITY_VERTEX_INPUT_INSTANCE_ID | 
				
			||||||
 | 
								UNITY_VERTEX_OUTPUT_STEREO | 
				
			||||||
 | 
								float4	position		: SV_POSITION; | 
				
			||||||
 | 
								fixed4	color			: COLOR; | 
				
			||||||
 | 
								float2	atlas			: TEXCOORD0;		// Atlas | 
				
			||||||
 | 
								float4	param			: TEXCOORD1;		// alphaClip, scale, bias, weight | 
				
			||||||
 | 
								float4	mask			: TEXCOORD2;		// Position in object space(xy), pixel Size(zw) | 
				
			||||||
 | 
								float3	viewDir			: TEXCOORD3; | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
							#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								float4	texcoord2		: TEXCOORD4;		// u,v, scale, bias | 
				
			||||||
 | 
								fixed4	underlayColor	: COLOR1; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
								float4 textures			: TEXCOORD5; | 
				
			||||||
 | 
							}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Used by Unity internally to handle Texture Tiling and Offset. | 
				
			||||||
 | 
							float4 _FaceTex_ST; | 
				
			||||||
 | 
							float4 _OutlineTex_ST; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pixel_t VertShader(vertex_t input) | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								pixel_t output; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								UNITY_INITIALIZE_OUTPUT(pixel_t, output); | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
								UNITY_TRANSFER_INSTANCE_ID(input,output); | 
				
			||||||
 | 
								UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bold = step(input.texcoord1.y, 0); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vert = input.position; | 
				
			||||||
 | 
								vert.x += _VertexOffsetX; | 
				
			||||||
 | 
								vert.y += _VertexOffsetY; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float4 vPosition = UnityObjectToClipPos(vert); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float2 pixelSize = vPosition.w; | 
				
			||||||
 | 
								pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); | 
				
			||||||
 | 
								float scale = rsqrt(dot(pixelSize, pixelSize)); | 
				
			||||||
 | 
								scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); | 
				
			||||||
 | 
								if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; | 
				
			||||||
 | 
								weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bias =(.5 - weight) + (.5 / scale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _OutlineSoftness * _ScaleRatioA); | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							#if GLOW_ON | 
				
			||||||
 | 
								alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								float4 underlayColor = _UnderlayColor; | 
				
			||||||
 | 
								underlayColor.rgb *= underlayColor.a; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float bScale = scale; | 
				
			||||||
 | 
								bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); | 
				
			||||||
 | 
								float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; | 
				
			||||||
 | 
								float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; | 
				
			||||||
 | 
								float2 bOffset = float2(x, y); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Generate UV for the Masking Texture | 
				
			||||||
 | 
								float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); | 
				
			||||||
 | 
								float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Support for texture tiling and offset | 
				
			||||||
 | 
								float2 textureUV = UnpackUV(input.texcoord1.x); | 
				
			||||||
 | 
								float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); | 
				
			||||||
 | 
								float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								output.position = vPosition; | 
				
			||||||
 | 
								output.color = input.color; | 
				
			||||||
 | 
								output.atlas =	input.texcoord0; | 
				
			||||||
 | 
								output.param =	float4(alphaClip, scale, bias, weight); | 
				
			||||||
 | 
								output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); | 
				
			||||||
 | 
								output.viewDir =	mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); | 
				
			||||||
 | 
								#if (UNDERLAY_ON || UNDERLAY_INNER) | 
				
			||||||
 | 
								output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); | 
				
			||||||
 | 
								output.underlayColor =	underlayColor; | 
				
			||||||
 | 
								#endif | 
				
			||||||
 | 
								output.textures = float4(faceUV, outlineUV); | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
								return output; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							fixed4 PixShader(pixel_t input) : SV_Target | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								UNITY_SETUP_INSTANCE_ID(input); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float c = tex2D(_MainTex, input.atlas).a; | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							#ifndef UNDERLAY_ON | 
				
			||||||
 | 
								clip(c - input.param.x); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float	scale	= input.param.y; | 
				
			||||||
 | 
								float	bias	= input.param.z; | 
				
			||||||
 | 
								float	weight	= input.param.w; | 
				
			||||||
 | 
								float	sd = (bias - c) * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float outline = (_OutlineWidth * _ScaleRatioA) * scale; | 
				
			||||||
 | 
								float softness = (_OutlineSoftness * _ScaleRatioA) * scale; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								half4 faceColor = _FaceColor; | 
				
			||||||
 | 
								half4 outlineColor = _OutlineColor; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								faceColor.rgb *= input.color.rgb; | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); | 
				
			||||||
 | 
								outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if BEVEL_ON | 
				
			||||||
 | 
								float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); | 
				
			||||||
 | 
								float3 n = GetSurfaceNormal(input.atlas, weight, dxy); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; | 
				
			||||||
 | 
								bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); | 
				
			||||||
 | 
								n = normalize(n- bump); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								float3 col = GetSpecular(n, light); | 
				
			||||||
 | 
								faceColor.rgb += col*faceColor.a; | 
				
			||||||
 | 
								faceColor.rgb *= 1-(dot(n, light)*_Diffuse); | 
				
			||||||
 | 
								faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); | 
				
			||||||
 | 
								faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_ON | 
				
			||||||
 | 
								float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; | 
				
			||||||
 | 
								faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNDERLAY_INNER | 
				
			||||||
 | 
								float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; | 
				
			||||||
 | 
								faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if GLOW_ON | 
				
			||||||
 | 
								float4 glowColor = GetGlowColor(sd, scale); | 
				
			||||||
 | 
								faceColor.rgb += glowColor.rgb * glowColor.a; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Alternative implementation to UnityGet2DClipping with support for softness. | 
				
			||||||
 | 
							#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
								half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); | 
				
			||||||
 | 
								faceColor *= m.x * m.y; | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#if UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								clip(faceColor.a - 0.001); | 
				
			||||||
 | 
							#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  		return faceColor * input.color.a; | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fallback "TextMeshPro/Mobile/Distance Field" | 
				
			||||||
 | 
					CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					fileFormatVersion: 2 | 
				
			||||||
 | 
					guid: 68e6db2ebdc24f95958faec2be5558d6 | 
				
			||||||
 | 
					ShaderImporter: | 
				
			||||||
 | 
					  defaultTextures: [] | 
				
			||||||
 | 
					  userData:  | 
				
			||||||
 | 
					  assetBundleName:  | 
				
			||||||
 | 
					  assetBundleVariant:  | 
				
			||||||
@ -0,0 +1,113 @@ | 
				
			|||||||
 | 
					Shader "TextMeshPro/Sprite" | 
				
			||||||
 | 
					{ | 
				
			||||||
 | 
						Properties | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							_MainTex ("Sprite Texture", 2D) = "white" {} | 
				
			||||||
 | 
							_Color ("Tint", Color) = (1,1,1,1) | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							_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 | 
				
			||||||
 | 
							_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							[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 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#include "UnityCG.cginc" | 
				
			||||||
 | 
								#include "UnityUI.cginc" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								#pragma multi_compile __ UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
								#pragma multi_compile __ UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								struct appdata_t | 
				
			||||||
 | 
								{ | 
				
			||||||
 | 
									float4 vertex   : POSITION; | 
				
			||||||
 | 
									float4 color    : COLOR; | 
				
			||||||
 | 
									float2 texcoord : TEXCOORD0; | 
				
			||||||
 | 
								}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								struct v2f | 
				
			||||||
 | 
								{ | 
				
			||||||
 | 
									float4 vertex   : SV_POSITION; | 
				
			||||||
 | 
									fixed4 color    : COLOR; | 
				
			||||||
 | 
									half2 texcoord  : TEXCOORD0; | 
				
			||||||
 | 
									float4 worldPosition : TEXCOORD1; | 
				
			||||||
 | 
								}; | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								fixed4 _Color; | 
				
			||||||
 | 
								fixed4 _TextureSampleAdd; | 
				
			||||||
 | 
								float4 _ClipRect; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								v2f vert(appdata_t IN) | 
				
			||||||
 | 
								{ | 
				
			||||||
 | 
									v2f OUT; | 
				
			||||||
 | 
									OUT.worldPosition = IN.vertex; | 
				
			||||||
 | 
									OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									OUT.texcoord = IN.texcoord; | 
				
			||||||
 | 
									 | 
				
			||||||
 | 
									#ifdef UNITY_HALF_TEXEL_OFFSET | 
				
			||||||
 | 
									OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1); | 
				
			||||||
 | 
									#endif | 
				
			||||||
 | 
									 | 
				
			||||||
 | 
									OUT.color = IN.color * _Color; | 
				
			||||||
 | 
									return OUT; | 
				
			||||||
 | 
								} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sampler2D _MainTex; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								fixed4 frag(v2f IN) : SV_Target | 
				
			||||||
 | 
								{ | 
				
			||||||
 | 
									half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; | 
				
			||||||
 | 
									 | 
				
			||||||
 | 
									#if UNITY_UI_CLIP_RECT | 
				
			||||||
 | 
										color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); | 
				
			||||||
 | 
									#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									#ifdef UNITY_UI_ALPHACLIP | 
				
			||||||
 | 
										clip (color.a - 0.001); | 
				
			||||||
 | 
									#endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									return color; | 
				
			||||||
 | 
								} | 
				
			||||||
 | 
							ENDCG | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
					Loading…
					
					
				
		Reference in new issue