├── .gitignore ├── Assets ├── RuntimeDemo.meta ├── RuntimeDemo │ ├── Materials.meta │ ├── Materials │ │ ├── SVGGradientMaterial.mat │ │ ├── SVGGradientMaterial.mat.meta │ │ ├── SVGMaterial.mat │ │ └── SVGMaterial.mat.meta │ ├── RuntimeDemo.unity │ ├── RuntimeDemo.unity.meta │ ├── RuntimeGradient.cs │ ├── RuntimeGradient.cs.meta │ ├── SVGRuntimeLoad.cs │ ├── SVGRuntimeLoad.cs.meta │ ├── ShapeClipper.cs │ ├── ShapeClipper.cs.meta │ ├── Spline.cs │ └── Spline.cs.meta ├── SVGDemo.meta └── SVGDemo │ ├── DemoSVG.unity │ ├── DemoSVG.unity.meta │ ├── ellipse.svg │ ├── ellipse.svg.meta │ ├── gradient-addressing.svg │ ├── gradient-addressing.svg.meta │ ├── gradient-linear.svg │ ├── gradient-linear.svg.meta │ ├── pattern.svg │ ├── pattern.svg.meta │ ├── tiger.svg │ └── tiger.svg.meta ├── Documentation ├── images │ ├── addressing.png │ ├── clipper.png │ ├── constraints.png │ ├── contour.png │ ├── fill_evenodd.png │ ├── fill_nonzero.png │ ├── linear_gradient.png │ ├── screenshot.png │ ├── svg_inspector.png │ └── svg_inspector_advanced.png └── vectorgraphics.md ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── XRSettings.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | Library/ 2 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b5f6921166ba431b95acbf43aa4c849 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bfff74e252cb841a1a95a0f93aa262f8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Materials/SVGGradientMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: SVGGradientMaterial 11 | m_Shader: {fileID: 4800000, guid: 832980ba13231854d88a322b288f3685, type: 3} 12 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _AlphaTex: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _BumpMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailAlbedoMap: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailMask: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _DetailNormalMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _EmissionMap: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MainTex: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _MetallicGlossMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _OcclusionMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _ParallaxMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | m_Floats: 63 | - PixelSnap: 0 64 | - _BumpScale: 1 65 | - _Cutoff: 0.5 66 | - _DetailNormalMapScale: 1 67 | - _DstBlend: 0 68 | - _EnableExternalAlpha: 0 69 | - _GlossMapScale: 1 70 | - _Glossiness: 0.5 71 | - _GlossyReflections: 1 72 | - _Metallic: 0 73 | - _Mode: 0 74 | - _OcclusionStrength: 1 75 | - _Parallax: 0.02 76 | - _SmoothnessTextureChannel: 0 77 | - _SpecularHighlights: 1 78 | - _SrcBlend: 1 79 | - _UVSec: 0 80 | - _ZWrite: 1 81 | m_Colors: 82 | - _Color: {r: 1, g: 1, b: 1, a: 1} 83 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 84 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 85 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 86 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Materials/SVGGradientMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1e81a543d3af994896748406efd5fdd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Materials/SVGMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: SVGMaterial 10 | m_Shader: {fileID: 4800000, guid: 1f28eb75eb632433997163eb8d2207e5, type: 3} 11 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _AlphaTex: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _OcclusionMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _ParallaxMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - PixelSnap: 0 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _EnableExternalAlpha: 0 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 1 78 | - _UVSec: 0 79 | - _ZWrite: 1 80 | m_Colors: 81 | - _Color: {r: 1, g: 1, b: 1, a: 1} 82 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 83 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 84 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 85 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Materials/SVGMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3bd7a881ed8f4c7595f2c1d51905853 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/RuntimeDemo.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 500 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 2 83 | m_PVRDenoiserTypeDirect: 0 84 | m_PVRDenoiserTypeIndirect: 0 85 | m_PVRDenoiserTypeAO: 0 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 0 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightProbeSampleCountMultiplier: 4 100 | m_LightingDataAsset: {fileID: 0} 101 | m_UseShadowmask: 1 102 | --- !u!196 &4 103 | NavMeshSettings: 104 | serializedVersion: 2 105 | m_ObjectHideFlags: 0 106 | m_BuildSettings: 107 | serializedVersion: 2 108 | agentTypeID: 0 109 | agentRadius: 0.5 110 | agentHeight: 2 111 | agentSlope: 45 112 | agentClimb: 0.4 113 | ledgeDropHeight: 0 114 | maxJumpAcrossDistance: 0 115 | minRegionArea: 2 116 | manualCellSize: 0 117 | cellSize: 0.16666667 118 | manualTileSize: 0 119 | tileSize: 256 120 | accuratePlacement: 0 121 | debug: 122 | m_Flags: 0 123 | m_NavMeshData: {fileID: 0} 124 | --- !u!1 &96410143 125 | GameObject: 126 | m_ObjectHideFlags: 0 127 | m_CorrespondingSourceObject: {fileID: 0} 128 | m_PrefabInstance: {fileID: 0} 129 | m_PrefabAsset: {fileID: 0} 130 | serializedVersion: 6 131 | m_Component: 132 | - component: {fileID: 96410147} 133 | - component: {fileID: 96410146} 134 | - component: {fileID: 96410145} 135 | - component: {fileID: 96410144} 136 | m_Layer: 0 137 | m_Name: Spline 138 | m_TagString: Untagged 139 | m_Icon: {fileID: 0} 140 | m_NavMeshLayer: 0 141 | m_StaticEditorFlags: 0 142 | m_IsActive: 1 143 | --- !u!114 &96410144 144 | MonoBehaviour: 145 | m_ObjectHideFlags: 0 146 | m_CorrespondingSourceObject: {fileID: 0} 147 | m_PrefabInstance: {fileID: 0} 148 | m_PrefabAsset: {fileID: 0} 149 | m_GameObject: {fileID: 96410143} 150 | m_Enabled: 1 151 | m_EditorHideFlags: 0 152 | m_Script: {fileID: 11500000, guid: ec25f61824cb749c5ae0faff2e64cf16, type: 3} 153 | m_Name: 154 | m_EditorClassIdentifier: 155 | controlPoints: 156 | - {fileID: 432483295} 157 | - {fileID: 1691728570} 158 | - {fileID: 996290604} 159 | - {fileID: 2002341191} 160 | --- !u!23 &96410145 161 | MeshRenderer: 162 | m_ObjectHideFlags: 0 163 | m_CorrespondingSourceObject: {fileID: 0} 164 | m_PrefabInstance: {fileID: 0} 165 | m_PrefabAsset: {fileID: 0} 166 | m_GameObject: {fileID: 96410143} 167 | m_Enabled: 1 168 | m_CastShadows: 1 169 | m_ReceiveShadows: 1 170 | m_DynamicOccludee: 1 171 | m_MotionVectors: 1 172 | m_LightProbeUsage: 1 173 | m_ReflectionProbeUsage: 1 174 | m_RayTracingMode: 2 175 | m_RenderingLayerMask: 4294967295 176 | m_RendererPriority: 0 177 | m_Materials: 178 | - {fileID: 2100000, guid: d3bd7a881ed8f4c7595f2c1d51905853, type: 2} 179 | m_StaticBatchInfo: 180 | firstSubMesh: 0 181 | subMeshCount: 0 182 | m_StaticBatchRoot: {fileID: 0} 183 | m_ProbeAnchor: {fileID: 0} 184 | m_LightProbeVolumeOverride: {fileID: 0} 185 | m_ScaleInLightmap: 1 186 | m_ReceiveGI: 1 187 | m_PreserveUVs: 0 188 | m_IgnoreNormalsForChartDetection: 0 189 | m_ImportantGI: 0 190 | m_StitchLightmapSeams: 0 191 | m_SelectedEditorRenderState: 3 192 | m_MinimumChartSize: 4 193 | m_AutoUVMaxDistance: 0.5 194 | m_AutoUVMaxAngle: 89 195 | m_LightmapParameters: {fileID: 0} 196 | m_SortingLayerID: 0 197 | m_SortingLayer: 0 198 | m_SortingOrder: 0 199 | --- !u!33 &96410146 200 | MeshFilter: 201 | m_ObjectHideFlags: 0 202 | m_CorrespondingSourceObject: {fileID: 0} 203 | m_PrefabInstance: {fileID: 0} 204 | m_PrefabAsset: {fileID: 0} 205 | m_GameObject: {fileID: 96410143} 206 | m_Mesh: {fileID: 1573680623} 207 | --- !u!4 &96410147 208 | Transform: 209 | m_ObjectHideFlags: 0 210 | m_CorrespondingSourceObject: {fileID: 0} 211 | m_PrefabInstance: {fileID: 0} 212 | m_PrefabAsset: {fileID: 0} 213 | m_GameObject: {fileID: 96410143} 214 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 215 | m_LocalPosition: {x: 0, y: 0, z: 0} 216 | m_LocalScale: {x: 1, y: 1, z: 1} 217 | m_Children: 218 | - {fileID: 432483295} 219 | - {fileID: 1691728570} 220 | - {fileID: 996290604} 221 | - {fileID: 2002341191} 222 | m_Father: {fileID: 0} 223 | m_RootOrder: 2 224 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 225 | --- !u!1 &234940679 226 | GameObject: 227 | m_ObjectHideFlags: 0 228 | m_CorrespondingSourceObject: {fileID: 0} 229 | m_PrefabInstance: {fileID: 0} 230 | m_PrefabAsset: {fileID: 0} 231 | serializedVersion: 6 232 | m_Component: 233 | - component: {fileID: 234940683} 234 | - component: {fileID: 234940682} 235 | - component: {fileID: 234940681} 236 | - component: {fileID: 234940680} 237 | m_Layer: 0 238 | m_Name: Main Camera 239 | m_TagString: MainCamera 240 | m_Icon: {fileID: 0} 241 | m_NavMeshLayer: 0 242 | m_StaticEditorFlags: 0 243 | m_IsActive: 1 244 | --- !u!81 &234940680 245 | AudioListener: 246 | m_ObjectHideFlags: 0 247 | m_CorrespondingSourceObject: {fileID: 0} 248 | m_PrefabInstance: {fileID: 0} 249 | m_PrefabAsset: {fileID: 0} 250 | m_GameObject: {fileID: 234940679} 251 | m_Enabled: 1 252 | --- !u!124 &234940681 253 | Behaviour: 254 | m_ObjectHideFlags: 0 255 | m_CorrespondingSourceObject: {fileID: 0} 256 | m_PrefabInstance: {fileID: 0} 257 | m_PrefabAsset: {fileID: 0} 258 | m_GameObject: {fileID: 234940679} 259 | m_Enabled: 1 260 | --- !u!20 &234940682 261 | Camera: 262 | m_ObjectHideFlags: 0 263 | m_CorrespondingSourceObject: {fileID: 0} 264 | m_PrefabInstance: {fileID: 0} 265 | m_PrefabAsset: {fileID: 0} 266 | m_GameObject: {fileID: 234940679} 267 | m_Enabled: 1 268 | serializedVersion: 2 269 | m_ClearFlags: 1 270 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 271 | m_projectionMatrixMode: 1 272 | m_GateFitMode: 2 273 | m_FOVAxisMode: 0 274 | m_SensorSize: {x: 36, y: 24} 275 | m_LensShift: {x: 0, y: 0} 276 | m_FocalLength: 50 277 | m_NormalizedViewPortRect: 278 | serializedVersion: 2 279 | x: 0 280 | y: 0 281 | width: 1 282 | height: 1 283 | near clip plane: 0.3 284 | far clip plane: 1000 285 | field of view: 60 286 | orthographic: 0 287 | orthographic size: 5 288 | m_Depth: -1 289 | m_CullingMask: 290 | serializedVersion: 2 291 | m_Bits: 4294967295 292 | m_RenderingPath: -1 293 | m_TargetTexture: {fileID: 0} 294 | m_TargetDisplay: 0 295 | m_TargetEye: 3 296 | m_HDR: 1 297 | m_AllowMSAA: 1 298 | m_AllowDynamicResolution: 0 299 | m_ForceIntoRT: 0 300 | m_OcclusionCulling: 1 301 | m_StereoConvergence: 10 302 | m_StereoSeparation: 0.022 303 | --- !u!4 &234940683 304 | Transform: 305 | m_ObjectHideFlags: 0 306 | m_CorrespondingSourceObject: {fileID: 0} 307 | m_PrefabInstance: {fileID: 0} 308 | m_PrefabAsset: {fileID: 0} 309 | m_GameObject: {fileID: 234940679} 310 | m_LocalRotation: {x: -0.15251671, y: -0.049792, z: 0.007695299, w: -0.98701584} 311 | m_LocalPosition: {x: 15.824712, y: 6.3481913, z: -31.692945} 312 | m_LocalScale: {x: 1, y: 1, z: 1} 313 | m_Children: [] 314 | m_Father: {fileID: 0} 315 | m_RootOrder: 0 316 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 317 | --- !u!43 &297084073 318 | Mesh: 319 | m_ObjectHideFlags: 0 320 | m_CorrespondingSourceObject: {fileID: 0} 321 | m_PrefabInstance: {fileID: 0} 322 | m_PrefabAsset: {fileID: 0} 323 | m_Name: 324 | serializedVersion: 10 325 | m_SubMeshes: 326 | - serializedVersion: 2 327 | firstByte: 0 328 | indexCount: 297 329 | topology: 0 330 | baseVertex: 0 331 | firstVertex: 0 332 | vertexCount: 231 333 | localAABB: 334 | m_Center: {x: 2.684995, y: 3.7200048, z: 0} 335 | m_Extent: {x: 3.184995, y: 3.999995, z: 0} 336 | m_Shapes: 337 | vertices: [] 338 | shapes: [] 339 | channels: [] 340 | fullWeights: [] 341 | m_BindPose: [] 342 | m_BoneNameHashes: 343 | m_RootBoneNameHash: 0 344 | m_BonesAABB: [] 345 | m_VariableBoneCountWeights: 346 | m_Data: 347 | m_MeshCompression: 0 348 | m_IsReadable: 1 349 | m_KeepVertices: 1 350 | m_KeepIndices: 1 351 | m_IndexFormat: 0 352 | m_IndexBuffer: 00000200010003000000010001000400030005000700060008000a0009000b000800090009000c000b000d000f000e0010001200110013001500140016001800170019001b001a001c001e001d001f0021002000200022001f002300250024002400260023002700290028002a002c002b002d002f002e002d002e003000300031002d003200340033003300350032003600380037003700390036003a003c003b003b003d003a003e0040003f003f0041003e004200440043004300450042004600480047004700490046004a004c004b004d004f004e0050005200510053005500540056005800570059005b005a005a005c0059005d005f005e0060006200610063006500640066006800670069006b006a006c006e006d006f007100700072007400730075007700760076007800750079007b007a007c007e007d007d007f007c0080008200810081008300800084008600850087008900880088008a0087008b008d008c008c008e008b008f0091009000900092008f0093009500940096009800970099009b009a009c009e009d009f00a100a000a200a400a300a500a700a600a800aa00a900ab00ad00ac00ae00b000af00b100b300b200b400b600b500b700b400b500b500b800b700b900bb00ba00ba00bc00b900bd00bf00be00c000c200c100c100c300c000c400c600c500c500c700c400c800ca00c900c900cb00c800cc00ce00cd00cc00cd00cf00cf00d000cc00d100d300d200d200d400d100d500d700d600d600d800d500d900db00da00dc00de00dd00dc00dd00df00df00e000dc00e100e300e200e400e600e500 353 | m_VertexData: 354 | serializedVersion: 3 355 | m_VertexCount: 231 356 | m_Channels: 357 | - stream: 0 358 | offset: 0 359 | format: 0 360 | dimension: 3 361 | - stream: 0 362 | offset: 0 363 | format: 0 364 | dimension: 0 365 | - stream: 0 366 | offset: 0 367 | format: 0 368 | dimension: 0 369 | - stream: 0 370 | offset: 12 371 | format: 0 372 | dimension: 4 373 | - stream: 0 374 | offset: 0 375 | format: 0 376 | dimension: 0 377 | - stream: 0 378 | offset: 0 379 | format: 0 380 | dimension: 0 381 | - stream: 0 382 | offset: 0 383 | format: 0 384 | dimension: 0 385 | - stream: 0 386 | offset: 0 387 | format: 0 388 | dimension: 0 389 | - stream: 0 390 | offset: 0 391 | format: 0 392 | dimension: 0 393 | - stream: 0 394 | offset: 0 395 | format: 0 396 | dimension: 0 397 | - stream: 0 398 | offset: 0 399 | format: 0 400 | dimension: 0 401 | - stream: 0 402 | offset: 0 403 | format: 0 404 | dimension: 0 405 | - stream: 0 406 | offset: 0 407 | format: 0 408 | dimension: 0 409 | - stream: 0 410 | offset: 0 411 | format: 0 412 | dimension: 0 413 | m_DataSize: 6468 414 | _typelessdata: d55bef3f3d0af7400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803ff7061540857cf5400000000000000000000000000000803f0000803fe92bdc3f8cf3f6400000000000000000000000000000803f0000803facc5cf3f0872f6400000000000000000000000000000803f0000803facc5cf3f0872f6400000000000000000000000000000803f0000803febff3c3f31d3f1400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fd6563c3fc0cff1400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803febff3c3f31d3f1400000000000000000000000000000803f0000803f00000000037de7400000000000000000000000000000803f0000803f000000000000e0400000000000000000000000000000803f0000803f000000000000e0400000000000000000000000000000803f0000803f000000000000c0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f000000000000c0400000000000000000000000000000803f0000803f000000000000a0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f000000000000a0400000000000000000000000000000803f0000803f00000000000080400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f00000000000080400000000000000000000000000000803f0000803f00000000000040400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f00000000000040400000000000000000000000000000803f0000803f00000000000000400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f00000000000000400000000000000000000000000000803f0000803f000000000000803f0000000000000000000000000000803f0000803f000000000000803f0000000000000000000000000000803f0000803f2cb7143e2cb7143e0000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0000000088f45b3e0000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f4e97e53e000000000000000000000000000000000000803f0000803f58ff7f3f000000000000000000000000000000000000803f0000803f2cb7143e2cb7143e0000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f58ff7f3f000000000000000000000000000000000000803f0000803facffff3f000000000000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803facffff3f000000000000000000000000000000000000803f0000803fd6ff3f40000000000000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f443462407958a83d0000000000000000000000000000803f0000803fddb582409dd7d83e0000000000000000000000000000803f0000803f71725140000000000000000000000000000000000000803f0000803fd6ff3f40000000000000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f97398c4044a31b3f0000000000000000000000000000803f0000803febff9f4007eb9f3f0000000000000000000000000000803f0000803fddb582409dd7d83e0000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fdd5ea240e3c2a93f0000000000000000000000000000803f0000803f6c04b240f2d20b400000000000000000000000000000803f0000803febff9f4007eb9f3f0000000000000000000000000000803f0000803f315fb940202441400000000000000000000000000000803f0000803f6c04b240f2d20b400000000000000000000000000000803f0000803fae2ab24021590c400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f787fbb402a5764400000000000000000000000000000803f0000803f315fb940202441400000000000000000000000000000803f0000803f2592ba4029ed49400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f857cbb40d4487b400000000000000000000000000000803f0000803f787fbb402a5764400000000000000000000000000000803f0000803ff5d6bb407b146e400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f8317bb407de884400000000000000000000000000000803f0000803f857cbb40d4487b400000000000000000000000000000803f0000803f5019bb40dfe084400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f8481b9405f988b400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f8317bb407de884400000000000000000000000000000803f0000803f5518b840f08a91400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f8481b9405f988b400000000000000000000000000000803f0000803f13d5b640ecdd96400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f5518b840f08a91400000000000000000000000000000803f0000803f03b2b5402aa99b400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f13d5b640ecdd96400000000000000000000000000000803f0000803f8faab4400000a0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f03b2b5402aa99b400000000000000000000000000000803f0000803f0abab340fef1a3400000000000000000000000000000803f0000803f8faab4400000a0400000000000000000000000000000803f0000803fc3bbb340cceea3400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0abab340fef1a3400000000000000000000000000000803f0000803f0803b2406e34a7400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0803b2406e34a7400000000000000000000000000000803f0000803f4f92b04056f1a9400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f4f92b04056f1a9400000000000000000000000000000803f0000803f2558af407446ac400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f2558af407446ac400000000000000000000000000000803f0000803f3d49ae403d49ae400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f3d49ae403d49ae400000000000000000000000000000803f0000803f1327ad40ce70b0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f1327ad40ce70b0400000000000000000000000000000803f0000803fc79dab40535cb3400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fc79dab40535cb3400000000000000000000000000000803f0000803fa96aa940b18ab7400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fa96aa940b18ab7400000000000000000000000000000803f0000803f5001a6408e06be400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0000a0406c95c5400000000000000000000000000000803f0000803f5001a6408e06be400000000000000000000000000000803f0000803f50dfa440cb2dc0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f0000a0406c95c5400000000000000000000000000000803f0000803f155796406e4cd0400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f1f808f40c1e2d7400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f155796406e4cd0400000000000000000000000000000803f0000803f668387407637dd400000000000000000000000000000803f0000803feae76940aa9ae9400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803f668387407637dd400000000000000000000000000000803f0000803f3c146740b919ea400000000000000000000000000000803f0000803f3c146740b919ea400000000000000000000000000000803f0000803fa5da3d405457f1400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fbcae2d40732ef4400000000000000000000000000000803f0000803f0000a0400000a0400000000000000000000000000000803f0000803fa5da3d405457f1400000000000000000000000000000803f0000803ff7061540857cf5400000000000000000000000000000803f0000803f9cf935beb0fee440000000000000803f00000000000000000000803f0000003f0000e040000000000000803f00000000000000000000803f0000003f1b81ee40000000000000803f00000000000000000000803fae47c1be0000e040000000000000803f00000000000000000000803f000000bff2efdc40000000000000803f00000000000000000000803f0000003f0000e040000000000000803f00000000000000000000803fae47c1be0000e040000000000000803f00000000000000000000803f000000bf0000c040000000000000803f00000000000000000000803f0000003f0000e040000000000000803f00000000000000000000803f000000bf0000c040000000000000803f00000000000000000000803f0000003f0000c040000000000000803f00000000000000000000803f0000003f0000c040000000000000803f00000000000000000000803f000000bf0000c040000000000000803f00000000000000000000803f000000bf0000a040000000000000803f00000000000000000000803f0000003f0000c040000000000000803f00000000000000000000803f000000bf0000a040000000000000803f00000000000000000000803f0000003f0000a040000000000000803f00000000000000000000803f0000003f0000a040000000000000803f00000000000000000000803f000000bf0000a040000000000000803f00000000000000000000803f000000bf00008040000000000000803f00000000000000000000803f0000003f0000a040000000000000803f00000000000000000000803f000000bf00008040000000000000803f00000000000000000000803f0000003f00008040000000000000803f00000000000000000000803f0000003f00008040000000000000803f00000000000000000000803f000000bf00008040000000000000803f00000000000000000000803f000000bf00004040000000000000803f00000000000000000000803f0000003f00008040000000000000803f00000000000000000000803f000000bf00004040000000000000803f00000000000000000000803f0000003f00004040000000000000803f00000000000000000000803f0000003f00004040000000000000803f00000000000000000000803f000000bf00004040000000000000803f00000000000000000000803f000000bf00000040000000000000803f00000000000000000000803f0000003f00004040000000000000803f00000000000000000000803f000000bf00000040000000000000803f00000000000000000000803f0000003f00000040000000000000803f00000000000000000000803f0000003f00000040000000000000803f00000000000000000000803f000000bf00000040000000000000803f00000000000000000000803f000000bf0000803f000000000000803f00000000000000000000803f0000003f00000040000000000000803f00000000000000000000803f000000bf0000803f000000000000803f00000000000000000000803f0000003f0000803f000000000000803f00000000000000000000803f0000003f0000803f000000000000803f00000000000000000000803fd10595bea25db53e000000000000803f00000000000000000000803f5da791bc00ae643e000000000000803f00000000000000000000803f000000bf0000803f000000000000803f00000000000000000000803f000000bff567073f000000000000803f00000000000000000000803f0000003f0000803f000000000000803f00000000000000000000803f2cb7143e2cb7143e000000000000803f00000000000000000000803f0000003f0000003f000000000000803f00000000000000000000803f5da791bc00ae643e000000000000803f00000000000000000000803f0000003f0000003f000000000000803f00000000000000000000803f2cb7143e2cb7143e000000000000803f00000000000000000000803f4da1933e670a9d3d000000000000803f00000000000000000000803f0000003f0000003f000000000000803f00000000000000000000803f12c21b3fadfa9cbd000000000000803f00000000000000000000803f5ddc4e3f53d0edbd000000000000803f00000000000000000000803f4da1933e670a9d3d000000000000803f00000000000000000000803f58ff7f3f0000003f000000000000803f00000000000000000000803f5ddc4e3f53d0edbd000000000000803f00000000000000000000803f58ff7f3f87c41dbe000000000000803f00000000000000000000803f0000003f0000003f000000000000803f00000000000000000000803f58ff7f3f0000003f000000000000803f00000000000000000000803fe71dcb3fdc4b8abe000000000000803f00000000000000000000803fe36be33fdeb08dbe000000000000803f00000000000000000000803f58ff7f3f87c41dbe000000000000803f00000000000000000000803facffff3f0000003f000000000000803f00000000000000000000803fd55bef3fd95a8fbe000000000000803f00000000000000000000803facffff3f596e89be000000000000803f00000000000000000000803fe36be33fdeb08dbe000000000000803f00000000000000000000803f58ff7f3f0000003f000000000000803f00000000000000000000803facffff3f0000003f000000000000803f00000000000000000000803f944d2540a9bc5dbe000000000000803f00000000000000000000803f53d02b40c8073dbe000000000000803f00000000000000000000803facffff3f596e89be000000000000803f00000000000000000000803fd6ff3f400000003f000000000000803f00000000000000000000803f53d02b40c8073dbe000000000000803f00000000000000000000803fd6ff3f40cf49afbd000000000000803f00000000000000000000803facffff3f0000003f000000000000803f00000000000000000000803fb2855c4022895e3d000000000000803f00000000000000000000803fd6ff3f400000003f000000000000803f00000000000000000000803fd6ff3f40cf49afbd000000000000803f00000000000000000000803fd6ff7f400000003f000000000000803f00000000000000000000803f443462407958a83d000000000000803f00000000000000000000803fd6ff7f4017f1bd3e000000000000803f00000000000000000000803fb2855c4022895e3d000000000000803f00000000000000000000803fd6ff3f400000003f000000000000803f00000000000000000000803f3f8c8240bd3ad73e000000000000803f00000000000000000000803fd6ff7f400000003f000000000000803f00000000000000000000803fd6ff7f4017f1bd3e000000000000803f00000000000000000000803fdba786400000003f000000000000803f00000000000000000000803fd6ff7f400000003f000000000000803f00000000000000000000803f3f8c8240bd3ad73e000000000000803f00000000000000000000803f 415 | m_CompressedMesh: 416 | m_Vertices: 417 | m_NumItems: 0 418 | m_Range: 0 419 | m_Start: 0 420 | m_Data: 421 | m_BitSize: 0 422 | m_UV: 423 | m_NumItems: 0 424 | m_Range: 0 425 | m_Start: 0 426 | m_Data: 427 | m_BitSize: 0 428 | m_Normals: 429 | m_NumItems: 0 430 | m_Range: 0 431 | m_Start: 0 432 | m_Data: 433 | m_BitSize: 0 434 | m_Tangents: 435 | m_NumItems: 0 436 | m_Range: 0 437 | m_Start: 0 438 | m_Data: 439 | m_BitSize: 0 440 | m_Weights: 441 | m_NumItems: 0 442 | m_Data: 443 | m_BitSize: 0 444 | m_NormalSigns: 445 | m_NumItems: 0 446 | m_Data: 447 | m_BitSize: 0 448 | m_TangentSigns: 449 | m_NumItems: 0 450 | m_Data: 451 | m_BitSize: 0 452 | m_FloatColors: 453 | m_NumItems: 0 454 | m_Range: 0 455 | m_Start: 0 456 | m_Data: 457 | m_BitSize: 0 458 | m_BoneIndices: 459 | m_NumItems: 0 460 | m_Data: 461 | m_BitSize: 0 462 | m_Triangles: 463 | m_NumItems: 0 464 | m_Data: 465 | m_BitSize: 0 466 | m_UVInfo: 0 467 | m_LocalAABB: 468 | m_Center: {x: 2.684995, y: 3.7200048, z: 0} 469 | m_Extent: {x: 3.184995, y: 3.999995, z: 0} 470 | m_MeshUsageFlags: 0 471 | m_BakedConvexCollisionMesh: 472 | m_BakedTriangleCollisionMesh: 473 | m_MeshMetrics[0]: 1 474 | m_MeshMetrics[1]: 1 475 | m_MeshOptimizationFlags: 1 476 | m_StreamData: 477 | offset: 0 478 | size: 0 479 | path: 480 | --- !u!1 &380625903 481 | GameObject: 482 | m_ObjectHideFlags: 0 483 | m_CorrespondingSourceObject: {fileID: 0} 484 | m_PrefabInstance: {fileID: 0} 485 | m_PrefabAsset: {fileID: 0} 486 | serializedVersion: 6 487 | m_Component: 488 | - component: {fileID: 380625906} 489 | - component: {fileID: 380625905} 490 | - component: {fileID: 380625904} 491 | m_Layer: 0 492 | m_Name: SVGLoader 493 | m_TagString: Untagged 494 | m_Icon: {fileID: 0} 495 | m_NavMeshLayer: 0 496 | m_StaticEditorFlags: 0 497 | m_IsActive: 1 498 | --- !u!114 &380625904 499 | MonoBehaviour: 500 | m_ObjectHideFlags: 0 501 | m_CorrespondingSourceObject: {fileID: 0} 502 | m_PrefabInstance: {fileID: 0} 503 | m_PrefabAsset: {fileID: 0} 504 | m_GameObject: {fileID: 380625903} 505 | m_Enabled: 1 506 | m_EditorHideFlags: 0 507 | m_Script: {fileID: 11500000, guid: a6c9035c8d7a1456280881135e09c4ed, type: 3} 508 | m_Name: 509 | m_EditorClassIdentifier: 510 | --- !u!212 &380625905 511 | SpriteRenderer: 512 | m_ObjectHideFlags: 0 513 | m_CorrespondingSourceObject: {fileID: 0} 514 | m_PrefabInstance: {fileID: 0} 515 | m_PrefabAsset: {fileID: 0} 516 | m_GameObject: {fileID: 380625903} 517 | m_Enabled: 1 518 | m_CastShadows: 0 519 | m_ReceiveShadows: 0 520 | m_DynamicOccludee: 1 521 | m_MotionVectors: 1 522 | m_LightProbeUsage: 1 523 | m_ReflectionProbeUsage: 1 524 | m_RayTracingMode: 0 525 | m_RenderingLayerMask: 4294967295 526 | m_RendererPriority: 0 527 | m_Materials: 528 | - {fileID: 2100000, guid: d3bd7a881ed8f4c7595f2c1d51905853, type: 2} 529 | m_StaticBatchInfo: 530 | firstSubMesh: 0 531 | subMeshCount: 0 532 | m_StaticBatchRoot: {fileID: 0} 533 | m_ProbeAnchor: {fileID: 0} 534 | m_LightProbeVolumeOverride: {fileID: 0} 535 | m_ScaleInLightmap: 1 536 | m_ReceiveGI: 1 537 | m_PreserveUVs: 0 538 | m_IgnoreNormalsForChartDetection: 0 539 | m_ImportantGI: 0 540 | m_StitchLightmapSeams: 0 541 | m_SelectedEditorRenderState: 0 542 | m_MinimumChartSize: 4 543 | m_AutoUVMaxDistance: 0.5 544 | m_AutoUVMaxAngle: 89 545 | m_LightmapParameters: {fileID: 0} 546 | m_SortingLayerID: 0 547 | m_SortingLayer: 0 548 | m_SortingOrder: 0 549 | m_Sprite: {fileID: 0} 550 | m_Color: {r: 1, g: 1, b: 1, a: 1} 551 | m_FlipX: 0 552 | m_FlipY: 0 553 | m_DrawMode: 0 554 | m_Size: {x: 1, y: 1} 555 | m_AdaptiveModeThreshold: 0.5 556 | m_SpriteTileMode: 0 557 | m_WasSpriteAssigned: 0 558 | m_MaskInteraction: 0 559 | m_SpriteSortPoint: 0 560 | --- !u!4 &380625906 561 | Transform: 562 | m_ObjectHideFlags: 0 563 | m_CorrespondingSourceObject: {fileID: 0} 564 | m_PrefabInstance: {fileID: 0} 565 | m_PrefabAsset: {fileID: 0} 566 | m_GameObject: {fileID: 380625903} 567 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 568 | m_LocalPosition: {x: 34, y: 0, z: 0} 569 | m_LocalScale: {x: 1, y: 1, z: 1} 570 | m_Children: [] 571 | m_Father: {fileID: 0} 572 | m_RootOrder: 4 573 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 574 | --- !u!1 &432483294 575 | GameObject: 576 | m_ObjectHideFlags: 0 577 | m_CorrespondingSourceObject: {fileID: 0} 578 | m_PrefabInstance: {fileID: 0} 579 | m_PrefabAsset: {fileID: 0} 580 | serializedVersion: 6 581 | m_Component: 582 | - component: {fileID: 432483295} 583 | m_Layer: 0 584 | m_Name: Start 585 | m_TagString: Untagged 586 | m_Icon: {fileID: 0} 587 | m_NavMeshLayer: 0 588 | m_StaticEditorFlags: 0 589 | m_IsActive: 1 590 | --- !u!4 &432483295 591 | Transform: 592 | m_ObjectHideFlags: 0 593 | m_CorrespondingSourceObject: {fileID: 0} 594 | m_PrefabInstance: {fileID: 0} 595 | m_PrefabAsset: {fileID: 0} 596 | m_GameObject: {fileID: 432483294} 597 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 598 | m_LocalPosition: {x: 0, y: 0, z: 0} 599 | m_LocalScale: {x: 1, y: 1, z: 1} 600 | m_Children: [] 601 | m_Father: {fileID: 96410147} 602 | m_RootOrder: 0 603 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 604 | --- !u!1 &504073951 605 | GameObject: 606 | m_ObjectHideFlags: 0 607 | m_CorrespondingSourceObject: {fileID: 0} 608 | m_PrefabInstance: {fileID: 0} 609 | m_PrefabAsset: {fileID: 0} 610 | serializedVersion: 6 611 | m_Component: 612 | - component: {fileID: 504073952} 613 | - component: {fileID: 504073955} 614 | - component: {fileID: 504073954} 615 | - component: {fileID: 504073953} 616 | m_Layer: 0 617 | m_Name: ShapeClipper 618 | m_TagString: Untagged 619 | m_Icon: {fileID: 0} 620 | m_NavMeshLayer: 0 621 | m_StaticEditorFlags: 0 622 | m_IsActive: 1 623 | --- !u!4 &504073952 624 | Transform: 625 | m_ObjectHideFlags: 0 626 | m_CorrespondingSourceObject: {fileID: 0} 627 | m_PrefabInstance: {fileID: 0} 628 | m_PrefabAsset: {fileID: 0} 629 | m_GameObject: {fileID: 504073951} 630 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 631 | m_LocalPosition: {x: 18.89, y: -4.8, z: 0} 632 | m_LocalScale: {x: 1, y: 1, z: 1} 633 | m_Children: 634 | - {fileID: 1190268855} 635 | m_Father: {fileID: 0} 636 | m_RootOrder: 3 637 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 638 | --- !u!114 &504073953 639 | MonoBehaviour: 640 | m_ObjectHideFlags: 0 641 | m_CorrespondingSourceObject: {fileID: 0} 642 | m_PrefabInstance: {fileID: 0} 643 | m_PrefabAsset: {fileID: 0} 644 | m_GameObject: {fileID: 504073951} 645 | m_Enabled: 1 646 | m_EditorHideFlags: 0 647 | m_Script: {fileID: 11500000, guid: ae853bcbf9bef4baabc2100f7da72e40, type: 3} 648 | m_Name: 649 | m_EditorClassIdentifier: 650 | clipperPosition: {fileID: 1190268855} 651 | borderWidth: 1 652 | clip: 1 653 | --- !u!23 &504073954 654 | MeshRenderer: 655 | m_ObjectHideFlags: 0 656 | m_CorrespondingSourceObject: {fileID: 0} 657 | m_PrefabInstance: {fileID: 0} 658 | m_PrefabAsset: {fileID: 0} 659 | m_GameObject: {fileID: 504073951} 660 | m_Enabled: 1 661 | m_CastShadows: 1 662 | m_ReceiveShadows: 1 663 | m_DynamicOccludee: 1 664 | m_MotionVectors: 1 665 | m_LightProbeUsage: 1 666 | m_ReflectionProbeUsage: 1 667 | m_RayTracingMode: 2 668 | m_RenderingLayerMask: 4294967295 669 | m_RendererPriority: 0 670 | m_Materials: 671 | - {fileID: 2100000, guid: d3bd7a881ed8f4c7595f2c1d51905853, type: 2} 672 | m_StaticBatchInfo: 673 | firstSubMesh: 0 674 | subMeshCount: 0 675 | m_StaticBatchRoot: {fileID: 0} 676 | m_ProbeAnchor: {fileID: 0} 677 | m_LightProbeVolumeOverride: {fileID: 0} 678 | m_ScaleInLightmap: 1 679 | m_ReceiveGI: 1 680 | m_PreserveUVs: 0 681 | m_IgnoreNormalsForChartDetection: 0 682 | m_ImportantGI: 0 683 | m_StitchLightmapSeams: 0 684 | m_SelectedEditorRenderState: 3 685 | m_MinimumChartSize: 4 686 | m_AutoUVMaxDistance: 0.5 687 | m_AutoUVMaxAngle: 89 688 | m_LightmapParameters: {fileID: 0} 689 | m_SortingLayerID: 0 690 | m_SortingLayer: 0 691 | m_SortingOrder: 0 692 | --- !u!33 &504073955 693 | MeshFilter: 694 | m_ObjectHideFlags: 0 695 | m_CorrespondingSourceObject: {fileID: 0} 696 | m_PrefabInstance: {fileID: 0} 697 | m_PrefabAsset: {fileID: 0} 698 | m_GameObject: {fileID: 504073951} 699 | m_Mesh: {fileID: 297084073} 700 | --- !u!1 &617182941 701 | GameObject: 702 | m_ObjectHideFlags: 0 703 | m_CorrespondingSourceObject: {fileID: 0} 704 | m_PrefabInstance: {fileID: 0} 705 | m_PrefabAsset: {fileID: 0} 706 | serializedVersion: 6 707 | m_Component: 708 | - component: {fileID: 617182943} 709 | - component: {fileID: 617182942} 710 | m_Layer: 0 711 | m_Name: Directional Light 712 | m_TagString: Untagged 713 | m_Icon: {fileID: 0} 714 | m_NavMeshLayer: 0 715 | m_StaticEditorFlags: 0 716 | m_IsActive: 1 717 | --- !u!108 &617182942 718 | Light: 719 | m_ObjectHideFlags: 0 720 | m_CorrespondingSourceObject: {fileID: 0} 721 | m_PrefabInstance: {fileID: 0} 722 | m_PrefabAsset: {fileID: 0} 723 | m_GameObject: {fileID: 617182941} 724 | m_Enabled: 1 725 | serializedVersion: 10 726 | m_Type: 1 727 | m_Shape: 0 728 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 729 | m_Intensity: 1 730 | m_Range: 10 731 | m_SpotAngle: 30 732 | m_InnerSpotAngle: 21.80208 733 | m_CookieSize: 10 734 | m_Shadows: 735 | m_Type: 2 736 | m_Resolution: -1 737 | m_CustomResolution: -1 738 | m_Strength: 1 739 | m_Bias: 0.05 740 | m_NormalBias: 0.4 741 | m_NearPlane: 0.2 742 | m_CullingMatrixOverride: 743 | e00: 1 744 | e01: 0 745 | e02: 0 746 | e03: 0 747 | e10: 0 748 | e11: 1 749 | e12: 0 750 | e13: 0 751 | e20: 0 752 | e21: 0 753 | e22: 1 754 | e23: 0 755 | e30: 0 756 | e31: 0 757 | e32: 0 758 | e33: 1 759 | m_UseCullingMatrixOverride: 0 760 | m_Cookie: {fileID: 0} 761 | m_DrawHalo: 0 762 | m_Flare: {fileID: 0} 763 | m_RenderMode: 0 764 | m_CullingMask: 765 | serializedVersion: 2 766 | m_Bits: 4294967295 767 | m_RenderingLayerMask: 1 768 | m_Lightmapping: 4 769 | m_LightShadowCasterMode: 0 770 | m_AreaSize: {x: 1, y: 1} 771 | m_BounceIntensity: 1 772 | m_ColorTemperature: 6570 773 | m_UseColorTemperature: 0 774 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 775 | m_UseBoundingSphereOverride: 0 776 | m_ShadowRadius: 0 777 | m_ShadowAngle: 0 778 | --- !u!4 &617182943 779 | Transform: 780 | m_ObjectHideFlags: 0 781 | m_CorrespondingSourceObject: {fileID: 0} 782 | m_PrefabInstance: {fileID: 0} 783 | m_PrefabAsset: {fileID: 0} 784 | m_GameObject: {fileID: 617182941} 785 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 786 | m_LocalPosition: {x: 0, y: 3, z: 0} 787 | m_LocalScale: {x: 1, y: 1, z: 1} 788 | m_Children: [] 789 | m_Father: {fileID: 0} 790 | m_RootOrder: 1 791 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 792 | --- !u!1 &996290603 793 | GameObject: 794 | m_ObjectHideFlags: 0 795 | m_CorrespondingSourceObject: {fileID: 0} 796 | m_PrefabInstance: {fileID: 0} 797 | m_PrefabAsset: {fileID: 0} 798 | serializedVersion: 6 799 | m_Component: 800 | - component: {fileID: 996290604} 801 | m_Layer: 0 802 | m_Name: CtrlPt2 803 | m_TagString: Untagged 804 | m_Icon: {fileID: 0} 805 | m_NavMeshLayer: 0 806 | m_StaticEditorFlags: 0 807 | m_IsActive: 1 808 | --- !u!4 &996290604 809 | Transform: 810 | m_ObjectHideFlags: 0 811 | m_CorrespondingSourceObject: {fileID: 0} 812 | m_PrefabInstance: {fileID: 0} 813 | m_PrefabAsset: {fileID: 0} 814 | m_GameObject: {fileID: 996290603} 815 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 816 | m_LocalPosition: {x: 10.15, y: -7.62, z: 0} 817 | m_LocalScale: {x: 1, y: 1, z: 1} 818 | m_Children: [] 819 | m_Father: {fileID: 96410147} 820 | m_RootOrder: 2 821 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 822 | --- !u!1 &1113017783 823 | GameObject: 824 | m_ObjectHideFlags: 0 825 | m_CorrespondingSourceObject: {fileID: 0} 826 | m_PrefabInstance: {fileID: 0} 827 | m_PrefabAsset: {fileID: 0} 828 | serializedVersion: 6 829 | m_Component: 830 | - component: {fileID: 1113017785} 831 | - component: {fileID: 1113017784} 832 | - component: {fileID: 1113017786} 833 | m_Layer: 0 834 | m_Name: Gradient 835 | m_TagString: Untagged 836 | m_Icon: {fileID: 0} 837 | m_NavMeshLayer: 0 838 | m_StaticEditorFlags: 0 839 | m_IsActive: 1 840 | --- !u!114 &1113017784 841 | MonoBehaviour: 842 | m_ObjectHideFlags: 0 843 | m_CorrespondingSourceObject: {fileID: 0} 844 | m_PrefabInstance: {fileID: 0} 845 | m_PrefabAsset: {fileID: 0} 846 | m_GameObject: {fileID: 1113017783} 847 | m_Enabled: 1 848 | m_EditorHideFlags: 0 849 | m_Script: {fileID: 11500000, guid: 29400f2ff1dfeec41ad583720a021183, type: 3} 850 | m_Name: 851 | m_EditorClassIdentifier: 852 | --- !u!4 &1113017785 853 | Transform: 854 | m_ObjectHideFlags: 0 855 | m_CorrespondingSourceObject: {fileID: 0} 856 | m_PrefabInstance: {fileID: 0} 857 | m_PrefabAsset: {fileID: 0} 858 | m_GameObject: {fileID: 1113017783} 859 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 860 | m_LocalPosition: {x: -10, y: 0, z: 0} 861 | m_LocalScale: {x: 1, y: 1, z: 1} 862 | m_Children: [] 863 | m_Father: {fileID: 0} 864 | m_RootOrder: 5 865 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 866 | --- !u!212 &1113017786 867 | SpriteRenderer: 868 | m_ObjectHideFlags: 0 869 | m_CorrespondingSourceObject: {fileID: 0} 870 | m_PrefabInstance: {fileID: 0} 871 | m_PrefabAsset: {fileID: 0} 872 | m_GameObject: {fileID: 1113017783} 873 | m_Enabled: 1 874 | m_CastShadows: 0 875 | m_ReceiveShadows: 0 876 | m_DynamicOccludee: 1 877 | m_MotionVectors: 1 878 | m_LightProbeUsage: 1 879 | m_ReflectionProbeUsage: 1 880 | m_RayTracingMode: 0 881 | m_RenderingLayerMask: 1 882 | m_RendererPriority: 0 883 | m_Materials: 884 | - {fileID: 2100000, guid: f1e81a543d3af994896748406efd5fdd, type: 2} 885 | m_StaticBatchInfo: 886 | firstSubMesh: 0 887 | subMeshCount: 0 888 | m_StaticBatchRoot: {fileID: 0} 889 | m_ProbeAnchor: {fileID: 0} 890 | m_LightProbeVolumeOverride: {fileID: 0} 891 | m_ScaleInLightmap: 1 892 | m_ReceiveGI: 1 893 | m_PreserveUVs: 0 894 | m_IgnoreNormalsForChartDetection: 0 895 | m_ImportantGI: 0 896 | m_StitchLightmapSeams: 1 897 | m_SelectedEditorRenderState: 0 898 | m_MinimumChartSize: 4 899 | m_AutoUVMaxDistance: 0.5 900 | m_AutoUVMaxAngle: 89 901 | m_LightmapParameters: {fileID: 0} 902 | m_SortingLayerID: 0 903 | m_SortingLayer: 0 904 | m_SortingOrder: 0 905 | m_Sprite: {fileID: 0} 906 | m_Color: {r: 1, g: 1, b: 1, a: 1} 907 | m_FlipX: 0 908 | m_FlipY: 0 909 | m_DrawMode: 0 910 | m_Size: {x: 1, y: 1} 911 | m_AdaptiveModeThreshold: 0.5 912 | m_SpriteTileMode: 0 913 | m_WasSpriteAssigned: 0 914 | m_MaskInteraction: 0 915 | m_SpriteSortPoint: 0 916 | --- !u!1 &1190268854 917 | GameObject: 918 | m_ObjectHideFlags: 0 919 | m_CorrespondingSourceObject: {fileID: 0} 920 | m_PrefabInstance: {fileID: 0} 921 | m_PrefabAsset: {fileID: 0} 922 | serializedVersion: 6 923 | m_Component: 924 | - component: {fileID: 1190268855} 925 | m_Layer: 0 926 | m_Name: Clipper 927 | m_TagString: Untagged 928 | m_Icon: {fileID: 0} 929 | m_NavMeshLayer: 0 930 | m_StaticEditorFlags: 0 931 | m_IsActive: 1 932 | --- !u!4 &1190268855 933 | Transform: 934 | m_ObjectHideFlags: 0 935 | m_CorrespondingSourceObject: {fileID: 0} 936 | m_PrefabInstance: {fileID: 0} 937 | m_PrefabAsset: {fileID: 0} 938 | m_GameObject: {fileID: 1190268854} 939 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 940 | m_LocalPosition: {x: 1.87, y: 3.72, z: 0} 941 | m_LocalScale: {x: 1, y: 1, z: 1} 942 | m_Children: [] 943 | m_Father: {fileID: 504073952} 944 | m_RootOrder: 0 945 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 946 | --- !u!43 &1573680623 947 | Mesh: 948 | m_ObjectHideFlags: 0 949 | m_CorrespondingSourceObject: {fileID: 0} 950 | m_PrefabInstance: {fileID: 0} 951 | m_PrefabAsset: {fileID: 0} 952 | m_Name: 953 | serializedVersion: 10 954 | m_SubMeshes: 955 | - serializedVersion: 2 956 | firstByte: 0 957 | indexCount: 312 958 | topology: 0 959 | baseVertex: 0 960 | firstVertex: 0 961 | vertexCount: 106 962 | localAABB: 963 | m_Center: {x: 6.840899, y: -0.1602279, z: 0} 964 | m_Extent: {x: 6.9198833, y: 2.2090092, z: 0} 965 | m_Shapes: 966 | vertices: [] 967 | shapes: [] 968 | channels: [] 969 | fullWeights: [] 970 | m_BindPose: [] 971 | m_BoneNameHashes: 972 | m_RootBoneNameHash: 0 973 | m_BonesAABB: [] 974 | m_VariableBoneCountWeights: 975 | m_Data: 976 | m_MeshCompression: 0 977 | m_IsReadable: 1 978 | m_KeepVertices: 1 979 | m_KeepIndices: 1 980 | m_IndexFormat: 0 981 | m_IndexBuffer: 00000300010000000200030002000500030002000400050004000700050004000600070006000900070006000800090008000b00090008000a000b000a000d000b000a000c000d000c000f000d000c000e000f000e0011000f000e001000110010001300110010001200130012001500130012001400150014001700150014001600170016001900170016001800190018001b00190018001a001b001a001d001b001a001c001d001c001f001d001c001e001f001e0021001f001e002000210020002300210020002200230022002500230022002400250024002700250024002600270026002900270026002800290028002b00290028002a002b002a002d002b002a002c002d002c002f002d002c002e002f002e0031002f002e003000310030003300310030003200330032003500330032003400350034003700350034003600370036003900370036003800390038003b00390038003a003b003a003d003b003a003c003d003c003f003d003c003e003f003e0041003f003e004000410040004300410040004200430042004500430042004400450044004700450044004600470046004900470046004800490048004b00490048004a004b004a004d004b004a004c004d004c004f004d004c004e004f004e0051004f004e005000510050005300510050005200530052005500530052005400550054005700550054005600570056005900570056005800590058005b00590058005a005b005a005d005b005a005c005d005c005f005d005c005e005f005e0061005f005e0060006100600063006100600062006300620065006300620064006500640067006500640066006700660069006700660068006900 982 | m_VertexData: 983 | serializedVersion: 3 984 | m_VertexCount: 106 985 | m_Channels: 986 | - stream: 0 987 | offset: 0 988 | format: 0 989 | dimension: 3 990 | - stream: 0 991 | offset: 0 992 | format: 0 993 | dimension: 0 994 | - stream: 0 995 | offset: 0 996 | format: 0 997 | dimension: 0 998 | - stream: 0 999 | offset: 12 1000 | format: 0 1001 | dimension: 4 1002 | - stream: 0 1003 | offset: 0 1004 | format: 0 1005 | dimension: 0 1006 | - stream: 0 1007 | offset: 0 1008 | format: 0 1009 | dimension: 0 1010 | - stream: 0 1011 | offset: 0 1012 | format: 0 1013 | dimension: 0 1014 | - stream: 0 1015 | offset: 0 1016 | format: 0 1017 | dimension: 0 1018 | - stream: 0 1019 | offset: 0 1020 | format: 0 1021 | dimension: 0 1022 | - stream: 0 1023 | offset: 0 1024 | format: 0 1025 | dimension: 0 1026 | - stream: 0 1027 | offset: 0 1028 | format: 0 1029 | dimension: 0 1030 | - stream: 0 1031 | offset: 0 1032 | format: 0 1033 | dimension: 0 1034 | - stream: 0 1035 | offset: 0 1036 | format: 0 1037 | dimension: 0 1038 | - stream: 0 1039 | offset: 0 1040 | format: 0 1041 | dimension: 0 1042 | m_DataSize: 2968 1043 | _typelessdata: 56c2a1bd9a367b3d000000000000803f0000803f0000803f0000803f56c2a13d9a367bbd000000000000803f0000803f0000803f0000803f023e7f3e3026eb3e000000000000803f0000803f0000803f0000803f1388cc3e188ba73e000000000000803f0000803f0000803f0000803fc89c133fb7cb4e3f000000000000803f0000803f0000803f0000803ff8ad373fa7742a3f000000000000803f0000803f0000803f0000803fad35673f64f08d3f000000000000803f0000803f0000803f0000803f5836843ff0e9743f000000000000803f0000803f0000803f0000803f6c4f9d3f28a9ae3f000000000000803f0000803f0000803f0000803f203cac3f82dc993f000000000000803f0000803f0000803f0000803fd1ecc63f49cec93f000000000000803f0000803f0000803f0000803f09e6d33f93bcb33f000000000000803f0000803f0000803f0000803ff270f03f6d9cdf3f000000000000803f0000803f0000803f0000803f8034fb3f4962c83f000000000000803f0000803f0000803f0000803ff4930240ac95e83f000000000000803f0000803f0000803f0000803f485d074084d7d03f000000000000803f0000803f0000803f0000803f0deb0c40d14ff03f000000000000803f0000803f0000803f0000803fcd151140371bd83f000000000000803f0000803f0000803f0000803f1e3d174090d2f63f000000000000803f0000803f0000803f0000803f5ac41a40da36de3f000000000000803f0000803f0000803f0000803f66892140d225fc3f000000000000803f0000803f0000803f0000803f98692440c433e33f000000000000803f0000803f0000803f0000803f14cf2b40dd280040000000000000803f0000803f0000803f0000803f3c062e400a1be73f000000000000803f0000803f0000803f0000803f4e0d364055af0140000000000000803f0000803f0000803f0000803f069b374085f5e93f000000000000803f0000803f0000803f0000803f3b434040a3aa0240000000000000803f0000803f0000803f0000803fb5284140c3cbeb3f000000000000803f0000803f0000803f0000803f0c704a403c1f0340000000000000803f0000803f0000803f0000803ffeaf4a401da6ec3f000000000000803f0000803f0000803f0000803f7aab5e409d860240000000000000803f0000803f0000803f0000803fd4ad5d404a87eb3f000000000000803f0000803f0000803f0000803fdbba7240ee0a0040000000000000803f0000803f0000803f0000803f7798704003d8e63f000000000000803f0000803f0000803f0000803f974d834083a4f73f000000000000803f0000803f0000803f0000803f07b98140d9d5de3f000000000000803f0000803f0000803f0000803f8a258d405105ec3f000000000000803f0000803f0000803f0000803f961d8b407fbed33f000000000000803f0000803f0000803f0000803f33e596406983dd3f000000000000803f0000803f0000803f0000803f937994408fd0c53f000000000000803f0000803f0000803f0000803fe18ca040a068cc3f000000000000803f0000803f0000803f0000803f49cc9d40004cb53f000000000000803f0000803f0000803f0000803f80dcae402280ae3f000000000000803f0000803f0000803f0000803ffab4ab40d639983f000000000000803f0000803f0000803f0000803f06f9bc40db528c3f000000000000803f0000803f0000803f0000803f9e83b94049916d3f000000000000803f0000803f0000803f0000803fba7ccf406f6b333f000000000000803f0000803f0000803f0000803f10bfcb4071e0093f000000000000803f0000803f0000803f0000803f0fab0441786333bf000000000000803f0000803f0000803f0000803f9db3024168c75bbf000000000000803f0000803f0000803f0000803f106611415270a5bf000000000000803f0000803f0000803f0000803f50920f418e74babf000000000000803f0000803f0000803f0000803f58a519414a48d0bf000000000000803f0000803f0000803f0000803f7e011841b643e6bf000000000000803f0000803f0000803f0000803f33b11f414ae0eabf000000000000803f0000803f0000803f0000803f85431e415be400c0000000000000803f0000803f0000803f0000803f9ca62341837af9bf000000000000803f0000803f0000803f0000803f6c682241c68808c0000000000000803f0000803f0000803f0000803f268c2741cba402c0000000000000803f0000803f0000803f0000803f7a8826419dc80ec0000000000000803f0000803f0000803f0000803ff8602b419a0807c0000000000000803f0000803f0000803f0000803f54a42a41567d13c0000000000000803f0000803f0000803f0000803fee442d4129a008c0000000000000803f0000803f0000803f0000803fc8b02c41ef3615c0000000000000803f0000803f0000803f0000803f96242f4135cc09c0000000000000803f0000803f0000803f0000803f40bc2e41537e16c0000000000000803f0000803f0000803f0000803ffcff30418f890ac0000000000000803f0000803f0000803f0000803fa0c63041514e17c0000000000000803f0000803f0000803f0000803f45d73241ebd40ac0000000000000803f0000803f0000803f0000803fc3cf324195a117c0000000000000803f0000803f0000803f0000803fa8aa3441d4aa0ac0000000000000803f0000803f0000803f0000803f6ad73441bc7217c0000000000000803f0000803f0000803f0000803f707a3641e0070ac0000000000000803f0000803f0000803f0000803f40dd3641c0bc16c0000000000000803f0000803f0000803f0000803ffe46384154e808c0000000000000803f0000803f0000803f0000803fe2e03841cc7a15c0000000000000803f0000803f0000803f0000803fbe103a41124807c0000000000000803f0000803f0000803f0000803fdce13a414ea813c0000000000000803f0000803f0000803f0000803f1fd83b41952205c0000000000000803f0000803f0000803f0000803fb9df3c411b4111c0000000000000803f0000803f0000803f0000803f8d9d3d411b7302c0000000000000803f0000803f0000803f0000803f05da3e4185410ec0000000000000803f0000803f0000803f0000803f69613f41bd68febf000000000000803f0000803f0000803f0000803f59d0404111a60ac0000000000000803f0000803f0000803f0000803fff234141dcc1f6bf000000000000803f0000803f0000803f0000803f63c24241926b06c0000000000000803f0000803f0000803f0000803f83e5424198e6edbf000000000000803f0000803f0000803f0000803fe7af4441148f01c0000000000000803f0000803f0000803f0000803f14a6444198cbe3bf000000000000803f0000803f0000803f0000803fc2984641081bf8bf000000000000803f0000803f0000803f0000803fb9654641d965d8bf000000000000803f0000803f0000803f0000803fe57c4841a7c7ebbf000000000000803f0000803f0000803f0000803f6624484170aacbbf000000000000803f0000803f0000803f0000803f545c4a41701ddebf000000000000803f0000803f0000803f0000803f04e249410a8fbdbf000000000000803f0000803f0000803f0000803f22374c41b615cfbf000000000000803f0000803f0000803f0000803f83594d41b2109dbf000000000000803f0000803f0000803f0000803f4ddf4f41eed0acbf000000000000803f0000803f0000803f0000803ffbca5041543c6dbf000000000000803f0000803f0000803f0000803f6b76534176bb84bf000000000000803f0000803f0000803f0000803f2c35544146df13bf000000000000803f0000803f0000803f0000803f8afd56413a272dbf000000000000803f0000803f0000803f0000803ffa965741bffe35be000000000000803f0000803f0000803f0000803f8e755a41a05288be000000000000803f0000803f0000803f0000803f7a44594121c32b3d000000000000803f0000803f0000803f0000803f2a2c5c4121c72bbd000000000000803f0000803f0000803f0000803f 1044 | m_CompressedMesh: 1045 | m_Vertices: 1046 | m_NumItems: 0 1047 | m_Range: 0 1048 | m_Start: 0 1049 | m_Data: 1050 | m_BitSize: 0 1051 | m_UV: 1052 | m_NumItems: 0 1053 | m_Range: 0 1054 | m_Start: 0 1055 | m_Data: 1056 | m_BitSize: 0 1057 | m_Normals: 1058 | m_NumItems: 0 1059 | m_Range: 0 1060 | m_Start: 0 1061 | m_Data: 1062 | m_BitSize: 0 1063 | m_Tangents: 1064 | m_NumItems: 0 1065 | m_Range: 0 1066 | m_Start: 0 1067 | m_Data: 1068 | m_BitSize: 0 1069 | m_Weights: 1070 | m_NumItems: 0 1071 | m_Data: 1072 | m_BitSize: 0 1073 | m_NormalSigns: 1074 | m_NumItems: 0 1075 | m_Data: 1076 | m_BitSize: 0 1077 | m_TangentSigns: 1078 | m_NumItems: 0 1079 | m_Data: 1080 | m_BitSize: 0 1081 | m_FloatColors: 1082 | m_NumItems: 0 1083 | m_Range: 0 1084 | m_Start: 0 1085 | m_Data: 1086 | m_BitSize: 0 1087 | m_BoneIndices: 1088 | m_NumItems: 0 1089 | m_Data: 1090 | m_BitSize: 0 1091 | m_Triangles: 1092 | m_NumItems: 0 1093 | m_Data: 1094 | m_BitSize: 0 1095 | m_UVInfo: 0 1096 | m_LocalAABB: 1097 | m_Center: {x: 6.840899, y: -0.1602279, z: 0} 1098 | m_Extent: {x: 6.9198833, y: 2.2090092, z: 0} 1099 | m_MeshUsageFlags: 0 1100 | m_BakedConvexCollisionMesh: 1101 | m_BakedTriangleCollisionMesh: 1102 | m_MeshMetrics[0]: 1 1103 | m_MeshMetrics[1]: 1 1104 | m_MeshOptimizationFlags: 1 1105 | m_StreamData: 1106 | offset: 0 1107 | size: 0 1108 | path: 1109 | --- !u!1 &1691728569 1110 | GameObject: 1111 | m_ObjectHideFlags: 0 1112 | m_CorrespondingSourceObject: {fileID: 0} 1113 | m_PrefabInstance: {fileID: 0} 1114 | m_PrefabAsset: {fileID: 0} 1115 | serializedVersion: 6 1116 | m_Component: 1117 | - component: {fileID: 1691728570} 1118 | m_Layer: 0 1119 | m_Name: CtrlPt1 1120 | m_TagString: Untagged 1121 | m_Icon: {fileID: 0} 1122 | m_NavMeshLayer: 0 1123 | m_StaticEditorFlags: 0 1124 | m_IsActive: 1 1125 | --- !u!4 &1691728570 1126 | Transform: 1127 | m_ObjectHideFlags: 0 1128 | m_CorrespondingSourceObject: {fileID: 0} 1129 | m_PrefabInstance: {fileID: 0} 1130 | m_PrefabAsset: {fileID: 0} 1131 | m_GameObject: {fileID: 1691728569} 1132 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1133 | m_LocalPosition: {x: 5.42, y: 6.98, z: 0} 1134 | m_LocalScale: {x: 1, y: 1, z: 1} 1135 | m_Children: [] 1136 | m_Father: {fileID: 96410147} 1137 | m_RootOrder: 1 1138 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1139 | --- !u!1 &2002341190 1140 | GameObject: 1141 | m_ObjectHideFlags: 0 1142 | m_CorrespondingSourceObject: {fileID: 0} 1143 | m_PrefabInstance: {fileID: 0} 1144 | m_PrefabAsset: {fileID: 0} 1145 | serializedVersion: 6 1146 | m_Component: 1147 | - component: {fileID: 2002341191} 1148 | m_Layer: 0 1149 | m_Name: End 1150 | m_TagString: Untagged 1151 | m_Icon: {fileID: 0} 1152 | m_NavMeshLayer: 0 1153 | m_StaticEditorFlags: 0 1154 | m_IsActive: 1 1155 | --- !u!4 &2002341191 1156 | Transform: 1157 | m_ObjectHideFlags: 0 1158 | m_CorrespondingSourceObject: {fileID: 0} 1159 | m_PrefabInstance: {fileID: 0} 1160 | m_PrefabAsset: {fileID: 0} 1161 | m_GameObject: {fileID: 2002341190} 1162 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1163 | m_LocalPosition: {x: 13.67, y: 0, z: 0} 1164 | m_LocalScale: {x: 1, y: 1, z: 1} 1165 | m_Children: [] 1166 | m_Father: {fileID: 96410147} 1167 | m_RootOrder: 3 1168 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1169 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/RuntimeDemo.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64a21dae214914fda98b34183f32f849 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/RuntimeGradient.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using Unity.VectorGraphics; 6 | 7 | public class RuntimeGradient : MonoBehaviour 8 | { 9 | void Start() 10 | { 11 | var tessOptions = new VectorUtils.TessellationOptions() { 12 | StepDistance = 100.0f, 13 | MaxCordDeviation = 0.5f, 14 | MaxTanAngleDeviation = 0.1f, 15 | SamplingStepSize = 0.01f 16 | }; 17 | 18 | // Prepare the fill 19 | var fill = new GradientFill() { 20 | Type = GradientFillType.Linear, 21 | Stops = new GradientStop[] { 22 | new GradientStop() { Color = Color.blue, StopPercentage = 0.0f }, 23 | new GradientStop() { Color = Color.red, StopPercentage = 1.0f }, 24 | } 25 | }; 26 | 27 | // Build the scene 28 | var cornerRad = new Vector2(10,10); 29 | var rect = VectorUtils.BuildRectangleContour(new Rect(0, 0, 100, 100), cornerRad, cornerRad, cornerRad, cornerRad); 30 | var scene = new Scene() { 31 | Root = new SceneNode() { 32 | Shapes = new List { 33 | new Shape() { 34 | Contours = new BezierContour[] { rect }, 35 | Fill = fill 36 | } 37 | } 38 | } 39 | }; 40 | 41 | // Dynamically import the SVG data, and tessellate the resulting vector scene. 42 | var geoms = VectorUtils.TessellateScene(scene, tessOptions); 43 | 44 | // Build a sprite with the tessellated geometry. 45 | var sprite = VectorUtils.BuildSprite(geoms, 10.0f, VectorUtils.Alignment.Center, Vector2.zero, 16, true); 46 | GetComponent().sprite = sprite; 47 | } 48 | 49 | void OnDisable() 50 | { 51 | GameObject.Destroy(GetComponent().sprite); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/RuntimeGradient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29400f2ff1dfeec41ad583720a021183 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/SVGRuntimeLoad.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using Unity.VectorGraphics; 6 | 7 | public class SVGRuntimeLoad : MonoBehaviour 8 | { 9 | void Start() 10 | { 11 | string svg = 12 | @" 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | "; 26 | 27 | var tessOptions = new VectorUtils.TessellationOptions() { 28 | StepDistance = 100.0f, 29 | MaxCordDeviation = 0.5f, 30 | MaxTanAngleDeviation = 0.1f, 31 | SamplingStepSize = 0.01f 32 | }; 33 | 34 | // Dynamically import the SVG data, and tessellate the resulting vector scene. 35 | var sceneInfo = SVGParser.ImportSVG(new StringReader(svg)); 36 | var geoms = VectorUtils.TessellateScene(sceneInfo.Scene, tessOptions); 37 | 38 | // Build a sprite with the tessellated geometry. 39 | var sprite = VectorUtils.BuildSprite(geoms, 10.0f, VectorUtils.Alignment.Center, Vector2.zero, 128, true); 40 | GetComponent().sprite = sprite; 41 | } 42 | 43 | void OnDisable() 44 | { 45 | GameObject.Destroy(GetComponent().sprite); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/SVGRuntimeLoad.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6c9035c8d7a1456280881135e09c4ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/ShapeClipper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.IO; 5 | using UnityEngine; 6 | using Unity.VectorGraphics; 7 | 8 | [ExecuteInEditMode] 9 | public class ShapeClipper : MonoBehaviour 10 | { 11 | public Transform clipperPosition; 12 | public float borderWidth = 1.0f; 13 | public bool clip; 14 | 15 | private Scene m_Scene; 16 | private Shape m_Rectangle; 17 | private SceneNode m_Clipper; 18 | private VectorUtils.TessellationOptions m_Options; 19 | private VectorUtils.TextureAtlas m_TexAtlas; 20 | private Mesh m_Mesh; 21 | 22 | void OnEnable() 23 | { 24 | // Build the vector scene, which consist of a rectangle, clipped by a circle. 25 | var circle = new Shape(); 26 | VectorUtils.MakeCircleShape(circle, Vector2.zero, 4.0f); 27 | m_Clipper = new SceneNode() 28 | { 29 | Transform = Matrix2D.identity, 30 | Shapes = new List { circle } 31 | }; 32 | 33 | m_Rectangle = new Shape(); 34 | VectorUtils.MakeRectangleShape(m_Rectangle, new Rect(0, 0, 10, 10)); 35 | m_Rectangle.Fill = new SolidFill() { Color = Color.blue }; 36 | m_Rectangle.PathProps = new PathProperties() { 37 | Stroke = new Stroke() { Color = Color.red } 38 | }; 39 | 40 | m_Scene = new Scene() { 41 | Root = new SceneNode() { Shapes = new List { m_Rectangle } } 42 | }; 43 | 44 | m_Options = new VectorUtils.TessellationOptions() 45 | { 46 | StepDistance = 1.0f, 47 | MaxCordDeviation = float.MaxValue, 48 | MaxTanAngleDeviation = Mathf.PI / 2.0f, 49 | SamplingStepSize = 0.01f 50 | }; 51 | 52 | m_Mesh = new Mesh(); 53 | GetComponent().mesh = m_Mesh; 54 | } 55 | 56 | void Update() 57 | { 58 | // Update the thickness and clipper 59 | m_Rectangle.PathProps.Stroke.HalfThickness = borderWidth / 2; 60 | m_Scene.Root.Clipper = clip ? m_Clipper : null; 61 | 62 | // Move the clipper position 63 | m_Clipper.Transform = Matrix2D.Translate(clipperPosition.transform.localPosition); 64 | 65 | // Tessellate the vector scene 66 | var geoms = VectorUtils.TessellateScene(m_Scene, m_Options); 67 | VectorUtils.FillMesh(m_Mesh, geoms, 1.0f); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/ShapeClipper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae853bcbf9bef4baabc2100f7da72e40 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Spline.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using UnityEngine; 5 | using Unity.VectorGraphics; 6 | 7 | [ExecuteInEditMode] 8 | public class Spline : MonoBehaviour 9 | { 10 | public Transform[] controlPoints; 11 | 12 | private Scene m_Scene; 13 | private Shape m_Path; 14 | private VectorUtils.TessellationOptions m_Options; 15 | private Mesh m_Mesh; 16 | 17 | void Start() 18 | { 19 | // Prepare the vector path, add it to the vector scene. 20 | m_Path = new Shape() { 21 | Contours = new BezierContour[]{ new BezierContour() { Segments = new BezierPathSegment[2] } }, 22 | PathProps = new PathProperties() { 23 | Stroke = new Stroke() { Color = Color.white, HalfThickness = 0.1f } 24 | } 25 | }; 26 | 27 | m_Scene = new Scene() { 28 | Root = new SceneNode() { Shapes = new List { m_Path } } 29 | }; 30 | 31 | m_Options = new VectorUtils.TessellationOptions() { 32 | StepDistance = 1000.0f, 33 | MaxCordDeviation = 0.05f, 34 | MaxTanAngleDeviation = 0.05f, 35 | SamplingStepSize = 0.01f 36 | }; 37 | 38 | // Instantiate a new mesh, it will be filled with data in Update() 39 | m_Mesh = new Mesh(); 40 | GetComponent().mesh = m_Mesh; 41 | } 42 | 43 | void Update() 44 | { 45 | if (m_Scene == null) 46 | Start(); 47 | 48 | // Update the control points of the spline. 49 | m_Path.Contours[0].Segments[0].P0 = (Vector2)controlPoints[0].localPosition; 50 | m_Path.Contours[0].Segments[0].P1 = (Vector2)controlPoints[1].localPosition; 51 | m_Path.Contours[0].Segments[0].P2 = (Vector2)controlPoints[2].localPosition; 52 | m_Path.Contours[0].Segments[1].P0 = (Vector2)controlPoints[3].localPosition; 53 | 54 | // Tessellate the vector scene, and fill the mesh with the resulting geometry. 55 | var geoms = VectorUtils.TessellateScene(m_Scene, m_Options); 56 | VectorUtils.FillMesh(m_Mesh, geoms, 1.0f); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/RuntimeDemo/Spline.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec25f61824cb749c5ae0faff2e64cf16 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/SVGDemo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4eca9db9b354543c69017f37c5b4c8a1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SVGDemo/DemoSVG.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 500 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 2 83 | m_PVRDenoiserTypeDirect: 0 84 | m_PVRDenoiserTypeIndirect: 0 85 | m_PVRDenoiserTypeAO: 0 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 0 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightingDataAsset: {fileID: 0} 100 | m_UseShadowmask: 1 101 | --- !u!196 &4 102 | NavMeshSettings: 103 | serializedVersion: 2 104 | m_ObjectHideFlags: 0 105 | m_BuildSettings: 106 | serializedVersion: 2 107 | agentTypeID: 0 108 | agentRadius: 0.5 109 | agentHeight: 2 110 | agentSlope: 45 111 | agentClimb: 0.4 112 | ledgeDropHeight: 0 113 | maxJumpAcrossDistance: 0 114 | minRegionArea: 2 115 | manualCellSize: 0 116 | cellSize: 0.16666667 117 | manualTileSize: 0 118 | tileSize: 256 119 | accuratePlacement: 0 120 | debug: 121 | m_Flags: 0 122 | m_NavMeshData: {fileID: 0} 123 | --- !u!1 &621722491 124 | GameObject: 125 | m_ObjectHideFlags: 0 126 | m_CorrespondingSourceObject: {fileID: 0} 127 | m_PrefabInstance: {fileID: 0} 128 | m_PrefabAsset: {fileID: 0} 129 | serializedVersion: 6 130 | m_Component: 131 | - component: {fileID: 621722495} 132 | - component: {fileID: 621722494} 133 | - component: {fileID: 621722493} 134 | - component: {fileID: 621722492} 135 | m_Layer: 0 136 | m_Name: Main Camera 137 | m_TagString: MainCamera 138 | m_Icon: {fileID: 0} 139 | m_NavMeshLayer: 0 140 | m_StaticEditorFlags: 0 141 | m_IsActive: 1 142 | --- !u!81 &621722492 143 | AudioListener: 144 | m_ObjectHideFlags: 0 145 | m_CorrespondingSourceObject: {fileID: 0} 146 | m_PrefabInstance: {fileID: 0} 147 | m_PrefabAsset: {fileID: 0} 148 | m_GameObject: {fileID: 621722491} 149 | m_Enabled: 1 150 | --- !u!124 &621722493 151 | Behaviour: 152 | m_ObjectHideFlags: 0 153 | m_CorrespondingSourceObject: {fileID: 0} 154 | m_PrefabInstance: {fileID: 0} 155 | m_PrefabAsset: {fileID: 0} 156 | m_GameObject: {fileID: 621722491} 157 | m_Enabled: 1 158 | --- !u!20 &621722494 159 | Camera: 160 | m_ObjectHideFlags: 0 161 | m_CorrespondingSourceObject: {fileID: 0} 162 | m_PrefabInstance: {fileID: 0} 163 | m_PrefabAsset: {fileID: 0} 164 | m_GameObject: {fileID: 621722491} 165 | m_Enabled: 1 166 | serializedVersion: 2 167 | m_ClearFlags: 1 168 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 169 | m_projectionMatrixMode: 1 170 | m_GateFitMode: 2 171 | m_FOVAxisMode: 0 172 | m_SensorSize: {x: 36, y: 24} 173 | m_LensShift: {x: 0, y: 0} 174 | m_FocalLength: 50 175 | m_NormalizedViewPortRect: 176 | serializedVersion: 2 177 | x: 0 178 | y: 0 179 | width: 1 180 | height: 1 181 | near clip plane: 0.3 182 | far clip plane: 1000 183 | field of view: 60 184 | orthographic: 0 185 | orthographic size: 5 186 | m_Depth: -1 187 | m_CullingMask: 188 | serializedVersion: 2 189 | m_Bits: 4294967295 190 | m_RenderingPath: -1 191 | m_TargetTexture: {fileID: 0} 192 | m_TargetDisplay: 0 193 | m_TargetEye: 3 194 | m_HDR: 1 195 | m_AllowMSAA: 1 196 | m_AllowDynamicResolution: 0 197 | m_ForceIntoRT: 0 198 | m_OcclusionCulling: 1 199 | m_StereoConvergence: 10 200 | m_StereoSeparation: 0.022 201 | --- !u!4 &621722495 202 | Transform: 203 | m_ObjectHideFlags: 0 204 | m_CorrespondingSourceObject: {fileID: 0} 205 | m_PrefabInstance: {fileID: 0} 206 | m_PrefabAsset: {fileID: 0} 207 | m_GameObject: {fileID: 621722491} 208 | m_LocalRotation: {x: -0.053590573, y: -0.15898785, z: 0.008643135, w: -0.9857871} 209 | m_LocalPosition: {x: -6.6205106, y: 2.9766617, z: -19.01} 210 | m_LocalScale: {x: 1, y: 1, z: 1} 211 | m_Children: [] 212 | m_Father: {fileID: 0} 213 | m_RootOrder: 0 214 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 215 | --- !u!1001 &849985586 216 | PrefabInstance: 217 | m_ObjectHideFlags: 0 218 | serializedVersion: 2 219 | m_Modification: 220 | m_TransformParent: {fileID: 0} 221 | m_Modifications: 222 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 223 | propertyPath: m_LocalPosition.x 224 | value: -8.73 225 | objectReference: {fileID: 0} 226 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 227 | propertyPath: m_LocalPosition.y 228 | value: 0 229 | objectReference: {fileID: 0} 230 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 231 | propertyPath: m_LocalPosition.z 232 | value: 0 233 | objectReference: {fileID: 0} 234 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 235 | propertyPath: m_LocalRotation.x 236 | value: 0 237 | objectReference: {fileID: 0} 238 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 239 | propertyPath: m_LocalRotation.y 240 | value: 0 241 | objectReference: {fileID: 0} 242 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 243 | propertyPath: m_LocalRotation.z 244 | value: 0 245 | objectReference: {fileID: 0} 246 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 247 | propertyPath: m_LocalRotation.w 248 | value: 1 249 | objectReference: {fileID: 0} 250 | - target: {fileID: 400000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 251 | propertyPath: m_RootOrder 252 | value: 2 253 | objectReference: {fileID: 0} 254 | m_RemovedComponents: [] 255 | m_SourcePrefab: {fileID: 100100000, guid: 4a9256e904574435aa02228102eba98b, type: 3} 256 | --- !u!1001 &1024669944 257 | PrefabInstance: 258 | m_ObjectHideFlags: 0 259 | serializedVersion: 2 260 | m_Modification: 261 | m_TransformParent: {fileID: 0} 262 | m_Modifications: 263 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 264 | propertyPath: m_LocalPosition.x 265 | value: 8.77 266 | objectReference: {fileID: 0} 267 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 268 | propertyPath: m_LocalPosition.y 269 | value: 0 270 | objectReference: {fileID: 0} 271 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 272 | propertyPath: m_LocalPosition.z 273 | value: 0 274 | objectReference: {fileID: 0} 275 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 276 | propertyPath: m_LocalRotation.x 277 | value: 0 278 | objectReference: {fileID: 0} 279 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 280 | propertyPath: m_LocalRotation.y 281 | value: 0 282 | objectReference: {fileID: 0} 283 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 284 | propertyPath: m_LocalRotation.z 285 | value: 0 286 | objectReference: {fileID: 0} 287 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 288 | propertyPath: m_LocalRotation.w 289 | value: 1 290 | objectReference: {fileID: 0} 291 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 292 | propertyPath: m_RootOrder 293 | value: 4 294 | objectReference: {fileID: 0} 295 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 296 | propertyPath: m_LocalScale.x 297 | value: 2 298 | objectReference: {fileID: 0} 299 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 300 | propertyPath: m_LocalScale.y 301 | value: 2 302 | objectReference: {fileID: 0} 303 | - target: {fileID: 400002, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 304 | propertyPath: m_LocalScale.z 305 | value: 2 306 | objectReference: {fileID: 0} 307 | m_RemovedComponents: [] 308 | m_SourcePrefab: {fileID: 100100000, guid: 0e6566c305f454635a11c319b09a8358, type: 3} 309 | --- !u!1 &1103293152 310 | GameObject: 311 | m_ObjectHideFlags: 0 312 | m_CorrespondingSourceObject: {fileID: 0} 313 | m_PrefabInstance: {fileID: 0} 314 | m_PrefabAsset: {fileID: 0} 315 | serializedVersion: 6 316 | m_Component: 317 | - component: {fileID: 1103293154} 318 | - component: {fileID: 1103293153} 319 | m_Layer: 0 320 | m_Name: Directional Light 321 | m_TagString: Untagged 322 | m_Icon: {fileID: 0} 323 | m_NavMeshLayer: 0 324 | m_StaticEditorFlags: 0 325 | m_IsActive: 1 326 | --- !u!108 &1103293153 327 | Light: 328 | m_ObjectHideFlags: 0 329 | m_CorrespondingSourceObject: {fileID: 0} 330 | m_PrefabInstance: {fileID: 0} 331 | m_PrefabAsset: {fileID: 0} 332 | m_GameObject: {fileID: 1103293152} 333 | m_Enabled: 1 334 | serializedVersion: 9 335 | m_Type: 1 336 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 337 | m_Intensity: 1 338 | m_Range: 10 339 | m_SpotAngle: 30 340 | m_InnerSpotAngle: 21.80208 341 | m_CookieSize: 10 342 | m_Shadows: 343 | m_Type: 2 344 | m_Resolution: -1 345 | m_CustomResolution: -1 346 | m_Strength: 1 347 | m_Bias: 0.05 348 | m_NormalBias: 0.4 349 | m_NearPlane: 0.2 350 | m_CullingMatrixOverride: 351 | e00: 1 352 | e01: 0 353 | e02: 0 354 | e03: 0 355 | e10: 0 356 | e11: 1 357 | e12: 0 358 | e13: 0 359 | e20: 0 360 | e21: 0 361 | e22: 1 362 | e23: 0 363 | e30: 0 364 | e31: 0 365 | e32: 0 366 | e33: 1 367 | m_UseCullingMatrixOverride: 0 368 | m_Cookie: {fileID: 0} 369 | m_DrawHalo: 0 370 | m_Flare: {fileID: 0} 371 | m_RenderMode: 0 372 | m_CullingMask: 373 | serializedVersion: 2 374 | m_Bits: 4294967295 375 | m_RenderingLayerMask: 1 376 | m_Lightmapping: 4 377 | m_LightShadowCasterMode: 0 378 | m_AreaSize: {x: 1, y: 1} 379 | m_BounceIntensity: 1 380 | m_ColorTemperature: 6570 381 | m_UseColorTemperature: 0 382 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 383 | m_UseBoundingSphereOverride: 0 384 | m_ShadowRadius: 0 385 | m_ShadowAngle: 0 386 | --- !u!4 &1103293154 387 | Transform: 388 | m_ObjectHideFlags: 0 389 | m_CorrespondingSourceObject: {fileID: 0} 390 | m_PrefabInstance: {fileID: 0} 391 | m_PrefabAsset: {fileID: 0} 392 | m_GameObject: {fileID: 1103293152} 393 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 394 | m_LocalPosition: {x: 0, y: 3, z: 0} 395 | m_LocalScale: {x: 1, y: 1, z: 1} 396 | m_Children: [] 397 | m_Father: {fileID: 0} 398 | m_RootOrder: 1 399 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 400 | --- !u!1001 &1435360636 401 | PrefabInstance: 402 | m_ObjectHideFlags: 0 403 | serializedVersion: 2 404 | m_Modification: 405 | m_TransformParent: {fileID: 0} 406 | m_Modifications: 407 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 408 | propertyPath: m_LocalPosition.x 409 | value: 0 410 | objectReference: {fileID: 0} 411 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 412 | propertyPath: m_LocalPosition.y 413 | value: 0 414 | objectReference: {fileID: 0} 415 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 416 | propertyPath: m_LocalPosition.z 417 | value: 0 418 | objectReference: {fileID: 0} 419 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 420 | propertyPath: m_LocalRotation.x 421 | value: 0 422 | objectReference: {fileID: 0} 423 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 424 | propertyPath: m_LocalRotation.y 425 | value: 0 426 | objectReference: {fileID: 0} 427 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 428 | propertyPath: m_LocalRotation.z 429 | value: 0 430 | objectReference: {fileID: 0} 431 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 432 | propertyPath: m_LocalRotation.w 433 | value: 1 434 | objectReference: {fileID: 0} 435 | - target: {fileID: 400000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 436 | propertyPath: m_RootOrder 437 | value: 3 438 | objectReference: {fileID: 0} 439 | m_RemovedComponents: [] 440 | m_SourcePrefab: {fileID: 100100000, guid: 98eb654e97b9943faa3d5354c177a2a9, type: 3} 441 | --- !u!1001 &1618020709 442 | PrefabInstance: 443 | m_ObjectHideFlags: 0 444 | serializedVersion: 2 445 | m_Modification: 446 | m_TransformParent: {fileID: 0} 447 | m_Modifications: 448 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 449 | propertyPath: m_LocalPosition.x 450 | value: -18.92 451 | objectReference: {fileID: 0} 452 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 453 | propertyPath: m_LocalPosition.y 454 | value: 0 455 | objectReference: {fileID: 0} 456 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 457 | propertyPath: m_LocalPosition.z 458 | value: 0 459 | objectReference: {fileID: 0} 460 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 461 | propertyPath: m_LocalRotation.x 462 | value: 0 463 | objectReference: {fileID: 0} 464 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 465 | propertyPath: m_LocalRotation.y 466 | value: 0 467 | objectReference: {fileID: 0} 468 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 469 | propertyPath: m_LocalRotation.z 470 | value: 0 471 | objectReference: {fileID: 0} 472 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 473 | propertyPath: m_LocalRotation.w 474 | value: 1 475 | objectReference: {fileID: 0} 476 | - target: {fileID: 400000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 477 | propertyPath: m_RootOrder 478 | value: 6 479 | objectReference: {fileID: 0} 480 | m_RemovedComponents: [] 481 | m_SourcePrefab: {fileID: 100100000, guid: ea88430d3c0de432cb6d764081e722c8, type: 3} 482 | --- !u!1001 &1691955369 483 | PrefabInstance: 484 | m_ObjectHideFlags: 0 485 | serializedVersion: 2 486 | m_Modification: 487 | m_TransformParent: {fileID: 0} 488 | m_Modifications: 489 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 490 | propertyPath: m_LocalPosition.x 491 | value: 16.69 492 | objectReference: {fileID: 0} 493 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 494 | propertyPath: m_LocalPosition.y 495 | value: 0 496 | objectReference: {fileID: 0} 497 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 498 | propertyPath: m_LocalPosition.z 499 | value: 0 500 | objectReference: {fileID: 0} 501 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 502 | propertyPath: m_LocalRotation.x 503 | value: 0 504 | objectReference: {fileID: 0} 505 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 506 | propertyPath: m_LocalRotation.y 507 | value: 0 508 | objectReference: {fileID: 0} 509 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 510 | propertyPath: m_LocalRotation.z 511 | value: 0 512 | objectReference: {fileID: 0} 513 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 514 | propertyPath: m_LocalRotation.w 515 | value: 1 516 | objectReference: {fileID: 0} 517 | - target: {fileID: 400000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 518 | propertyPath: m_RootOrder 519 | value: 5 520 | objectReference: {fileID: 0} 521 | m_RemovedComponents: [] 522 | m_SourcePrefab: {fileID: 100100000, guid: 2d0c32881f2cf4e72a16f0ec34822026, type: 3} 523 | -------------------------------------------------------------------------------- /Assets/SVGDemo/DemoSVG.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5648d89e59c884bbe8c782176849aad0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/SVGDemo/ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example arcs01 - arc commands in path data 7 | Picture of a pie chart with two pie wedges and 8 | a picture of a line with arc blips 9 | 11 | 12 | 14 | 16 | 17 | 21 | 22 | 28 | 29 | -------------------------------------------------------------------------------- /Assets/SVGDemo/ellipse.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a9256e904574435aa02228102eba98b 3 | ScriptedImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 1: 100000 7 | second: gameObject/ellipse 8 | - first: 9 | 4: 400000 10 | second: gameObject/ellipse/Transform 11 | - first: 12 | 212: 21200000 13 | second: gameObject/ellipse/SpriteRenderer 14 | - first: 15 | 213: 21300000 16 | second: sprite 17 | - first: 18 | 1001: 100100000 19 | second: gameObject 20 | externalObjects: {} 21 | serializedVersion: 2 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} 26 | svgType: 0 27 | texturedSpriteMeshType: 0 28 | svgPixelsPerUnit: 100 29 | gradientResolution: 128 30 | alignment: 0 31 | customPivot: {x: 0, y: 0} 32 | generatePhysicsShape: 0 33 | viewportOptions: 0 34 | preserveViewport: 0 35 | advancedMode: 0 36 | predefinedResolutionIndex: 1 37 | targetResolution: 1080 38 | resolutionMultiplier: 1 39 | stepDistance: 10 40 | samplingStepDistance: 100 41 | maxCordDeviationEnabled: 0 42 | maxCordDeviation: 1 43 | maxTangentAngleEnabled: 0 44 | maxTangentAngle: 5 45 | keepTextureAspectRatio: 1 46 | textureSize: 256 47 | textureWidth: 256 48 | textureHeight: 256 49 | wrapMode: 0 50 | filterMode: 1 51 | sampleCount: 4 52 | preserveSVGImageAspect: 0 53 | useSVGPixelsPerUnit: 0 54 | spriteData: 55 | TessellationDetail: 0 56 | SpriteRect: 57 | name: 58 | originalName: 59 | pivot: {x: 0, y: 0} 60 | alignment: 0 61 | border: {x: 0, y: 0, z: 0, w: 0} 62 | rect: 63 | serializedVersion: 2 64 | x: 0 65 | y: 0 66 | width: 0 67 | height: 0 68 | spriteID: 2fcce2b0f47df534bab785a52b45c120 69 | internalID: 0 70 | PhysicsOutlines: [] 71 | -------------------------------------------------------------------------------- /Assets/SVGDemo/gradient-addressing.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Assets/SVGDemo/gradient-addressing.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6566c305f454635a11c319b09a8358 3 | ScriptedImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 1: 100002 7 | second: gameObject/gradient-addressing 8 | - first: 9 | 4: 400002 10 | second: gameObject/gradient-addressing/Transform 11 | - first: 12 | 28: 2800000 13 | second: texAtlas 14 | - first: 15 | 212: 21200002 16 | second: gameObject/gradient-addressing/SpriteRenderer 17 | - first: 18 | 213: 21300000 19 | second: sprite 20 | - first: 21 | 1001: 100100000 22 | second: gameObject 23 | externalObjects: {} 24 | serializedVersion: 2 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} 29 | svgType: 0 30 | texturedSpriteMeshType: 0 31 | svgPixelsPerUnit: 100 32 | gradientResolution: 128 33 | alignment: 0 34 | customPivot: {x: 0, y: 0} 35 | generatePhysicsShape: 0 36 | viewportOptions: 0 37 | preserveViewport: 0 38 | advancedMode: 0 39 | predefinedResolutionIndex: 1 40 | targetResolution: 1080 41 | resolutionMultiplier: 1 42 | stepDistance: 10 43 | samplingStepDistance: 100 44 | maxCordDeviationEnabled: 0 45 | maxCordDeviation: 1 46 | maxTangentAngleEnabled: 0 47 | maxTangentAngle: 5 48 | keepTextureAspectRatio: 1 49 | textureSize: 256 50 | textureWidth: 256 51 | textureHeight: 256 52 | wrapMode: 0 53 | filterMode: 1 54 | sampleCount: 4 55 | preserveSVGImageAspect: 0 56 | useSVGPixelsPerUnit: 0 57 | spriteData: 58 | TessellationDetail: 0 59 | SpriteRect: 60 | name: 61 | originalName: 62 | pivot: {x: 0, y: 0} 63 | alignment: 0 64 | border: {x: 0, y: 0, z: 0, w: 0} 65 | rect: 66 | serializedVersion: 2 67 | x: 0 68 | y: 0 69 | width: 0 70 | height: 0 71 | spriteID: a882513e16d89449ab9068204434a64d 72 | internalID: 0 73 | PhysicsOutlines: [] 74 | -------------------------------------------------------------------------------- /Assets/SVGDemo/gradient-linear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Assets/SVGDemo/gradient-linear.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d0c32881f2cf4e72a16f0ec34822026 3 | ScriptedImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 1: 100000 7 | second: gameObject/gradient-linear 8 | - first: 9 | 4: 400000 10 | second: gameObject/gradient-linear/Transform 11 | - first: 12 | 28: 2800000 13 | second: texAtlas 14 | - first: 15 | 212: 21200000 16 | second: gameObject/gradient-linear/SpriteRenderer 17 | - first: 18 | 213: 21300000 19 | second: sprite 20 | - first: 21 | 1001: 100100000 22 | second: gameObject 23 | externalObjects: {} 24 | serializedVersion: 2 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} 29 | svgType: 0 30 | texturedSpriteMeshType: 0 31 | svgPixelsPerUnit: 100 32 | gradientResolution: 128 33 | alignment: 0 34 | customPivot: {x: 0, y: 0} 35 | generatePhysicsShape: 0 36 | viewportOptions: 0 37 | preserveViewport: 0 38 | advancedMode: 0 39 | predefinedResolutionIndex: 1 40 | targetResolution: 1080 41 | resolutionMultiplier: 1 42 | stepDistance: 10 43 | samplingStepDistance: 100 44 | maxCordDeviationEnabled: 0 45 | maxCordDeviation: 1 46 | maxTangentAngleEnabled: 0 47 | maxTangentAngle: 5 48 | keepTextureAspectRatio: 1 49 | textureSize: 256 50 | textureWidth: 256 51 | textureHeight: 256 52 | wrapMode: 0 53 | filterMode: 1 54 | sampleCount: 4 55 | preserveSVGImageAspect: 0 56 | useSVGPixelsPerUnit: 0 57 | spriteData: 58 | TessellationDetail: 0 59 | SpriteRect: 60 | name: 61 | originalName: 62 | pivot: {x: 0, y: 0} 63 | alignment: 0 64 | border: {x: 0, y: 0, z: 0, w: 0} 65 | rect: 66 | serializedVersion: 2 67 | x: 0 68 | y: 0 69 | width: 0 70 | height: 0 71 | spriteID: 1031b986574824d56ac72cc9fa332d68 72 | internalID: 0 73 | PhysicsOutlines: [] 74 | -------------------------------------------------------------------------------- /Assets/SVGDemo/pattern.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Assets/SVGDemo/pattern.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea88430d3c0de432cb6d764081e722c8 3 | ScriptedImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 1: 100000 7 | second: gameObject/pattern 8 | - first: 9 | 4: 400000 10 | second: gameObject/pattern/Transform 11 | - first: 12 | 212: 21200000 13 | second: gameObject/pattern/SpriteRenderer 14 | - first: 15 | 213: 21300000 16 | second: sprite 17 | - first: 18 | 1001: 100100000 19 | second: gameObject 20 | externalObjects: {} 21 | serializedVersion: 2 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} 26 | svgType: 0 27 | texturedSpriteMeshType: 0 28 | svgPixelsPerUnit: 100 29 | gradientResolution: 128 30 | alignment: 0 31 | customPivot: {x: 0, y: 0} 32 | generatePhysicsShape: 0 33 | viewportOptions: 0 34 | preserveViewport: 0 35 | advancedMode: 0 36 | predefinedResolutionIndex: 1 37 | targetResolution: 1080 38 | resolutionMultiplier: 1 39 | stepDistance: 10 40 | samplingStepDistance: 100 41 | maxCordDeviationEnabled: 0 42 | maxCordDeviation: 1 43 | maxTangentAngleEnabled: 0 44 | maxTangentAngle: 5 45 | keepTextureAspectRatio: 1 46 | textureSize: 256 47 | textureWidth: 256 48 | textureHeight: 256 49 | wrapMode: 0 50 | filterMode: 1 51 | sampleCount: 4 52 | preserveSVGImageAspect: 0 53 | useSVGPixelsPerUnit: 0 54 | spriteData: 55 | TessellationDetail: 0.23 56 | SpriteRect: 57 | name: patternSprite 58 | originalName: 59 | pivot: {x: 0.5, y: 0.5} 60 | alignment: 0 61 | border: {x: 0, y: 0, z: 0, w: 0} 62 | rect: 63 | serializedVersion: 2 64 | x: 0 65 | y: 0 66 | width: 710 67 | height: 310 68 | spriteID: d37c5f0ba9dd248ec95c1c8992b86bc1 69 | internalID: 0 70 | PhysicsOutlines: 71 | - Vertices: [] 72 | - Vertices: [] 73 | - Vertices: [] 74 | - Vertices: [] 75 | - Vertices: [] 76 | - Vertices: [] 77 | - Vertices: [] 78 | - Vertices: [] 79 | - Vertices: [] 80 | - Vertices: [] 81 | - Vertices: [] 82 | - Vertices: [] 83 | - Vertices: [] 84 | - Vertices: [] 85 | - Vertices: [] 86 | -------------------------------------------------------------------------------- /Assets/SVGDemo/tiger.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98eb654e97b9943faa3d5354c177a2a9 3 | ScriptedImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 1: 100000 7 | second: gameObject/tiger 8 | - first: 9 | 4: 400000 10 | second: gameObject/tiger/Transform 11 | - first: 12 | 212: 21200000 13 | second: gameObject/tiger/SpriteRenderer 14 | - first: 15 | 213: 21300000 16 | second: sprite 17 | - first: 18 | 1001: 100100000 19 | second: gameObject 20 | externalObjects: {} 21 | serializedVersion: 2 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} 26 | svgType: 0 27 | texturedSpriteMeshType: 0 28 | svgPixelsPerUnit: 100 29 | gradientResolution: 128 30 | alignment: 0 31 | customPivot: {x: 0, y: 0} 32 | generatePhysicsShape: 0 33 | viewportOptions: 0 34 | preserveViewport: 0 35 | advancedMode: 0 36 | predefinedResolutionIndex: 1 37 | targetResolution: 1080 38 | resolutionMultiplier: 1 39 | stepDistance: 10 40 | samplingStepDistance: 100 41 | maxCordDeviationEnabled: 0 42 | maxCordDeviation: 1 43 | maxTangentAngleEnabled: 0 44 | maxTangentAngle: 5 45 | keepTextureAspectRatio: 1 46 | textureSize: 256 47 | textureWidth: 256 48 | textureHeight: 256 49 | wrapMode: 0 50 | filterMode: 1 51 | sampleCount: 4 52 | preserveSVGImageAspect: 0 53 | useSVGPixelsPerUnit: 0 54 | spriteData: 55 | TessellationDetail: 0 56 | SpriteRect: 57 | name: 58 | originalName: 59 | pivot: {x: 0, y: 0} 60 | alignment: 0 61 | border: {x: 0, y: 0, z: 0, w: 0} 62 | rect: 63 | serializedVersion: 2 64 | x: 0 65 | y: 0 66 | width: 0 67 | height: 0 68 | spriteID: 36c2a483cbeb742f09d01d0a10236135 69 | internalID: 0 70 | PhysicsOutlines: [] 71 | -------------------------------------------------------------------------------- /Documentation/images/addressing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/addressing.png -------------------------------------------------------------------------------- /Documentation/images/clipper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/clipper.png -------------------------------------------------------------------------------- /Documentation/images/constraints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/constraints.png -------------------------------------------------------------------------------- /Documentation/images/contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/contour.png -------------------------------------------------------------------------------- /Documentation/images/fill_evenodd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/fill_evenodd.png -------------------------------------------------------------------------------- /Documentation/images/fill_nonzero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/fill_nonzero.png -------------------------------------------------------------------------------- /Documentation/images/linear_gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/linear_gradient.png -------------------------------------------------------------------------------- /Documentation/images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/screenshot.png -------------------------------------------------------------------------------- /Documentation/images/svg_inspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/svg_inspector.png -------------------------------------------------------------------------------- /Documentation/images/svg_inspector_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/vector-graphics-samples/0252814215f6534f1076b7f093795fff9a72552b/Documentation/images/svg_inspector_advanced.png -------------------------------------------------------------------------------- /Documentation/vectorgraphics.md: -------------------------------------------------------------------------------- 1 | # About Vector Graphics 2 | 3 | The Vector Graphics package provides an SVG importer as well as generic vector graphics APIs. 4 | 5 | ## Requirements 6 | 7 | This Vector Graphics package version 1.0.0 is compatible with the following versions of the Unity Editor: 8 | 2018.1 and later (recommended) 9 | 10 | ## Known limitations 11 | 12 | The SVG importer in this package implements a subset of the SVG 1.1 specification, with some limitations: 13 | 14 | * Text elements are not yet supported [(SVG 1.1 section 10)](https://www.w3.org/TR/SVG11/text.html) 15 | * Per-pixel masking is not supported [(SVG 1.1 section 14.4)](https://www.w3.org/TR/SVG11/masking.html#Masking) 16 | * Filter effects are not supported [(SVG 1.1 section 15)](https://www.w3.org/TR/SVG11/filters.html) 17 | * Any interactivity feature are not supported [(SVG 1.1 section 16)](https://www.w3.org/TR/SVG11/interact.html) 18 | * Animations are not supported [(SVG 1.1 section 19)](https://www.w3.org/TR/SVG11/animate.html) 19 | 20 | # Using Vector Graphics 21 | 22 | ## SVG importer 23 | 24 | This package provides an SVG importer that reads and interprets SVG documents and generates 2D sprites for use in Unity. 25 | 26 | You import SVG files into the Unity Editor like any other assets. Either drop them directly into the Assets folder in the Projects window, or select `Assets > Import New Asset` from the menu bar. When imported, you can instantiate the resulting assets in the Hierarchy View or the Scene View. 27 | 28 | |**Property**|**Function**| 29 | |:-----------|:-----------| 30 | |**Pixels Per Unit**|Number of SVG units that correspond to 1 scene unit.| 31 | |**Tessellation Step Distance**|Distance at which Unity generates triangles when tessellating the paths. A smaller step distance will result in smoother curves at the expense of more triangles.| 32 | |**Gradient Resolution**|Texture size used to store gradients.| 33 | |**Pivot**|Location of the pivot for the generated sprite. This follows the same convention as regular sprites, with an additional SVG Origin pivot value. When using SVG Origin, the pivot is the (0,0) position of the SVG document.| 34 | 35 | 36 | You can provide tessellation settings in two ways: **Basic** or **Advanced**. 37 | 38 | ### Basic tessellation 39 | 40 | ![SVG importer properties](images/svg_inspector.png) 41 | 42 | When using **Basic**, you only need to provide a **Target Resolution** and a **Zoom Factor**. Then the importer automatically configures the advanced settings to make sure your SVG document renders at a high enough tessellation for that resolution at that zoom factor. 43 | 44 | 45 | ### Advanced tessellation 46 | 47 | ![SVG importer properties](images/svg_inspector_advanced.png) 48 | 49 | If you want full control over the tessellation of the SVG document, you can specify the following advanced settings: 50 | 51 | |**Property**|**Function**| 52 | |:-----------|:-----------| 53 | |**Step Distance**|Distance at which the importer generates vertices along the paths. Lower values result in a more dense tessellation.| 54 | |**Sampling Steps**|Number of samples the importer evaluates on paths. More samples may result in more precise curves, especially when the curves have sharp corners.| 55 | |**Max Cord Deviation**|Distance on the cord to a straight line between two points after which the importer generates more tessellation.| 56 | |**Max Tangent Angle**|Maximum tangent angle (in degrees) after which the importer generates tessellation.| 57 | 58 | ![Max Cord](images/constraints.png) 59 | 60 | The importer subdivides curves for as long as every enabled constraint isn't satisfied. 61 | 62 | The **Sprite Editor** is also available and works exactly the same way as regular sprite assets. 63 | 64 | ## Vector Graphics API 65 | 66 | The provided classes and methods enable you to work with vector data directly in code. The SVG importer uses these APIs internally to generate and tessellate the resulting sprites. 67 | 68 | The Vector Graphics API is a set of simple classes and structures that holds the vector data together. This is accompanied by static methods to manipulate and transform this data. 69 | 70 | At the core of the Vector Graphics package is the `Scene` class, which stores a graph of vector objects. Its `Root` property is an instance of `SceneNode`, which contains a list of drawable items, a list of child nodes, a transform and a clipper (see [clipping](#clipping)). 71 | 72 | ``` 73 | public class SceneNode 74 | { 75 | public List Children { get; set; } 76 | public List Drawables { get; set; } 77 | public Matrix2D Transform { get; set; } 78 | public SceneNode Clipper { get; set; } 79 | } 80 | ``` 81 | 82 | There are two main kind of drawable instances: paths and shapes. 83 | 84 | ### Paths 85 | 86 | Paths are drawables that are defined by a `BezierContour`. A `BezierContour` contains a `BezierPathSegment` array and a flag that indicates whether the contour is closed or not. 87 | 88 | ``` 89 | public class Path : IDrawable 90 | { 91 | public BezierContour Contour { get; set; } 92 | public PathProperties PathProps { get; set; } 93 | } 94 | 95 | public struct BezierContour 96 | { 97 | public BezierPathSegment[] Segments { get; set; } 98 | public bool Closed { get; set; } 99 | } 100 | 101 | public struct BezierPathSegment 102 | { 103 | public Vector2 P0; 104 | public Vector2 P1; 105 | public Vector2 P2; 106 | } 107 | ``` 108 | 109 | The `BezierPathSegment` array defines a chain of cubic Bézier curves. The above segment specifies only the first point, `P0`, and two control points, `P1` and `P2`. The `Path` class uses the `P0` value of the next segment in the array to complete the curve. So, you will always need at least two segments to define a valid `BezierContour`. Using this approach allows the chaining of multiple segments and guarantees the continuity of the curve. For example, consider this path: 110 | 111 | ![Contour](images/contour.png) 112 | 113 | You could construct this path like so: 114 | 115 | ``` 116 | var segments = new BezierPathSegment[] { 117 | new BezierPathSegment() { P0 = a, P1 = b, P2 = c }, 118 | new BezierPathSegment() { P0 = d, P1 = e, P2 = f }, 119 | new BezierPathSegment() { P0 = g } 120 | }; 121 | 122 | var path = new Path() { 123 | contour = new BezierContour() { 124 | Segments = segments, 125 | Closed = false 126 | }, 127 | pathProps = new PathProperties() { 128 | Stroke = new Stroke() { Color = Color.red, HalfThickness = 1.0f } 129 | } 130 | }; 131 | ``` 132 | 133 | ### Shapes 134 | 135 | Just like paths, shapes are defined by a `BezierContour`, but they also provide a filling method: 136 | 137 | ``` 138 | public class Shape : Filled 139 | { 140 | public BezierContour[] Contours { get; set; } 141 | } 142 | 143 | public abstract class Filled : IDrawable 144 | { 145 | public IFill Fill { get; set; } 146 | public Matrix2D FillTransform { get; set; } 147 | public PathProperties PathProps { get; set; } 148 | } 149 | ``` 150 | 151 | Several classes implement the `IFill` interface: 152 | 153 | * `SolidFill` for a simple colored fillings 154 | * `TextureFill` for a texture fillings 155 | * `GradientFill` for linear or radial gradient fillings 156 | 157 | ### Gradients 158 | 159 | Gradient fills are defined by a `Linear` or `Radial` type and a series of colors/percentage pairs, called *stops*: 160 | 161 | ``` 162 | public class GradientFill : IFill 163 | { 164 | public GradientFillType Type { get; set; } 165 | public GradientStop[] Stops { get; set; } 166 | public FillMode Mode { get; set; } 167 | public AddressMode Addressing { get; set; } 168 | public Vector2 RadialFocus { get; set; } 169 | } 170 | 171 | public struct GradientStop 172 | { 173 | public Color Color { get; set; } 174 | public float StopPercentage { get; set; } 175 | } 176 | ``` 177 | 178 | Consider the following linear fill, as well as the `GradientFill` instance to generate it: 179 | 180 | ![Linear Fill](images/linear_gradient.png) 181 | 182 | ``` 183 | var fill = new GradientFill() { 184 | Type = GradientFillType.Linear, 185 | Stops = new GradientFillStop[] { 186 | new GradientFillStop() { Color = Color.blue, StopPercentage = 0.0f }, 187 | new GradientFillStop() { Color = Color.red, StopPercentage = 0.5f }, 188 | new GradientFillStop() { Color = Color.yellow, StopPercentage = 1.0f } 189 | } 190 | }; 191 | ``` 192 | 193 | The gradient addressing modes define how Unity displays the color when the gradient coordinates fall outside of the range, as illustrated here: 194 | 195 | ![Addressing Modes](images/addressing.png) 196 | 197 | 198 | ### Fill Mode 199 | 200 | The filling classes also provide a fill mode, which determines how holes are defined inside the shapes. 201 | 202 | `FillMode.NonZero` determines which points are inside a shape by intersecting the contour segments with an horizontal line. The direction of the contour determines whether the points are inside or outside the shape: 203 | 204 | ![NonZero Fill](images/fill_nonzero.png) 205 | 206 | `FillMode.OddEven` also works by intersecting the segments with an horizontal line. Points inside the shape occur when an even number of segments is crossed, and points outside the shape occur when an odd number of segments is crossed: 207 | 208 | ![EvenOdd Fill](images/fill_evenodd.png) 209 | 210 | 211 | ### Clipping 212 | 213 | The `SceneNode` class has a clipper member which will clip the content of the node. 214 | 215 | ![Clipper](images/clipper.png) 216 | 217 | In the above example, the repeating square shapes are clipped by an ellipse. In code, this can be done like so: 218 | 219 | ``` 220 | var ellipse = new SceneNode() { 221 | Drawables = new List { VectorUtils.MakeEllipse(ellipse, Vector2.zero, 50, 100) } 222 | }; 223 | 224 | var squaresPattern = ...; 225 | 226 | var squaresClipped = new SceneNode() { 227 | Children = new List { squaresPattern }, 228 | Clipper = ellipse 229 | }; 230 | ``` 231 | 232 | Note that only shapes can act as a clipper (the clipping process ignores any strokes defined in the clipper). The content being clipped can be any shapes and/or strokes. 233 | 234 | *Warning: The clipping process can be an expensive operation. Clipping simple shapes with a simple clipper may perform reasonably, but any complex shape and/or clipper may cause the frame rate to drop significantly.* 235 | 236 | ### Rendering vector graphics 237 | 238 | To render vector graphics elements on screen, first get a tessellated (triangulated) version of the scene. When you have a VectorScene instance set up, you can tessellate it using the following `VectorUtils` method: 239 | 240 | ``` 241 | public static List TessellateScene(Scene scene, TesselationOptions options); 242 | ``` 243 | 244 | The `TesselationOptions` are similar to the [advanced importer settings](#advanced-importer-settings): 245 | 246 | ``` 247 | public struct TesselationOptions 248 | { 249 | public float StepDistance { get; set; } 250 | public float MaxCordDeviation { get; set; } 251 | public float MaxTanAngleDeviation { get; set; } 252 | public float SamplingStepSize { get; set; } 253 | } 254 | ``` 255 | 256 | Note that `maxTanAngleDeviation` is specified in radians. 257 | 258 | To disable the `maxCordDeviation` constraint, set it to `float.MaxValue`. To disable the `maxTanAngleDeviation` constraint, set it to `Mathf.PI/2.0f`. Disabling the constraints will make the tessellation faster, but may generate more vertices. 259 | 260 | The resulting list of `Geometry` objects contains all the vertices and accompanying information required to render the scene properly. 261 | 262 | ### Textures and gradients atlases 263 | 264 | If the scene has any textures or gradients, you will have to generate a texture atlas and fill the UVs of the geometry. These methods are part of the `VectorUtils` class: 265 | 266 | ``` 267 | public static TextureAtlas GenerateAtlas( 268 | IEnumerable geoms, // The geometry generated by the TessellateScene method 269 | uint rasterSize); // The desired atlas size (128 is enough for most purposes) 270 | 271 | public static void FillUVs( 272 | IEnumerable geoms, // The geometry for which the UVs will be filled 273 | TextureAtlas texAtlas); // The texture atlas generated by the GenerateAtlas method 274 | ``` 275 | 276 | The `GenerateAtlas` method is an expensive operation, so cache the resulting Texture2D object whenever possible. You only need to regenerate the atlas when a texture or gradient changes inside the scene. 277 | 278 | When vertices change inside the geometry, call the `FillUVs` method, which is cheap. 279 | Drawing a tessellated scene 280 | You can render the geometry in several ways. For example: 281 | 282 | * Filling a `Mesh` asset 283 | * Building a `Sprite` asset 284 | * Using Unity's low level graphics library 285 | 286 | For any of these methods, use the provided materials to draw the tessellated vector graphics content. If the scene contains textures or gradients, use the following material: 287 | 288 | ``` 289 | var mat = new Material(Shader.Find("Unlit/VectorGradient")); 290 | ``` 291 | 292 | Otherwise, you can use: 293 | 294 | ``` 295 | var mat = new Material(Shader.Find("Unlit/Vector")); 296 | ``` 297 | 298 | To fill a mesh asset, use the following `VectorUtils` method: 299 | 300 | ``` 301 | public static void FillMesh( 302 | Mesh mesh, // The mesh to fill, which will be cleared before filling 303 | List geoms, // The geometry resulting from the "TessellateScene" call 304 | float svgPixelsPerUnit, // How many "SVG units" should fit in a "Unity unit" 305 | bool flipYAxis = false); // If true, the Y-axis will point downward 306 | ``` 307 | 308 | To build a sprite asset, use the following `VectorUtils` method: 309 | 310 | ``` 311 | public static Sprite BuildSprite( 312 | List geoms, // The geometry resulting from the "TesselateScene" call 313 | float svgPixelsPerUnit, // How many "SVG units" should fit in a "Unity unit" 314 | Alignment alignment, // The sprite alignement 315 | Vector2 customPivot, // If alignment is "Custom", this will be used as the custom pivot 316 | UInt16 gradientResolution); // The resolution used for the gradient texture 317 | ``` 318 | 319 | To render a sprite to a `Texture2D`, use the following `VectorUtils` method: 320 | 321 | ``` 322 | public static Texture2D RenderSpriteToTexture2D( 323 | Sprite sprite, // The sprite to draw 324 | int width, int height, // The texture dimensions 325 | Material mat, // The material to use (should be Unlit_Vector or Unlit_VectorGradient) 326 | int antiAliasing = 1); // The number of samples per pixel 327 | ``` 328 | 329 | To render the generated sprite using immediate mode `GL` commands, use the `RenderSprite` method in the `VectorUtils` class to draw the sprite into a unit square (a box between 0 and 1 in both X and Y directions): 330 | 331 | ``` 332 | public static void RenderSprite( 333 | Sprite sprite, // The sprite to draw 334 | Material mat); // The material to use (should be Unlit_Vector or Unlit_VectorGradient) 335 | ``` 336 | 337 | ## Document Revision History 338 | 339 | |Date | Reason | 340 | |:-----|:-------| 341 | |May 2, 2018|Matches Vector Graphics 1.0.0-preview.7| 342 | |Mar 20, 2018|Updated public APIs documentation. Matches Vector Graphics version 1.0.3-experimental.| 343 | |Feb 01, 2018|Document created. Matches Vector Graphics version 1.0.2-experimental.| 344 | 345 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ads": "3.4.4", 6 | "com.unity.analytics": "3.3.5", 7 | "com.unity.collab-proxy": "1.2.16", 8 | "com.unity.ide.rider": "1.1.4", 9 | "com.unity.ide.vscode": "1.1.4", 10 | "com.unity.purchasing": "2.0.6", 11 | "com.unity.test-framework": "1.1.13", 12 | "com.unity.textmeshpro": "2.0.1", 13 | "com.unity.timeline": "1.2.6", 14 | "com.unity.ugui": "1.0.0", 15 | "com.unity.vectorgraphics": "2.0.0-preview.12", 16 | "com.unity.modules.ai": "1.0.0", 17 | "com.unity.modules.androidjni": "1.0.0", 18 | "com.unity.modules.animation": "1.0.0", 19 | "com.unity.modules.assetbundle": "1.0.0", 20 | "com.unity.modules.audio": "1.0.0", 21 | "com.unity.modules.cloth": "1.0.0", 22 | "com.unity.modules.director": "1.0.0", 23 | "com.unity.modules.imageconversion": "1.0.0", 24 | "com.unity.modules.imgui": "1.0.0", 25 | "com.unity.modules.jsonserialize": "1.0.0", 26 | "com.unity.modules.particlesystem": "1.0.0", 27 | "com.unity.modules.physics": "1.0.0", 28 | "com.unity.modules.physics2d": "1.0.0", 29 | "com.unity.modules.screencapture": "1.0.0", 30 | "com.unity.modules.terrain": "1.0.0", 31 | "com.unity.modules.terrainphysics": "1.0.0", 32 | "com.unity.modules.tilemap": "1.0.0", 33 | "com.unity.modules.ui": "1.0.0", 34 | "com.unity.modules.uielements": "1.0.0", 35 | "com.unity.modules.umbra": "1.0.0", 36 | "com.unity.modules.unityanalytics": "1.0.0", 37 | "com.unity.modules.unitywebrequest": "1.0.0", 38 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 39 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 40 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 41 | "com.unity.modules.unitywebrequestwww": "1.0.0", 42 | "com.unity.modules.vehicles": "1.0.0", 43 | "com.unity.modules.video": "1.0.0", 44 | "com.unity.modules.vr": "1.0.0", 45 | "com.unity.modules.wind": "1.0.0", 46 | "com.unity.modules.xr": "1.0.0" 47 | }, 48 | "registry": "https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-candidates" 49 | } 50 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 1 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_AutoSyncTransforms: 1 46 | m_AlwaysShowColliders: 0 47 | m_ShowColliderSleep: 1 48 | m_ShowColliderContacts: 0 49 | m_ShowColliderAABB: 0 50 | m_ContactArrowScale: 0.2 51 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 52 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 53 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 54 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 55 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 56 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 17 7 | productGUID: 502357005c52a4c80922f226f9d6d90c 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: vector-graphics-samples 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 1 51 | m_MTRendering: 1 52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 53 | iosShowActivityIndicatorOnLoading: -1 54 | androidShowActivityIndicatorOnLoading: -1 55 | iosAppInBackgroundBehavior: 0 56 | displayResolutionDialog: 1 57 | iosAllowHTTPDownload: 1 58 | allowedAutorotateToPortrait: 1 59 | allowedAutorotateToPortraitUpsideDown: 1 60 | allowedAutorotateToLandscapeRight: 1 61 | allowedAutorotateToLandscapeLeft: 1 62 | useOSAutorotation: 1 63 | use32BitDisplayBuffer: 1 64 | preserveFramebufferAlpha: 0 65 | disableDepthAndStencilBuffers: 0 66 | androidStartInFullscreen: 1 67 | androidRenderOutsideSafeArea: 0 68 | androidUseSwappy: 0 69 | androidBlitType: 0 70 | defaultIsNativeResolution: 1 71 | macRetinaSupport: 1 72 | runInBackground: 0 73 | captureSingleScreen: 0 74 | muteOtherAudioSources: 0 75 | Prepare IOS For Recording: 0 76 | Force IOS Speakers When Recording: 0 77 | deferSystemGesturesMode: 0 78 | hideHomeButton: 0 79 | submitAnalytics: 1 80 | usePlayerLog: 1 81 | bakeCollisionMeshes: 0 82 | forceSingleInstance: 0 83 | useFlipModelSwapchain: 1 84 | resizableWindow: 0 85 | useMacAppStoreValidation: 0 86 | macAppStoreCategory: public.app-category.games 87 | gpuSkinning: 0 88 | graphicsJobs: 0 89 | xboxPIXTextureCapture: 0 90 | xboxEnableAvatar: 0 91 | xboxEnableKinect: 0 92 | xboxEnableKinectAutoTracking: 0 93 | xboxEnableFitness: 0 94 | visibleInBackground: 1 95 | allowFullscreenSwitch: 1 96 | graphicsJobMode: 0 97 | fullscreenMode: 1 98 | xboxSpeechDB: 0 99 | xboxEnableHeadOrientation: 0 100 | xboxEnableGuest: 0 101 | xboxEnablePIXSampling: 0 102 | metalFramebufferOnly: 0 103 | xboxOneResolution: 0 104 | xboxOneSResolution: 0 105 | xboxOneXResolution: 3 106 | xboxOneMonoLoggingLevel: 0 107 | xboxOneLoggingLevel: 1 108 | xboxOneDisableEsram: 0 109 | xboxOnePresentImmediateThreshold: 0 110 | switchQueueCommandMemory: 0 111 | switchQueueControlMemory: 16384 112 | switchQueueComputeMemory: 262144 113 | switchNVNShaderPoolsGranularity: 33554432 114 | switchNVNDefaultPoolsGranularity: 16777216 115 | switchNVNOtherPoolsGranularity: 16777216 116 | vulkanEnableSetSRGBWrite: 0 117 | m_SupportedAspectRatios: 118 | 4:3: 1 119 | 5:4: 1 120 | 16:10: 1 121 | 16:9: 1 122 | Others: 1 123 | bundleVersion: 1.0 124 | preloadedAssets: [] 125 | metroInputSource: 0 126 | wsaTransparentSwapchain: 0 127 | m_HolographicPauseOnTrackingLoss: 1 128 | xboxOneDisableKinectGpuReservation: 0 129 | xboxOneEnable7thCore: 0 130 | vrSettings: 131 | cardboard: 132 | depthFormat: 0 133 | enableTransitionView: 0 134 | daydream: 135 | depthFormat: 0 136 | useSustainedPerformanceMode: 0 137 | enableVideoLayer: 0 138 | useProtectedVideoMemory: 0 139 | minimumSupportedHeadTracking: 0 140 | maximumSupportedHeadTracking: 1 141 | hololens: 142 | depthFormat: 1 143 | depthBufferSharingEnabled: 0 144 | lumin: 145 | depthFormat: 0 146 | frameTiming: 2 147 | enableGLCache: 0 148 | glCacheMaxBlobSize: 524288 149 | glCacheMaxFileSize: 8388608 150 | oculus: 151 | sharedDepthBuffer: 0 152 | dashSupport: 0 153 | lowOverheadMode: 0 154 | enable360StereoCapture: 0 155 | isWsaHolographicRemotingEnabled: 0 156 | protectGraphicsMemory: 0 157 | enableFrameTimingStats: 0 158 | useHDRDisplay: 0 159 | m_ColorGamuts: 00000000 160 | targetPixelDensity: 30 161 | resolutionScalingMode: 0 162 | androidSupportedAspectRatio: 1 163 | androidMaxAspectRatio: 2.1 164 | applicationIdentifier: {} 165 | buildNumber: {} 166 | AndroidBundleVersionCode: 1 167 | AndroidMinSdkVersion: 16 168 | AndroidTargetSdkVersion: 0 169 | AndroidPreferredInstallLocation: 1 170 | aotOptions: 171 | stripEngineCode: 1 172 | iPhoneStrippingLevel: 0 173 | iPhoneScriptCallOptimization: 0 174 | ForceInternetPermission: 0 175 | ForceSDCardPermission: 0 176 | CreateWallpaper: 0 177 | APKExpansionFiles: 0 178 | keepLoadedShadersAlive: 0 179 | StripUnusedMeshComponents: 0 180 | VertexChannelCompressionMask: 4054 181 | iPhoneSdkVersion: 988 182 | iOSTargetOSVersionString: 9.0 183 | tvOSSdkVersion: 0 184 | tvOSRequireExtendedGameController: 0 185 | tvOSTargetOSVersionString: 9.0 186 | uIPrerenderedIcon: 0 187 | uIRequiresPersistentWiFi: 0 188 | uIRequiresFullScreen: 1 189 | uIStatusBarHidden: 1 190 | uIExitOnSuspend: 0 191 | uIStatusBarStyle: 0 192 | iPhoneSplashScreen: {fileID: 0} 193 | iPhoneHighResSplashScreen: {fileID: 0} 194 | iPhoneTallHighResSplashScreen: {fileID: 0} 195 | iPhone47inSplashScreen: {fileID: 0} 196 | iPhone55inPortraitSplashScreen: {fileID: 0} 197 | iPhone55inLandscapeSplashScreen: {fileID: 0} 198 | iPhone58inPortraitSplashScreen: {fileID: 0} 199 | iPhone58inLandscapeSplashScreen: {fileID: 0} 200 | iPadPortraitSplashScreen: {fileID: 0} 201 | iPadHighResPortraitSplashScreen: {fileID: 0} 202 | iPadLandscapeSplashScreen: {fileID: 0} 203 | iPadHighResLandscapeSplashScreen: {fileID: 0} 204 | iPhone65inPortraitSplashScreen: {fileID: 0} 205 | iPhone65inLandscapeSplashScreen: {fileID: 0} 206 | iPhone61inPortraitSplashScreen: {fileID: 0} 207 | iPhone61inLandscapeSplashScreen: {fileID: 0} 208 | appleTVSplashScreen: {fileID: 0} 209 | appleTVSplashScreen2x: {fileID: 0} 210 | tvOSSmallIconLayers: [] 211 | tvOSSmallIconLayers2x: [] 212 | tvOSLargeIconLayers: [] 213 | tvOSLargeIconLayers2x: [] 214 | tvOSTopShelfImageLayers: [] 215 | tvOSTopShelfImageLayers2x: [] 216 | tvOSTopShelfImageWideLayers: [] 217 | tvOSTopShelfImageWideLayers2x: [] 218 | iOSLaunchScreenType: 0 219 | iOSLaunchScreenPortrait: {fileID: 0} 220 | iOSLaunchScreenLandscape: {fileID: 0} 221 | iOSLaunchScreenBackgroundColor: 222 | serializedVersion: 2 223 | rgba: 0 224 | iOSLaunchScreenFillPct: 100 225 | iOSLaunchScreenSize: 100 226 | iOSLaunchScreenCustomXibPath: 227 | iOSLaunchScreeniPadType: 0 228 | iOSLaunchScreeniPadImage: {fileID: 0} 229 | iOSLaunchScreeniPadBackgroundColor: 230 | serializedVersion: 2 231 | rgba: 0 232 | iOSLaunchScreeniPadFillPct: 100 233 | iOSLaunchScreeniPadSize: 100 234 | iOSLaunchScreeniPadCustomXibPath: 235 | iOSUseLaunchScreenStoryboard: 0 236 | iOSLaunchScreenCustomStoryboardPath: 237 | iOSDeviceRequirements: [] 238 | iOSURLSchemes: [] 239 | iOSBackgroundModes: 0 240 | iOSMetalForceHardShadows: 0 241 | metalEditorSupport: 1 242 | metalAPIValidation: 1 243 | iOSRenderExtraFrameOnPause: 0 244 | appleDeveloperTeamID: 245 | iOSManualSigningProvisioningProfileID: 246 | tvOSManualSigningProvisioningProfileID: 247 | iOSManualSigningProvisioningProfileType: 0 248 | tvOSManualSigningProvisioningProfileType: 0 249 | appleEnableAutomaticSigning: 0 250 | iOSRequireARKit: 0 251 | iOSAutomaticallyDetectAndAddCapabilities: 1 252 | appleEnableProMotion: 0 253 | clonedFromGUID: 00000000000000000000000000000000 254 | templatePackageId: 255 | templateDefaultScene: 256 | AndroidTargetArchitectures: 1 257 | AndroidSplashScreenScale: 0 258 | androidSplashScreen: {fileID: 0} 259 | AndroidKeystoreName: '{inproject}: ' 260 | AndroidKeyaliasName: 261 | AndroidBuildApkPerCpuArchitecture: 0 262 | AndroidTVCompatibility: 1 263 | AndroidIsGame: 1 264 | AndroidEnableTango: 0 265 | androidEnableBanner: 1 266 | androidUseLowAccuracyLocation: 0 267 | androidUseCustomKeystore: 0 268 | m_AndroidBanners: 269 | - width: 320 270 | height: 180 271 | banner: {fileID: 0} 272 | androidGamepadSupportLevel: 0 273 | AndroidValidateAppBundleSize: 1 274 | AndroidAppBundleSizeToValidate: 150 275 | resolutionDialogBanner: {fileID: 0} 276 | m_BuildTargetIcons: [] 277 | m_BuildTargetPlatformIcons: [] 278 | m_BuildTargetBatching: [] 279 | m_BuildTargetGraphicsAPIs: [] 280 | m_BuildTargetVRSettings: [] 281 | openGLRequireES31: 0 282 | openGLRequireES31AEP: 0 283 | openGLRequireES32: 0 284 | vuforiaEnabled: 0 285 | m_TemplateCustomTags: {} 286 | mobileMTRendering: 287 | Android: 1 288 | iPhone: 1 289 | tvOS: 1 290 | m_BuildTargetGroupLightmapEncodingQuality: [] 291 | m_BuildTargetGroupLightmapSettings: [] 292 | playModeTestRunnerEnabled: 0 293 | runPlayModeTestAsEditModeTest: 0 294 | actionOnDotNetUnhandledException: 1 295 | enableInternalProfiler: 0 296 | logObjCUncaughtExceptions: 1 297 | enableCrashReportAPI: 0 298 | cameraUsageDescription: 299 | locationUsageDescription: 300 | microphoneUsageDescription: 301 | switchNetLibKey: 302 | switchSocketMemoryPoolSize: 6144 303 | switchSocketAllocatorPoolSize: 128 304 | switchSocketConcurrencyLimit: 14 305 | switchScreenResolutionBehavior: 2 306 | switchUseCPUProfiler: 0 307 | switchApplicationID: 0x01004b9000490000 308 | switchNSODependencies: 309 | switchTitleNames_0: 310 | switchTitleNames_1: 311 | switchTitleNames_2: 312 | switchTitleNames_3: 313 | switchTitleNames_4: 314 | switchTitleNames_5: 315 | switchTitleNames_6: 316 | switchTitleNames_7: 317 | switchTitleNames_8: 318 | switchTitleNames_9: 319 | switchTitleNames_10: 320 | switchTitleNames_11: 321 | switchTitleNames_12: 322 | switchTitleNames_13: 323 | switchTitleNames_14: 324 | switchPublisherNames_0: 325 | switchPublisherNames_1: 326 | switchPublisherNames_2: 327 | switchPublisherNames_3: 328 | switchPublisherNames_4: 329 | switchPublisherNames_5: 330 | switchPublisherNames_6: 331 | switchPublisherNames_7: 332 | switchPublisherNames_8: 333 | switchPublisherNames_9: 334 | switchPublisherNames_10: 335 | switchPublisherNames_11: 336 | switchPublisherNames_12: 337 | switchPublisherNames_13: 338 | switchPublisherNames_14: 339 | switchIcons_0: {fileID: 0} 340 | switchIcons_1: {fileID: 0} 341 | switchIcons_2: {fileID: 0} 342 | switchIcons_3: {fileID: 0} 343 | switchIcons_4: {fileID: 0} 344 | switchIcons_5: {fileID: 0} 345 | switchIcons_6: {fileID: 0} 346 | switchIcons_7: {fileID: 0} 347 | switchIcons_8: {fileID: 0} 348 | switchIcons_9: {fileID: 0} 349 | switchIcons_10: {fileID: 0} 350 | switchIcons_11: {fileID: 0} 351 | switchIcons_12: {fileID: 0} 352 | switchIcons_13: {fileID: 0} 353 | switchIcons_14: {fileID: 0} 354 | switchSmallIcons_0: {fileID: 0} 355 | switchSmallIcons_1: {fileID: 0} 356 | switchSmallIcons_2: {fileID: 0} 357 | switchSmallIcons_3: {fileID: 0} 358 | switchSmallIcons_4: {fileID: 0} 359 | switchSmallIcons_5: {fileID: 0} 360 | switchSmallIcons_6: {fileID: 0} 361 | switchSmallIcons_7: {fileID: 0} 362 | switchSmallIcons_8: {fileID: 0} 363 | switchSmallIcons_9: {fileID: 0} 364 | switchSmallIcons_10: {fileID: 0} 365 | switchSmallIcons_11: {fileID: 0} 366 | switchSmallIcons_12: {fileID: 0} 367 | switchSmallIcons_13: {fileID: 0} 368 | switchSmallIcons_14: {fileID: 0} 369 | switchManualHTML: 370 | switchAccessibleURLs: 371 | switchLegalInformation: 372 | switchMainThreadStackSize: 1048576 373 | switchPresenceGroupId: 374 | switchLogoHandling: 0 375 | switchReleaseVersion: 0 376 | switchDisplayVersion: 1.0.0 377 | switchStartupUserAccount: 0 378 | switchTouchScreenUsage: 0 379 | switchSupportedLanguagesMask: 0 380 | switchLogoType: 0 381 | switchApplicationErrorCodeCategory: 382 | switchUserAccountSaveDataSize: 0 383 | switchUserAccountSaveDataJournalSize: 0 384 | switchApplicationAttribute: 0 385 | switchCardSpecSize: -1 386 | switchCardSpecClock: -1 387 | switchRatingsMask: 0 388 | switchRatingsInt_0: 0 389 | switchRatingsInt_1: 0 390 | switchRatingsInt_2: 0 391 | switchRatingsInt_3: 0 392 | switchRatingsInt_4: 0 393 | switchRatingsInt_5: 0 394 | switchRatingsInt_6: 0 395 | switchRatingsInt_7: 0 396 | switchRatingsInt_8: 0 397 | switchRatingsInt_9: 0 398 | switchRatingsInt_10: 0 399 | switchRatingsInt_11: 0 400 | switchLocalCommunicationIds_0: 401 | switchLocalCommunicationIds_1: 402 | switchLocalCommunicationIds_2: 403 | switchLocalCommunicationIds_3: 404 | switchLocalCommunicationIds_4: 405 | switchLocalCommunicationIds_5: 406 | switchLocalCommunicationIds_6: 407 | switchLocalCommunicationIds_7: 408 | switchParentalControl: 0 409 | switchAllowsScreenshot: 1 410 | switchAllowsVideoCapturing: 1 411 | switchAllowsRuntimeAddOnContentInstall: 0 412 | switchDataLossConfirmation: 0 413 | switchUserAccountLockEnabled: 0 414 | switchSystemResourceMemory: 16777216 415 | switchSupportedNpadStyles: 3 416 | switchNativeFsCacheSize: 32 417 | switchIsHoldTypeHorizontal: 0 418 | switchSupportedNpadCount: 8 419 | switchSocketConfigEnabled: 0 420 | switchTcpInitialSendBufferSize: 32 421 | switchTcpInitialReceiveBufferSize: 64 422 | switchTcpAutoSendBufferSizeMax: 256 423 | switchTcpAutoReceiveBufferSizeMax: 256 424 | switchUdpSendBufferSize: 9 425 | switchUdpReceiveBufferSize: 42 426 | switchSocketBufferEfficiency: 4 427 | switchSocketInitializeEnabled: 1 428 | switchNetworkInterfaceManagerInitializeEnabled: 1 429 | switchPlayerConnectionEnabled: 1 430 | ps4NPAgeRating: 12 431 | ps4NPTitleSecret: 432 | ps4NPTrophyPackPath: 433 | ps4ParentalLevel: 11 434 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 435 | ps4Category: 0 436 | ps4MasterVersion: 01.00 437 | ps4AppVersion: 01.00 438 | ps4AppType: 0 439 | ps4ParamSfxPath: 440 | ps4VideoOutPixelFormat: 0 441 | ps4VideoOutInitialWidth: 1920 442 | ps4VideoOutBaseModeInitialWidth: 1920 443 | ps4VideoOutReprojectionRate: 60 444 | ps4PronunciationXMLPath: 445 | ps4PronunciationSIGPath: 446 | ps4BackgroundImagePath: 447 | ps4StartupImagePath: 448 | ps4StartupImagesFolder: 449 | ps4IconImagesFolder: 450 | ps4SaveDataImagePath: 451 | ps4SdkOverride: 452 | ps4BGMPath: 453 | ps4ShareFilePath: 454 | ps4ShareOverlayImagePath: 455 | ps4PrivacyGuardImagePath: 456 | ps4NPtitleDatPath: 457 | ps4RemotePlayKeyAssignment: -1 458 | ps4RemotePlayKeyMappingDir: 459 | ps4PlayTogetherPlayerCount: 0 460 | ps4EnterButtonAssignment: 1 461 | ps4ApplicationParam1: 0 462 | ps4ApplicationParam2: 0 463 | ps4ApplicationParam3: 0 464 | ps4ApplicationParam4: 0 465 | ps4DownloadDataSize: 0 466 | ps4GarlicHeapSize: 2048 467 | ps4ProGarlicHeapSize: 2560 468 | playerPrefsMaxSize: 32768 469 | ps4Passcode: 5PN2qmWqBlQ9wQj99nsQzldVI5ZuGXbE 470 | ps4pnSessions: 1 471 | ps4pnPresence: 1 472 | ps4pnFriends: 1 473 | ps4pnGameCustomData: 1 474 | playerPrefsSupport: 0 475 | enableApplicationExit: 0 476 | resetTempFolder: 1 477 | restrictedAudioUsageRights: 0 478 | ps4UseResolutionFallback: 0 479 | ps4ReprojectionSupport: 0 480 | ps4UseAudio3dBackend: 0 481 | ps4SocialScreenEnabled: 0 482 | ps4ScriptOptimizationLevel: 2 483 | ps4Audio3dVirtualSpeakerCount: 14 484 | ps4attribCpuUsage: 0 485 | ps4PatchPkgPath: 486 | ps4PatchLatestPkgPath: 487 | ps4PatchChangeinfoPath: 488 | ps4PatchDayOne: 0 489 | ps4attribUserManagement: 0 490 | ps4attribMoveSupport: 0 491 | ps4attrib3DSupport: 0 492 | ps4attribShareSupport: 0 493 | ps4attribExclusiveVR: 0 494 | ps4disableAutoHideSplash: 0 495 | ps4videoRecordingFeaturesUsed: 0 496 | ps4contentSearchFeaturesUsed: 0 497 | ps4attribEyeToEyeDistanceSettingVR: 0 498 | ps4IncludedModules: [] 499 | monoEnv: 500 | splashScreenBackgroundSourceLandscape: {fileID: 0} 501 | splashScreenBackgroundSourcePortrait: {fileID: 0} 502 | blurSplashScreenBackground: 1 503 | spritePackerPolicy: 504 | webGLMemorySize: 256 505 | webGLExceptionSupport: 1 506 | webGLNameFilesAsHashes: 0 507 | webGLDataCaching: 0 508 | webGLDebugSymbols: 0 509 | webGLEmscriptenArgs: 510 | webGLModulesDirectory: 511 | webGLTemplate: APPLICATION:Default 512 | webGLAnalyzeBuildSize: 0 513 | webGLUseEmbeddedResources: 0 514 | webGLCompressionFormat: 1 515 | webGLLinkerTarget: 0 516 | webGLThreadsSupport: 0 517 | webGLWasmStreaming: 0 518 | scriptingDefineSymbols: {} 519 | platformArchitecture: {} 520 | scriptingBackend: {} 521 | il2cppCompilerConfiguration: {} 522 | managedStrippingLevel: {} 523 | incrementalIl2cppBuild: {} 524 | allowUnsafeCode: 0 525 | additionalIl2CppArgs: 526 | scriptingRuntimeVersion: 1 527 | gcIncremental: 0 528 | gcWBarrierValidation: 0 529 | apiCompatibilityLevelPerPlatform: {} 530 | m_RenderingPath: 1 531 | m_MobileRenderingPath: 1 532 | metroPackageName: vector-graphics-samples 533 | metroPackageVersion: 534 | metroCertificatePath: 535 | metroCertificatePassword: 536 | metroCertificateSubject: 537 | metroCertificateIssuer: 538 | metroCertificateNotAfter: 0000000000000000 539 | metroApplicationDescription: vector-graphics-samples 540 | wsaImages: {} 541 | metroTileShortName: 542 | metroTileShowName: 0 543 | metroMediumTileShowName: 0 544 | metroLargeTileShowName: 0 545 | metroWideTileShowName: 0 546 | metroSupportStreamingInstall: 0 547 | metroLastRequiredScene: 0 548 | metroDefaultTileSize: 1 549 | metroTileForegroundText: 2 550 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 551 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 552 | a: 1} 553 | metroSplashScreenUseBackgroundColor: 0 554 | platformCapabilities: {} 555 | metroTargetDeviceFamilies: {} 556 | metroFTAName: 557 | metroFTAFileTypes: [] 558 | metroProtocolName: 559 | XboxOneProductId: 560 | XboxOneUpdateKey: 561 | XboxOneSandboxId: 562 | XboxOneContentId: 563 | XboxOneTitleId: 564 | XboxOneSCId: 565 | XboxOneGameOsOverridePath: 566 | XboxOnePackagingOverridePath: 567 | XboxOneAppManifestOverridePath: 568 | XboxOneVersion: 1.0.0.0 569 | XboxOnePackageEncryption: 0 570 | XboxOnePackageUpdateGranularity: 2 571 | XboxOneDescription: 572 | XboxOneLanguage: 573 | - enus 574 | XboxOneCapability: [] 575 | XboxOneGameRating: {} 576 | XboxOneIsContentPackage: 0 577 | XboxOneEnableGPUVariability: 0 578 | XboxOneSockets: {} 579 | XboxOneSplashScreen: {fileID: 0} 580 | XboxOneAllowedProductIds: [] 581 | XboxOnePersistentLocalStorageSize: 0 582 | XboxOneXTitleMemory: 8 583 | xboxOneScriptCompiler: 1 584 | XboxOneOverrideIdentityName: 585 | vrEditorSettings: 586 | daydream: 587 | daydreamIconForeground: {fileID: 0} 588 | daydreamIconBackground: {fileID: 0} 589 | cloudServicesEnabled: {} 590 | luminIcon: 591 | m_Name: 592 | m_ModelFolderPath: 593 | m_PortalFolderPath: 594 | luminCert: 595 | m_CertPath: 596 | m_SignPackage: 1 597 | luminIsChannelApp: 0 598 | luminVersion: 599 | m_VersionCode: 1 600 | m_VersionName: 601 | facebookSdkVersion: 7.9.4 602 | facebookAppId: 603 | facebookCookies: 1 604 | facebookLogging: 1 605 | facebookStatus: 1 606 | facebookXfbml: 0 607 | facebookFrictionlessRequests: 1 608 | apiCompatibilityLevel: 6 609 | cloudProjectId: 610 | framebufferDepthMemorylessMode: 0 611 | projectName: 612 | organizationId: 613 | cloudEnabled: 0 614 | enableNativePlatformBackendsForNewInputSystem: 0 615 | disableOldInputManagerSupport: 0 616 | legacyClampBlendShapeWeights: 1 617 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.3.10f1 2 | m_EditorVersionWithRevision: 2019.3.10f1 (5968d7f82152) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 4 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 4 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 0 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 4 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 70 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 2 136 | antiAliasing: 2 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 4 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 4 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 8 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 4 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSP2: 2 183 | Standalone: 5 184 | Tizen: 2 185 | WebGL: 3 186 | Windows Store Apps: 5 187 | XboxOne: 5 188 | iPhone: 2 189 | tvOS: 2 190 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_RenderPipeSettingsPath: 8 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vector Graphics Samples 2 | 3 | This repository contains samples of the Vector Graphics features to be used with Unity 2018.1 and newer. 4 | 5 | ## Getting Started 6 | ### Get the Unity Editor 7 | To get started, download and install the latest Unity 2018.1, here: https://unity3d.com/get-unity/download 8 | 9 | ### Get the Package 10 | These samples already include the necessary manifest in the Packages folder of the project. 11 | If you want to activate these features in another project: 12 | 1. Find the manifest.json file in the Packages folder of your project. 13 | 2. Edit it to look like this: 14 | 15 | ```javascript 16 | { 17 | "dependencies": { 18 | "com.unity.vectorgraphics": "2.0.0-preview.12" 19 | }, 20 | "registry": "https://staging-packages.unity.com" 21 | } 22 | ``` 23 | 4. Back in Unity, the package will be downloaded and imported. 24 | 5. Done! 25 | 26 | Find out more about packages here: **[Unity Package Manager](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@1.8/manual/index.html)** 27 | 28 | ### Preview Feature Documentation 29 | * **[Vector Graphics Documentation](https://github.com/Unity-Technologies/vector-graphics-samples/blob/master/Documentation/vectorgraphics.md)** 30 | 31 | ## Warning 32 | **Project backward compatibility between Preview versions is NOT GUARANTEED. Always backup your project before updating the package. Preview features here are not production ready, please DO NOT use this package for your final production. Preview features may be discontinued/dropped.** 33 | 34 | --------------------------------------------------------------------------------