基本交互和视觉效果确定
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 233b93e36caefda4ea729a24e528253b
|
||||
VisualEffectImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0041464b147f3ab4783961fc43b53f69
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,84 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &95765272387845034
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 82830807308472210}
|
||||
- component: {fileID: 1022357215298076095}
|
||||
m_Layer: 0
|
||||
m_Name: Light 2D
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &82830807308472210
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 95765272387845034}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1.605, y: 0.03, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1022357215298076095
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 95765272387845034}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ComponentVersion: 1
|
||||
m_LightType: 3
|
||||
m_BlendStyleIndex: 0
|
||||
m_FalloffIntensity: 0.5
|
||||
m_Color: {r: 1, g: 0, b: 0, a: 1}
|
||||
m_Intensity: 15.24
|
||||
m_LightVolumeIntensity: 1
|
||||
m_LightVolumeIntensityEnabled: 0
|
||||
m_ApplyToSortingLayers: f3a9fe5c00000000bbbb5032670b9971b7e66ab5d3878c191da0cc5f7740d514351d35393d533d9a7dc3a93dad9d9e43a55d9d3c8db9e11bb33d1a38cd4376e253b7f3d03394c91221d98fe1c7af7730011a6676
|
||||
m_LightCookieSprite: {fileID: 0}
|
||||
m_DeprecatedPointLightCookieSprite: {fileID: 0}
|
||||
m_LightOrder: 0
|
||||
m_AlphaBlendOnOverlap: 0
|
||||
m_OverlapOperation: 0
|
||||
m_NormalMapDistance: 3
|
||||
m_NormalMapQuality: 2
|
||||
m_UseNormalMap: 0
|
||||
m_ShadowIntensityEnabled: 0
|
||||
m_ShadowIntensity: 0.75
|
||||
m_ShadowVolumeIntensityEnabled: 0
|
||||
m_ShadowVolumeIntensity: 0.75
|
||||
m_LocalBounds:
|
||||
m_Center: {x: 0, y: -0.00000011920929, z: 0}
|
||||
m_Extent: {x: 0.9985302, y: 0.99853027, z: 0}
|
||||
m_PointLightInnerAngle: 360
|
||||
m_PointLightOuterAngle: 360
|
||||
m_PointLightInnerRadius: 0
|
||||
m_PointLightOuterRadius: 1
|
||||
m_ShapeLightParametricSides: 5
|
||||
m_ShapeLightParametricAngleOffset: 0
|
||||
m_ShapeLightParametricRadius: 1
|
||||
m_ShapeLightFalloffSize: 0.5
|
||||
m_ShapeLightFalloffOffset: {x: 0, y: 0}
|
||||
m_ShapePath:
|
||||
- {x: -0.5, y: -0.5, z: 0}
|
||||
- {x: 0.5, y: -0.5, z: 0}
|
||||
- {x: 0.5, y: 0.5, z: 0}
|
||||
- {x: -0.5, y: 0.5, z: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d5d856ce44701ae4d8b7a3a8a182a9c8
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,630 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Spark
|
||||
m_Shader: {fileID: 4800000, guid: da8efd605fdd20949a21be6242000625, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ENABLEBRIGHTNESS_ON
|
||||
- _SHADERFADING_NONE
|
||||
- _SHADERSPACE_UV
|
||||
- _TEXTURELAYER1SHEETTOGGLE_ON
|
||||
- _TEXTURELAYER2SHEETTOGGLE_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _AddColorMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _AddHueMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _AlphaTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _CustomFadeFadeMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FadingMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _InnerOutlineTintTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 5af9a397a8643994c829e696a24a7845, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MaskMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MaskTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetalMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OuterOutlineTintTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 5af9a397a8643994c829e696a24a7845, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _PixelOutlineTintTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 5af9a397a8643994c829e696a24a7845, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RecolorRGBTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RecolorRGBYCPTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShineMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SineGlowMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _StrongTintMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _TextureLayer1Texture:
|
||||
m_Texture: {fileID: 2800000, guid: 9685c3a024e22a946a7e8c2ce3542300, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _TextureLayer2Texture:
|
||||
m_Texture: {fileID: 2800000, guid: 9685c3a024e22a946a7e8c2ce3542300, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UVDistortMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UberNoiseTexture:
|
||||
m_Texture: {fileID: 2800000, guid: b8d18cd117976254d94a812a0bfc336e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _texcoord:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddColorContrast: 0.5
|
||||
- _AddColorContrastToggle: 0
|
||||
- _AddColorFade: 1
|
||||
- _AddColorMaskToggle: 0
|
||||
- _AddHueBrightness: 2
|
||||
- _AddHueContrast: 0.5
|
||||
- _AddHueFade: 1
|
||||
- _AddHueMaskToggle: 0
|
||||
- _AddHueSaturation: 1
|
||||
- _AddHueSpeed: 1
|
||||
- _AlphaCutoff: 0.5
|
||||
- _AlphaTintFade: 1
|
||||
- _AlphaTintMinAlpha: 0.02
|
||||
- _BakedMaterial: 0
|
||||
- _BlackTintFade: 1
|
||||
- _BlackTintPower: 4
|
||||
- _Brightness: 2.5
|
||||
- _BurnEdgeNoiseFactor: 0.5
|
||||
- _BurnFade: 1
|
||||
- _BurnInsideContrast: 2
|
||||
- _BurnInsideNoiseFactor: 0.2
|
||||
- _BurnRadius: 5
|
||||
- _BurnSwirlFactor: 1
|
||||
- _BurnWidth: 0.1
|
||||
- _CamouflageAnimationToggle: 0
|
||||
- _CamouflageContrast: 1
|
||||
- _CamouflageDensityA: 0.4
|
||||
- _CamouflageDensityB: 0.4
|
||||
- _CamouflageFade: 1
|
||||
- _CamouflageSmoothnessA: 0.2
|
||||
- _CamouflageSmoothnessB: 0.2
|
||||
- _CheckerboardDarken: 0.5
|
||||
- _CheckerboardTiling: 1
|
||||
- _ColorReplaceContrast: 1
|
||||
- _ColorReplaceFade: 1
|
||||
- _ColorReplaceRange: 0.05
|
||||
- _ColorReplaceSmoothness: 0.1
|
||||
- _Contrast: 1
|
||||
- _CustomFadeAlpha: 1
|
||||
- _CustomFadeNoiseFactor: 0
|
||||
- _CustomFadeSmoothness: 2
|
||||
- _DirectionalAlphaFadeFade: 0
|
||||
- _DirectionalAlphaFadeInvert: 0
|
||||
- _DirectionalAlphaFadeNoiseFactor: 0.2
|
||||
- _DirectionalAlphaFadeRotation: 0
|
||||
- _DirectionalAlphaFadeWidth: 0.2
|
||||
- _DirectionalDistortionFade: 0
|
||||
- _DirectionalDistortionInvert: 0
|
||||
- _DirectionalDistortionNoiseFactor: 0.2
|
||||
- _DirectionalDistortionRandomDirection: 0.1
|
||||
- _DirectionalDistortionRotation: 0
|
||||
- _DirectionalDistortionWidth: 0.5
|
||||
- _DirectionalGlowFadeFade: 0
|
||||
- _DirectionalGlowFadeInvert: 0
|
||||
- _DirectionalGlowFadeNoiseFactor: 0.2
|
||||
- _DirectionalGlowFadeRotation: 0
|
||||
- _DirectionalGlowFadeWidth: 0.1
|
||||
- _EnableAddColor: 0
|
||||
- _EnableAddHue: 0
|
||||
- _EnableAlphaTint: 0
|
||||
- _EnableBlackTint: 0
|
||||
- _EnableBrightness: 1
|
||||
- _EnableBurn: 0
|
||||
- _EnableCamouflage: 0
|
||||
- _EnableCheckerboard: 0
|
||||
- _EnableColorReplace: 0
|
||||
- _EnableContrast: 0
|
||||
- _EnableCustomFade: 0
|
||||
- _EnableDirectionalAlphaFade: 0
|
||||
- _EnableDirectionalDistortion: 0
|
||||
- _EnableDirectionalGlowFade: 0
|
||||
- _EnableEnchanted: 0
|
||||
- _EnableExternalAlpha: 0
|
||||
- _EnableFlame: 0
|
||||
- _EnableFrozen: 0
|
||||
- _EnableFullAlphaDissolve: 0
|
||||
- _EnableFullDistortion: 0
|
||||
- _EnableFullGlowDissolve: 0
|
||||
- _EnableGaussianBlur: 0
|
||||
- _EnableGlitch: 0
|
||||
- _EnableHalftone: 0
|
||||
- _EnableHologram: 0
|
||||
- _EnableHue: 0
|
||||
- _EnableInkSpread: 0
|
||||
- _EnableInnerOutline: 0
|
||||
- _EnableMetal: 0
|
||||
- _EnableNegative: 0
|
||||
- _EnableOuterOutline: 0
|
||||
- _EnablePingPongGlow: 0
|
||||
- _EnablePixelOutline: 0
|
||||
- _EnablePixelate: 0
|
||||
- _EnablePoison: 0
|
||||
- _EnableRainbow: 0
|
||||
- _EnableRecolorRGB: 0
|
||||
- _EnableRecolorRGBYCP: 0
|
||||
- _EnableSaturation: 0
|
||||
- _EnableScreenTiling: 0
|
||||
- _EnableShadow: 0
|
||||
- _EnableSharpen: 0
|
||||
- _EnableShiftHue: 0
|
||||
- _EnableShifting: 0
|
||||
- _EnableShine: 0
|
||||
- _EnableSineGlow: 0
|
||||
- _EnableSineMove: 0
|
||||
- _EnableSineRotate: 0
|
||||
- _EnableSineScale: 0
|
||||
- _EnableSmoke: 0
|
||||
- _EnableSmoothPixelArt: 0
|
||||
- _EnableSourceAlphaDissolve: 0
|
||||
- _EnableSourceGlowDissolve: 0
|
||||
- _EnableSplitToning: 0
|
||||
- _EnableSqueeze: 0
|
||||
- _EnableSquish: 0
|
||||
- _EnableStrongTint: 0
|
||||
- _EnableTextureLayer1: 0
|
||||
- _EnableTextureLayer2: 0
|
||||
- _EnableUVDistort: 0
|
||||
- _EnableUVRotate: 0
|
||||
- _EnableUVScale: 0
|
||||
- _EnableUVScroll: 0
|
||||
- _EnableVibrate: 0
|
||||
- _EnableWiggle: 0
|
||||
- _EnableWind: 0
|
||||
- _EnableWorldTiling: 0
|
||||
- _EnchantedBrightness: 1
|
||||
- _EnchantedContrast: 0.5
|
||||
- _EnchantedFade: 1
|
||||
- _EnchantedLerpToggle: 0
|
||||
- _EnchantedRainbowDensity: 0.5
|
||||
- _EnchantedRainbowSaturation: 0.8
|
||||
- _EnchantedRainbowSpeed: 0.5
|
||||
- _EnchantedRainbowToggle: 0
|
||||
- _EnchantedReduce: 0
|
||||
- _FadingFade: 1
|
||||
- _FadingNoiseFactor: 0.2
|
||||
- _FadingWidth: 0.3
|
||||
- _FlameBrightness: 10
|
||||
- _FlameNoiseFactor: 2.5
|
||||
- _FlameNoiseHeightFactor: 1.5
|
||||
- _FlameRadius: 0.2
|
||||
- _FlameSmooth: 2
|
||||
- _FrozenContrast: 2
|
||||
- _FrozenFade: 1
|
||||
- _FrozenHighlightContrast: 2
|
||||
- _FrozenHighlightDensity: 1
|
||||
- _FrozenSnowContrast: 1
|
||||
- _FrozenSnowDensity: 0.25
|
||||
- _FullAlphaDissolveFade: 0.5
|
||||
- _FullAlphaDissolveWidth: 0.5
|
||||
- _FullDistortionFade: 1
|
||||
- _FullGlowDissolveFade: 0.5
|
||||
- _FullGlowDissolveWidth: 0.5
|
||||
- _GaussianBlurFade: 1
|
||||
- _GaussianBlurOffset: 0.5
|
||||
- _GlitchBrightness: 4
|
||||
- _GlitchFade: 1
|
||||
- _GlitchHueSpeed: 1
|
||||
- _GlitchMaskMin: 0.4
|
||||
- _HalftoneFade: 1
|
||||
- _HalftoneFadeWidth: 1.5
|
||||
- _HalftoneInvert: 0
|
||||
- _HalftoneTiling: 4
|
||||
- _HologramContrast: 1
|
||||
- _HologramDistortionDensity: 0.5
|
||||
- _HologramDistortionOffset: 0.5
|
||||
- _HologramDistortionScale: 10
|
||||
- _HologramDistortionSpeed: 2
|
||||
- _HologramFade: 1
|
||||
- _HologramLineFrequency: 500
|
||||
- _HologramLineGap: 3
|
||||
- _HologramLineSpeed: 0.01
|
||||
- _HologramMinAlpha: 0.2
|
||||
- _Hue: 0
|
||||
- _InkSpreadContrast: 2
|
||||
- _InkSpreadDistance: 3
|
||||
- _InkSpreadFade: 1
|
||||
- _InkSpreadNoiseFactor: 0.5
|
||||
- _InkSpreadWidth: 0.2
|
||||
- _InnerOutlineDistortionToggle: 0
|
||||
- _InnerOutlineFade: 1
|
||||
- _InnerOutlineOutlineOnlyToggle: 0
|
||||
- _InnerOutlineTextureToggle: 0
|
||||
- _InnerOutlineWidth: 0.02
|
||||
- _MetalContrast: 2
|
||||
- _MetalFade: 1
|
||||
- _MetalHighlightContrast: 2
|
||||
- _MetalHighlightDensity: 1
|
||||
- _MetalMaskToggle: 0
|
||||
- _NegativeFade: 1
|
||||
- _NormalIntensity: 1
|
||||
- _OuterOutlineDistortionToggle: 0
|
||||
- _OuterOutlineFade: 1
|
||||
- _OuterOutlineOutlineOnlyToggle: 0
|
||||
- _OuterOutlineTextureToggle: 0
|
||||
- _OuterOutlineWidth: 0.04
|
||||
- _PingPongGlowContrast: 1
|
||||
- _PingPongGlowFade: 1
|
||||
- _PingPongGlowFrequency: 3
|
||||
- _PixelOutlineFade: 1
|
||||
- _PixelOutlineOutlineOnlyToggle: 0
|
||||
- _PixelOutlineTextureToggle: 0
|
||||
- _PixelOutlineWidth: 1
|
||||
- _PixelPerfectSpace: 0
|
||||
- _PixelPerfectUV: 0
|
||||
- _PixelateFade: 1
|
||||
- _PixelatePixelDensity: 16
|
||||
- _PixelatePixelsPerUnit: 100
|
||||
- _PixelsPerUnit: 100
|
||||
- _PoisonDensity: 3
|
||||
- _PoisonFade: 1
|
||||
- _PoisonNoiseBrightness: 2
|
||||
- _PoisonRecolorFactor: 0.5
|
||||
- _PoisonShiftSpeed: 0.2
|
||||
- _RainbowBrightness: 2
|
||||
- _RainbowContrast: 1
|
||||
- _RainbowDensity: 0.5
|
||||
- _RainbowFade: 1
|
||||
- _RainbowNoiseFactor: 0.2
|
||||
- _RainbowSaturation: 1
|
||||
- _RainbowSpeed: 1
|
||||
- _RecolorRGBFade: 1
|
||||
- _RecolorRGBTextureToggle: 0
|
||||
- _RecolorRGBYCPFade: 1
|
||||
- _RecolorRGBYCPTextureToggle: 0
|
||||
- _RectHeight: 100
|
||||
- _RectWidth: 100
|
||||
- _Saturation: 1
|
||||
- _ScreenTilingPixelsPerUnit: 100
|
||||
- _ScreenWidthUnits: 10
|
||||
- _ShaderFading: 0
|
||||
- _ShaderSpace: 0
|
||||
- _ShadowFade: 1
|
||||
- _SharpenFactor: 4
|
||||
- _SharpenFade: 1
|
||||
- _SharpenOffset: 2
|
||||
- _ShiftHueSpeed: 0.5
|
||||
- _ShiftingBrightness: 1
|
||||
- _ShiftingContrast: 0.5
|
||||
- _ShiftingDensity: 1.5
|
||||
- _ShiftingFade: 1
|
||||
- _ShiftingRainbowToggle: 0
|
||||
- _ShiftingSaturation: 0.8
|
||||
- _ShiftingSpeed: 0.5
|
||||
- _ShineContrast: 2
|
||||
- _ShineFade: 1
|
||||
- _ShineFrequency: 0.3
|
||||
- _ShineMaskToggle: 0
|
||||
- _ShineRotation: 30
|
||||
- _ShineSaturation: 0.5
|
||||
- _ShineSmooth: 1
|
||||
- _ShineSpeed: 5
|
||||
- _ShineWidth: 0.1
|
||||
- _SineGlowContrast: 1
|
||||
- _SineGlowFade: 1
|
||||
- _SineGlowFrequency: 4
|
||||
- _SineGlowMaskToggle: 0
|
||||
- _SineGlowMax: 1
|
||||
- _SineGlowMin: 0
|
||||
- _SineMoveFade: 1
|
||||
- _SineRotateAngle: 15
|
||||
- _SineRotateFade: 1
|
||||
- _SineRotateFrequency: 1
|
||||
- _SineScaleFrequency: 2
|
||||
- _SmokeAlpha: 1
|
||||
- _SmokeDarkEdge: 1
|
||||
- _SmokeNoiseFactor: 0.4
|
||||
- _SmokeNoiseScale: 0.5
|
||||
- _SmokeSmoothness: 1
|
||||
- _SmokeVertexSeed: 0
|
||||
- _SourceAlphaDissolveFade: 1
|
||||
- _SourceAlphaDissolveInvert: 0
|
||||
- _SourceAlphaDissolveNoiseFactor: 0.2
|
||||
- _SourceAlphaDissolveWidth: 0.2
|
||||
- _SourceGlowDissolveFade: 1
|
||||
- _SourceGlowDissolveInvert: 0
|
||||
- _SourceGlowDissolveNoiseFactor: 0.2
|
||||
- _SourceGlowDissolveWidth: 0.1
|
||||
- _SplitToningBalance: 1
|
||||
- _SplitToningContrast: 1
|
||||
- _SplitToningFade: 1
|
||||
- _SplitToningShift: 0
|
||||
- _SpriteSheetFix: 0
|
||||
- _SqueezeFade: 1
|
||||
- _SqueezePower: 1
|
||||
- _SquishFade: 1
|
||||
- _SquishFlip: 0
|
||||
- _SquishSquish: 0.1
|
||||
- _SquishStretch: 0.1
|
||||
- _StrongTintContrast: 0
|
||||
- _StrongTintContrastToggle: 0
|
||||
- _StrongTintFade: 1
|
||||
- _StrongTintMaskToggle: 0
|
||||
- _TextureLayer1Columns: 3
|
||||
- _TextureLayer1Contrast: 1
|
||||
- _TextureLayer1ContrastToggle: 0
|
||||
- _TextureLayer1EdgeClip: 0.005
|
||||
- _TextureLayer1Fade: 1
|
||||
- _TextureLayer1Rows: 3
|
||||
- _TextureLayer1ScrollToggle: 0
|
||||
- _TextureLayer1SheetToggle: 1
|
||||
- _TextureLayer1Speed: 20
|
||||
- _TextureLayer1StartFrame: 0
|
||||
- _TextureLayer2Columns: 3
|
||||
- _TextureLayer2Contrast: 1
|
||||
- _TextureLayer2ContrastToggle: 0
|
||||
- _TextureLayer2EdgeClip: 0.005
|
||||
- _TextureLayer2Fade: 1
|
||||
- _TextureLayer2Rows: 3
|
||||
- _TextureLayer2ScrollToggle: 0
|
||||
- _TextureLayer2SheetToggle: 1
|
||||
- _TextureLayer2Speed: 20
|
||||
- _TextureLayer2StartFrame: 0
|
||||
- _TilingFix: 0
|
||||
- _TimeFPS: 5
|
||||
- _TimeFrequency: 2
|
||||
- _TimeRange: 0.5
|
||||
- _TimeSpeed: 1
|
||||
- _TimeValue: 0
|
||||
- _ToggleCustomTime: 0
|
||||
- _ToggleTimeFPS: 0
|
||||
- _ToggleTimeFrequency: 0
|
||||
- _ToggleTimeSpeed: 0
|
||||
- _ToggleUnscaledTime: 0
|
||||
- _UVDistortFade: 1
|
||||
- _UVDistortMaskToggle: 0
|
||||
- _UVRotateSpeed: 1
|
||||
- _VertexTintFirst: 0
|
||||
- _VibrateFade: 1
|
||||
- _VibrateFrequency: 100
|
||||
- _VibrateOffset: 0.04
|
||||
- _VibrateRotation: 4
|
||||
- _WiggleFade: 1
|
||||
- _WiggleFixedGroundToggle: 0
|
||||
- _WiggleFrequency: 2
|
||||
- _WiggleOffset: 0.02
|
||||
- _WiggleSpeed: 2
|
||||
- _WindFlip: 0
|
||||
- _WindHighQualityNoise: 0
|
||||
- _WindIsParallax: 0
|
||||
- _WindLocalWind: 0
|
||||
- _WindMaxIntensity: 0.4
|
||||
- _WindMaxRotation: 2
|
||||
- _WindMinIntensity: -0.4
|
||||
- _WindNoiseScale: 0.1
|
||||
- _WindNoiseSpeed: 1
|
||||
- _WindRotation: 0
|
||||
- _WindRotationWindFactor: 1
|
||||
- _WindSquishFactor: 0.3
|
||||
- _WindSquishWindFactor: 0
|
||||
- _WindXPosition: 0
|
||||
- _WorldTilingPixelsPerUnit: 100
|
||||
m_Colors:
|
||||
- _AddColorColor: {r: 2.996078, g: 0, b: 0, a: 0}
|
||||
- _AlphaTintColor: {r: 95.87451, g: 5.019608, b: 95.87451, a: 0}
|
||||
- _BlackTintColor: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _BurnEdgeColor: {r: 11.98431, g: 1.129412, b: 0.1254902, a: 0}
|
||||
- _BurnEdgeNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0}
|
||||
- _BurnInsideColor: {r: 0.75, g: 0.5625, b: 0.525, a: 0}
|
||||
- _BurnInsideNoiseColor: {r: 3084.047, g: 257.0039, b: 0, a: 0}
|
||||
- _BurnInsideNoiseScale: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _BurnPosition: {r: 0, g: 5, b: 0, a: 0}
|
||||
- _BurnSwirlNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _CamouflageBaseColor: {r: 0.7450981, g: 0.7254902, b: 0.5686274, a: 0}
|
||||
- _CamouflageColorA: {r: 0.62745106, g: 0.5882353, b: 0.43137258, a: 0}
|
||||
- _CamouflageColorB: {r: 0.47058815, g: 0.43137258, b: 0.31372547, a: 0}
|
||||
- _CamouflageDistortionIntensity: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _CamouflageDistortionScale: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _CamouflageDistortionSpeed: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _CamouflageNoiseScaleA: {r: 0.25, g: 0.25, b: 0, a: 0}
|
||||
- _CamouflageNoiseScaleB: {r: 0.25, g: 0.25, b: 0, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorReplaceFromColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ColorReplaceToColor: {r: 0, g: 0, b: 0.2, a: 0}
|
||||
- _CustomFadeNoiseScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _DirectionalAlphaFadeNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0}
|
||||
- _DirectionalDistortionDistortion: {r: 0, g: 0.1, b: 0, a: 0}
|
||||
- _DirectionalDistortionDistortionScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _DirectionalDistortionNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0}
|
||||
- _DirectionalGlowFadeEdgeColor: {r: 11.98431, g: 0.6901961, b: 0.6901961, a: 0}
|
||||
- _DirectionalGlowFadeNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EnchantedHighColor: {r: 0, g: 0.7098798, b: 4.237095, a: 0}
|
||||
- _EnchantedLowColor: {r: 2.996078, g: 0, b: 0, a: 0}
|
||||
- _EnchantedScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _EnchantedSpeed: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _FadingNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _FadingPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _FlameNoiseScale: {r: 1.2, g: 0.8, b: 0, a: 0}
|
||||
- _FlameSpeed: {r: 0, g: -0.5, b: 0, a: 0}
|
||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _FrozenHighlightColor: {r: 1.797647, g: 4.604501, b: 5.992157, a: 1}
|
||||
- _FrozenHighlightDistortion: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _FrozenHighlightDistortionScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _FrozenHighlightDistortionSpeed: {r: -0.05, g: -0.05, b: 0, a: 0}
|
||||
- _FrozenHighlightScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _FrozenHighlightSpeed: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _FrozenSnowColor: {r: 1.123529, g: 1.373203, b: 1.498039, a: 0}
|
||||
- _FrozenSnowScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _FrozenTint: {r: 1.819608, g: 4.611765, b: 5.992157, a: 0}
|
||||
- _FullAlphaDissolveNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _FullDistortionDistortion: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _FullDistortionNoiseScale: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _FullGlowDissolveEdgeColor: {r: 11.98431, g: 0.627451, b: 0.627451, a: 0}
|
||||
- _FullGlowDissolveNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _GlitchDistortion: {r: 0.1, g: 0, b: 0, a: 0}
|
||||
- _GlitchDistortionScale: {r: 0, g: 3, b: 0, a: 0}
|
||||
- _GlitchDistortionSpeed: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _GlitchMaskScale: {r: 0, g: 0.2, b: 0, a: 0}
|
||||
- _GlitchMaskSpeed: {r: 0, g: 4, b: 0, a: 0}
|
||||
- _GlitchNoiseScale: {r: 0, g: 3, b: 0, a: 0}
|
||||
- _GlitchNoiseSpeed: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _HalftonePosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _HologramTint: {r: 0.3137255, g: 1.662745, b: 2.996078, a: 1}
|
||||
- _InkSpreadColor: {r: 8.47419, g: 5.013525, b: 0.08873497, a: 0}
|
||||
- _InkSpreadNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0}
|
||||
- _InkSpreadPosition: {r: 0.5, g: -1, b: 0, a: 0}
|
||||
- _InnerOutlineColor: {r: 11.98431, g: 1.254902, b: 1.254902, a: 1}
|
||||
- _InnerOutlineDistortionIntensity: {r: 0.01, g: 0.01, b: 0, a: 0}
|
||||
- _InnerOutlineNoiseScale: {r: 4, g: 4, b: 0, a: 0}
|
||||
- _InnerOutlineNoiseSpeed: {r: 0, g: 0.1, b: 0, a: 0}
|
||||
- _InnerOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0}
|
||||
- _MetalColor: {r: 5.992157, g: 3.639216, b: 0.3137255, a: 1}
|
||||
- _MetalHighlightColor: {r: 5.992157, g: 3.796078, b: 0.6588235, a: 1}
|
||||
- _MetalNoiseDistortion: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _MetalNoiseDistortionScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _MetalNoiseDistortionSpeed: {r: -0.05, g: -0.05, b: 0, a: 0}
|
||||
- _MetalNoiseScale: {r: 0.25, g: 0.25, b: 0, a: 0}
|
||||
- _MetalNoiseSpeed: {r: 0.05, g: 0.05, b: 0, a: 0}
|
||||
- _OuterOutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OuterOutlineDistortionIntensity: {r: 0.01, g: 0.01, b: 0, a: 0}
|
||||
- _OuterOutlineNoiseScale: {r: 4, g: 4, b: 0, a: 0}
|
||||
- _OuterOutlineNoiseSpeed: {r: 0, g: 0.1, b: 0, a: 0}
|
||||
- _OuterOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0}
|
||||
- _PingPongGlowFrom: {r: 5.992157, g: 0.1882353, b: 0.1882353, a: 0}
|
||||
- _PingPongGlowTo: {r: 0.1882353, g: 0.1882353, b: 5.992157, a: 0}
|
||||
- _PixelOutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _PixelOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0}
|
||||
- _PoisonColor: {r: 0.3137255, g: 2.996078, b: 0.3137255, a: 0}
|
||||
- _PoisonNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _PoisonNoiseSpeed: {r: 0, g: -0.2, b: 0, a: 0}
|
||||
- _RainbowCenter: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _RainbowNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _RecolorRGBBlueTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBGreenTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBRedTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPBlueTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPCyanTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPGreenTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPPurpleTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPRedTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RecolorRGBYCPYellowTint: {r: 1, g: 1, b: 1, a: 0.5019608}
|
||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ScreenTilingOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ScreenTilingScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _ShadowColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ShadowOffset: {r: 0.05, g: -0.05, b: 0, a: 0}
|
||||
- _ShiftingColorA: {r: 1.498039, g: 0, b: 0, a: 0}
|
||||
- _ShiftingColorB: {r: 1.498039, g: 0.7490196, b: 0, a: 0}
|
||||
- _ShineColor: {r: 11.98431, g: 11.98431, b: 11.98431, a: 0}
|
||||
- _SineGlowColor: {r: 0, g: 2.007843, b: 2.996078, a: 0}
|
||||
- _SineMoveFrequency: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _SineMoveOffset: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- _SineRotatePivot: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _SineScaleFactor: {r: 0.2, g: 0.2, b: 0, a: 0}
|
||||
- _SourceAlphaDissolveNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0}
|
||||
- _SourceAlphaDissolvePosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _SourceGlowDissolveEdgeColor: {r: 11.98431, g: 0.627451, b: 0.627451, a: 0}
|
||||
- _SourceGlowDissolveNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0}
|
||||
- _SourceGlowDissolvePosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _SplitToningHighlightsColor: {r: 1, g: 0.1, b: 0.1, a: 0}
|
||||
- _SplitToningShadowsColor: {r: 0.1, g: 0.4000002, b: 1, a: 0}
|
||||
- _SpriteSheetRect: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _SqueezeCenter: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _SqueezeScale: {r: 2, g: 0, b: 0, a: 0}
|
||||
- _StrongTintTint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _TextureLayer1Color: {r: 0.4494117, g: 1.298301, b: 2.996079, a: 1}
|
||||
- _TextureLayer1Offset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _TextureLayer1Scale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _TextureLayer1ScrollSpeed: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _TextureLayer2Color: {r: 0.4494117, g: 1.298301, b: 2.996079, a: 1}
|
||||
- _TextureLayer2Offset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _TextureLayer2Scale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _TextureLayer2ScrollSpeed: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _UVDistortFrom: {r: -0.02, g: -0.02, b: 0, a: 0}
|
||||
- _UVDistortNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0}
|
||||
- _UVDistortSpeed: {r: 2, g: 2, b: 0, a: 0}
|
||||
- _UVDistortTo: {r: 0.02, g: 0.02, b: 0, a: 0}
|
||||
- _UVRotatePivot: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _UVScalePivot: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _UVScaleScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _UVScrollSpeed: {r: 0.2, g: 0, b: 0, a: 0}
|
||||
- _WorldTilingOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WorldTilingScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48de36862cc7d244283cfef7e860f6c3
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+9150
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d430e5a1618404b4ea2b5fa9ebdee7e0
|
||||
VisualEffectImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f5e38884ddae4f4193ac45637f6c2b2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+645
-20
@@ -393,7 +393,7 @@ MonoBehaviour:
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_RenderPostProcessing: 1
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
@@ -424,7 +424,7 @@ Camera:
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
@@ -480,6 +480,55 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &606796328
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 606796330}
|
||||
- component: {fileID: 606796329}
|
||||
m_Layer: 0
|
||||
m_Name: Global Volume
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &606796329
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 606796328}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IsGlobal: 1
|
||||
priority: 0
|
||||
blendDistance: 0
|
||||
weight: 1
|
||||
sharedProfile: {fileID: 11400000, guid: ce5b9ddde40e4f94aacb55513b99c0ce, type: 2}
|
||||
--- !u!4 &606796330
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 606796328}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.2653519, y: 0.0444257, z: -0.012155832}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &619394800
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -514,7 +563,7 @@ MonoBehaviour:
|
||||
m_BlendStyleIndex: 0
|
||||
m_FalloffIntensity: 0.5
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Intensity: 0.45
|
||||
m_LightVolumeIntensity: 1
|
||||
m_LightVolumeIntensityEnabled: 0
|
||||
m_ApplyToSortingLayers: 00000000
|
||||
@@ -1305,6 +1354,393 @@ Material:
|
||||
- _WorldTilingOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WorldTilingScale: {r: 1, g: 1, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!1 &1076119583
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1076119584}
|
||||
- component: {fileID: 1076119585}
|
||||
m_Layer: 0
|
||||
m_Name: CutLineManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1076119584
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1076119583}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -2.655861, y: -1.042735, z: 0.3322584}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1599995100}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1076119585
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1076119583}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6fe8e1ba5a1fbed40b777c74953b13bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
cutLineWidth: 0.1
|
||||
noiseAmount: 0.05
|
||||
segmentDuration: 4
|
||||
cutLineDelay: 3
|
||||
mainCutLineRenderer: {fileID: 2135342731}
|
||||
--- !u!1 &1134735425
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1134735426}
|
||||
- component: {fileID: 1134735427}
|
||||
m_Layer: 0
|
||||
m_Name: Trail
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &1134735426
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1134735425}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1847799428}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!96 &1134735427
|
||||
TrailRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1134735425}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Time: 1
|
||||
m_PreviewTimeScale: 1
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.027952194
|
||||
value: 0.30451202
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
colorGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
numCornerVertices: 0
|
||||
numCapVertices: 0
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MinVertexDistance: 0.1
|
||||
m_MaskInteraction: 0
|
||||
m_Autodestruct: 0
|
||||
m_Emitting: 1
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &1143393751 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 1022357215298076095, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
m_PrefabInstance: {fileID: 1737761513}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1390739319
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1390739322}
|
||||
- component: {fileID: 1390739321}
|
||||
- component: {fileID: 1390739320}
|
||||
m_Layer: 0
|
||||
m_Name: Visual Effect
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!73398921 &1390739320
|
||||
VFXRenderer:
|
||||
serializedVersion: 1
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390739319}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
--- !u!2083052967 &1390739321
|
||||
VisualEffect:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390739319}
|
||||
m_Enabled: 1
|
||||
m_Asset: {fileID: 8926484042661614526, guid: d430e5a1618404b4ea2b5fa9ebdee7e0, type: 3}
|
||||
m_InitialEventName: OnStop
|
||||
m_InitialEventNameOverriden: 1
|
||||
m_StartSeed: 0
|
||||
m_ResetSeedOnPlay: 0
|
||||
m_AllowInstancing: 1
|
||||
m_ResourceVersion: 1
|
||||
m_PropertySheet:
|
||||
m_Float:
|
||||
m_Array:
|
||||
- m_Value: 0
|
||||
m_Name: Spawn Rate
|
||||
m_Overridden: 0
|
||||
- m_Value: 5
|
||||
m_Name: Density
|
||||
m_Overridden: 0
|
||||
- m_Value: 0.2
|
||||
m_Name: Sparkle Width
|
||||
m_Overridden: 1
|
||||
- m_Value: 0.5
|
||||
m_Name: Drag
|
||||
m_Overridden: 0
|
||||
- m_Value: 1.97
|
||||
m_Name: Initial Velocity Divergence
|
||||
m_Overridden: 1
|
||||
- m_Value: 0.07
|
||||
m_Name: Turbulence Intensity
|
||||
m_Overridden: 1
|
||||
m_Vector2f:
|
||||
m_Array:
|
||||
- m_Value: {x: 0.05, y: 0.05}
|
||||
m_Name: Loop Duration Min/Max
|
||||
m_Overridden: 1
|
||||
- m_Value: {x: 300, y: 1000}
|
||||
m_Name: Burst Count Min/Max
|
||||
m_Overridden: 1
|
||||
- m_Value: {x: 0.02, y: 0.08}
|
||||
m_Name: Size Min/Max
|
||||
m_Overridden: 1
|
||||
- m_Value: {x: 0.2, y: 1}
|
||||
m_Name: Lifetime Min/Max
|
||||
m_Overridden: 1
|
||||
m_Vector3f:
|
||||
m_Array:
|
||||
- m_Value: {x: 0, y: 1, z: 0}
|
||||
m_Name: Bounds_center
|
||||
m_Overridden: 0
|
||||
- m_Value: {x: -0.15, y: 0, z: 0}
|
||||
m_Name: Initial Position
|
||||
m_Overridden: 0
|
||||
- m_Value: {x: 0, y: 0, z: 0}
|
||||
m_Name: Gravity Vector
|
||||
m_Overridden: 1
|
||||
- m_Value: {x: 3, y: 4, z: 2}
|
||||
m_Name: Bounds_size
|
||||
m_Overridden: 0
|
||||
- m_Value: {x: 10, y: 0, z: 0}
|
||||
m_Name: Initial Velocity_vector
|
||||
m_Overridden: 1
|
||||
- m_Value: {x: 0, y: 0, z: 0}
|
||||
m_Name: Turbulence Noise Position
|
||||
m_Overridden: 0
|
||||
m_Vector4f:
|
||||
m_Array: []
|
||||
m_Uint:
|
||||
m_Array: []
|
||||
m_Int:
|
||||
m_Array: []
|
||||
m_Matrix4x4f:
|
||||
m_Array: []
|
||||
m_AnimationCurve:
|
||||
m_Array: []
|
||||
m_Gradient:
|
||||
m_Array:
|
||||
- m_Value:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 0.5816024, g: 0.040479675, b: 0.6377666, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 35533
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 1
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
m_Name: New Gradient
|
||||
m_Overridden: 0
|
||||
m_NamedObject:
|
||||
m_Array: []
|
||||
m_Bool:
|
||||
m_Array: []
|
||||
--- !u!4 &1390739322
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390739319}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 3.66, y: 0.31, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1568743342
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1407,10 +1843,19 @@ MonoBehaviour:
|
||||
snapDistance: 0.3
|
||||
detachDistance: 10
|
||||
tractionSpeed: 1
|
||||
edgePointsScale: 1.2
|
||||
edgePointsScale: 1.15
|
||||
cutLineRenderer: {fileID: 2135342731}
|
||||
cutLineWidth: 0.1
|
||||
noiseAmount: 0.05
|
||||
segmentDuration: 4
|
||||
cutLight: {fileID: 1143393751}
|
||||
lightPulseSpeed: 5
|
||||
lightMaxIntensity: 2.5
|
||||
shakeAmount: 0.045
|
||||
sparkVFX: {fileID: 1390739321}
|
||||
maxEmissionRate: 50
|
||||
emissionChangeSpeed: 100
|
||||
cutLineDelay: 3
|
||||
--- !u!1 &1598025874
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1504,26 +1949,14 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1599995100}
|
||||
- component: {fileID: 1599995099}
|
||||
- component: {fileID: 1599995101}
|
||||
m_Layer: 0
|
||||
m_Name: cutSystem
|
||||
m_Name: CutSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1599995099
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1599995098}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1d60d9d21fc583d41aaa736fc5b2fa72, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IsActive: 0
|
||||
--- !u!4 &1599995100
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1536,9 +1969,198 @@ Transform:
|
||||
m_LocalPosition: {x: 2.8434532, y: 0.57372546, z: 0.1661907}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Children:
|
||||
- {fileID: 1847799428}
|
||||
- {fileID: 1076119584}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1599995101
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1599995098}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ee21f841c30549c43837ad222c4892b3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
snapDistance: 0.3
|
||||
detachDistance: 12
|
||||
directionSwitchCooldown: 0.2
|
||||
tractionSpeed: 2
|
||||
TargetspriteRenderer: {fileID: 2110358530}
|
||||
--- !u!1001 &1737761513
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 1.605
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.029999971
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 82830807308472210, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 95765272387845034, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Light 2D
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d5d856ce44701ae4d8b7a3a8a182a9c8, type: 3}
|
||||
--- !u!1 &1847799427
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1847799428}
|
||||
- component: {fileID: 1847799430}
|
||||
- component: {fileID: 1847799429}
|
||||
m_Layer: 0
|
||||
m_Name: Gear
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1847799428
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1847799427}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.8165469, y: -0.26372546, z: -0.1661907}
|
||||
m_LocalScale: {x: 1.5038, y: 1.5038, z: 1.5038}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1134735426}
|
||||
m_Father: {fileID: 1599995100}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1847799429
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1847799427}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b570555589f44fb4889f5dd5712ced34, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
rotationSpeed: 360
|
||||
snapDistance: 0.3
|
||||
detachDistance: 10
|
||||
--- !u!212 &1847799430
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1847799427}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_Sprite: {fileID: -940084629, guid: bafdc649320f43648818df231a45ad8f, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 0.9116279, y: 0.9162791}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &2110358528
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1854,3 +2476,6 @@ SceneRoots:
|
||||
- {fileID: 1598025876}
|
||||
- {fileID: 1599995100}
|
||||
- {fileID: 2135342730}
|
||||
- {fileID: 1737761513}
|
||||
- {fileID: 606796330}
|
||||
- {fileID: 1390739322}
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class CutLineManager : MonoBehaviour
|
||||
{
|
||||
[Header("切割线参数")]
|
||||
public float cutLineWidth = 0.1f;
|
||||
public float noiseAmount = 0.05f; // 毛刺偏移幅度
|
||||
public float segmentDuration = 4f; // 线段持续时间
|
||||
public float cutLineDelay = 3f; // 延迟几秒才显示轨迹点
|
||||
|
||||
public LineRenderer mainCutLineRenderer;
|
||||
private List<TimedPoint> timedCutPoints = new List<TimedPoint>();
|
||||
private bool isCutting = false;
|
||||
public bool IsCutting => isCutting; // Public property to access isCutting state
|
||||
|
||||
private class TimedPoint
|
||||
{
|
||||
public Vector3 position;
|
||||
public float timeAdded;
|
||||
public TimedPoint(Vector3 pos, float time)
|
||||
{
|
||||
position = pos;
|
||||
timeAdded = time;
|
||||
}
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitializeMainCutLine();
|
||||
}
|
||||
|
||||
private void InitializeMainCutLine()
|
||||
{
|
||||
GameObject cutLineObj = new GameObject("MainCutLine");
|
||||
cutLineObj.transform.parent = transform;
|
||||
mainCutLineRenderer = cutLineObj.AddComponent<LineRenderer>();
|
||||
mainCutLineRenderer.positionCount = 0;
|
||||
mainCutLineRenderer.widthCurve = AnimationCurve.Constant(0, 1, cutLineWidth);
|
||||
mainCutLineRenderer.material = new Material(Shader.Find("Sprites/Default"));
|
||||
mainCutLineRenderer.numCapVertices = 0;
|
||||
mainCutLineRenderer.sortingOrder = 1;
|
||||
}
|
||||
|
||||
public void StartCutting()
|
||||
{
|
||||
isCutting = true;
|
||||
timedCutPoints.Clear();
|
||||
if (mainCutLineRenderer != null)
|
||||
{
|
||||
mainCutLineRenderer.positionCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void AddCutPoint(Vector3 point)
|
||||
{
|
||||
if (!isCutting) return;
|
||||
|
||||
if (timedCutPoints.Count == 0 || Vector3.Distance(timedCutPoints[timedCutPoints.Count - 1].position, point) > 0.05f)
|
||||
{
|
||||
timedCutPoints.Add(new TimedPoint(point, Time.time));
|
||||
|
||||
if (timedCutPoints.Count >= 2)
|
||||
{
|
||||
Vector3 prev = timedCutPoints[timedCutPoints.Count - 2].position;
|
||||
Vector3 curr = timedCutPoints[timedCutPoints.Count - 1].position;
|
||||
CreateSegment(prev, curr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void EndCutting()
|
||||
{
|
||||
isCutting = false;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
UpdateCutLineRenderer();
|
||||
}
|
||||
|
||||
private void UpdateCutLineRenderer()
|
||||
{
|
||||
if (mainCutLineRenderer == null) return;
|
||||
|
||||
float currentTime = Time.time;
|
||||
List<Vector3> visiblePoints = new List<Vector3>();
|
||||
|
||||
foreach (var timedPoint in timedCutPoints)
|
||||
{
|
||||
if (currentTime - timedPoint.timeAdded >= cutLineDelay)
|
||||
{
|
||||
visiblePoints.Add(timedPoint.position);
|
||||
}
|
||||
}
|
||||
|
||||
mainCutLineRenderer.positionCount = visiblePoints.Count;
|
||||
if (visiblePoints.Count > 0)
|
||||
mainCutLineRenderer.SetPositions(visiblePoints.ToArray());
|
||||
}
|
||||
|
||||
private void CreateSegment(Vector3 from, Vector3 to)
|
||||
{
|
||||
GameObject segObj = new GameObject("HeatLineSegment");
|
||||
segObj.transform.parent = transform;
|
||||
|
||||
LineRenderer segLine = segObj.AddComponent<LineRenderer>();
|
||||
segLine.positionCount = 2;
|
||||
segLine.SetPosition(0, from);
|
||||
segLine.SetPosition(1, to);
|
||||
segLine.sortingOrder = 4;
|
||||
segLine.material = new Material(Shader.Find("Sprites/Default"));
|
||||
segLine.widthCurve = AnimationCurve.Constant(0, 1, cutLineWidth);
|
||||
segLine.numCapVertices = 0;
|
||||
var segmentController = segObj.AddComponent<HeatLineSegmentController>();
|
||||
segmentController.duration = segmentDuration;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6fe8e1ba5a1fbed40b777c74953b13bd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,198 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class CuttingSystem : MonoBehaviour
|
||||
{
|
||||
[Header("切割系统参数")]
|
||||
public float snapDistance = 0.3f;
|
||||
public float detachDistance = 1.0f;
|
||||
public float directionSwitchCooldown = 0.2f;
|
||||
private CutLineManager cutLineManager;
|
||||
public float tractionSpeed = 2f;
|
||||
|
||||
[Header("测试")]
|
||||
public SpriteRenderer TargetspriteRenderer;
|
||||
private GearController gearController;
|
||||
|
||||
private Camera mainCamera;
|
||||
private int currentEdgeIndex = 0;
|
||||
private int tractionDirection = 1;
|
||||
private float directionSwitchTimer = 0f;
|
||||
|
||||
private enum State { Follow, Traction }
|
||||
private State currentState = State.Follow;
|
||||
|
||||
private List<Vector2> edgePoints;
|
||||
private List<Vector2> originalEdgePoints;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
mainCamera = Camera.main;
|
||||
gearController = GetComponentInChildren<GearController>();
|
||||
cutLineManager = GetComponentInChildren<CutLineManager>();
|
||||
|
||||
edgePoints = new List<Vector2>();
|
||||
originalEdgePoints = new List<Vector2>();
|
||||
|
||||
if (TargetspriteRenderer != null)
|
||||
{
|
||||
InitializeCutting(TargetspriteRenderer);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("TargetspriteRenderer is null!");
|
||||
}
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
UpdateCutting();
|
||||
}
|
||||
|
||||
public void InitializeCutting(SpriteRenderer targetSprite, float edgePointsScale = 1.2f)
|
||||
{
|
||||
if (targetSprite == null) return;
|
||||
LoadEdgePointsFromSprite(targetSprite, edgePointsScale);
|
||||
Debug.Log($"InitializeCutting: edgePoints count = {edgePoints.Count}");
|
||||
}
|
||||
|
||||
public void UpdateCutting()
|
||||
{
|
||||
Vector2 mouseWorldPos = mainCamera.ScreenToWorldPoint(Input.mousePosition);
|
||||
|
||||
if (Input.GetMouseButton(0))
|
||||
{
|
||||
gearController.SetRotation(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gearController.SetRotation(false);
|
||||
}
|
||||
|
||||
switch (currentState)
|
||||
{
|
||||
case State.Follow:
|
||||
UpdateFollowState(mouseWorldPos);
|
||||
break;
|
||||
case State.Traction:
|
||||
UpdateTractionState(mouseWorldPos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadEdgePointsFromSprite(SpriteRenderer targetSprite, float edgePointsScale)
|
||||
{
|
||||
var shapePoints = CuttingUtils.GetSpritePhysicsShapePoints(targetSprite);
|
||||
if (shapePoints == null) return;
|
||||
|
||||
var (scaledPoints, originalPoints) = CuttingUtils.ProcessEdgePoints(shapePoints, targetSprite, edgePointsScale);
|
||||
if (scaledPoints == null) return;
|
||||
|
||||
edgePoints = scaledPoints;
|
||||
originalEdgePoints = originalPoints;
|
||||
Debug.Log($"LoadEdgePointsFromSprite: edgePoints count = {edgePoints.Count}");
|
||||
}
|
||||
|
||||
private void UpdateFollowState(Vector2 mousePos)
|
||||
{
|
||||
gearController.transform.position = mousePos;
|
||||
|
||||
int nearestIndex = CuttingUtils.FindNearestEdgePointIndex(mousePos, edgePoints, out float dist);
|
||||
Debug.Log($"Distance to nearest point: {dist}, Snap distance: {snapDistance}");
|
||||
|
||||
if (dist < snapDistance)
|
||||
{
|
||||
currentEdgeIndex = nearestIndex;
|
||||
|
||||
Vector2 prev = edgePoints[CuttingUtils.WrapIndex(currentEdgeIndex - 1, edgePoints.Count)];
|
||||
Vector2 next = edgePoints[CuttingUtils.WrapIndex(currentEdgeIndex + 1, edgePoints.Count)];
|
||||
|
||||
float distToPrev = Vector2.Distance(mousePos, prev);
|
||||
float distToNext = Vector2.Distance(mousePos, next);
|
||||
|
||||
tractionDirection = (distToNext < distToPrev) ? 1 : -1;
|
||||
|
||||
gearController.transform.position = edgePoints[currentEdgeIndex];
|
||||
currentState = State.Traction;
|
||||
Debug.Log("Switched to Traction state");
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateTractionState(Vector2 mousePos)
|
||||
{
|
||||
Vector2 gearPos = transform.position;
|
||||
|
||||
if (Vector2.Distance(mousePos, gearPos) > detachDistance)
|
||||
{
|
||||
currentState = State.Follow;
|
||||
cutLineManager.EndCutting();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Input.GetMouseButton(0))
|
||||
{
|
||||
cutLineManager.EndCutting();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!cutLineManager.IsCutting)
|
||||
{
|
||||
cutLineManager.StartCutting();
|
||||
}
|
||||
|
||||
int nextIndex = CuttingUtils.WrapIndex(currentEdgeIndex + tractionDirection, edgePoints.Count);
|
||||
Vector2 from = edgePoints[currentEdgeIndex];
|
||||
Vector2 to = edgePoints[nextIndex];
|
||||
|
||||
Vector2 forward = (to - from).normalized;
|
||||
Vector2 toMouse = (mousePos - from).normalized;
|
||||
float angle = Vector2.SignedAngle(forward, toMouse);
|
||||
|
||||
if (Mathf.Abs(angle) > 120f)
|
||||
{
|
||||
directionSwitchTimer += Time.deltaTime;
|
||||
if (directionSwitchTimer > directionSwitchCooldown)
|
||||
{
|
||||
tractionDirection *= -1;
|
||||
directionSwitchTimer = 0f;
|
||||
|
||||
nextIndex = CuttingUtils.WrapIndex(currentEdgeIndex + tractionDirection, edgePoints.Count);
|
||||
from = edgePoints[currentEdgeIndex];
|
||||
to = edgePoints[nextIndex];
|
||||
forward = (to - from).normalized;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
directionSwitchTimer = 0f;
|
||||
}
|
||||
|
||||
Vector2 targetPoint = CuttingUtils.GetClosestPointOnSegment(from, to, mousePos);
|
||||
Vector2 moveDir = (targetPoint - gearPos);
|
||||
float distance = moveDir.magnitude;
|
||||
|
||||
float maxStep = tractionSpeed * Time.deltaTime;
|
||||
|
||||
if (distance <= maxStep)
|
||||
{
|
||||
gearController.transform.position = targetPoint;
|
||||
|
||||
if (Vector2.Distance(targetPoint, to) < 0.01f)
|
||||
{
|
||||
currentEdgeIndex = nextIndex;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gearController.transform.position += (Vector3)(moveDir.normalized * maxStep);
|
||||
}
|
||||
|
||||
Vector2 originalFrom = originalEdgePoints[currentEdgeIndex];
|
||||
Vector2 originalTo = originalEdgePoints[nextIndex];
|
||||
Vector2 originalTargetPoint = CuttingUtils.GetClosestPointOnSegment(originalFrom, originalTo, transform.position);
|
||||
|
||||
Vector3 noisyPoint = originalTargetPoint;
|
||||
noisyPoint.x += Random.Range(-cutLineManager.noiseAmount, cutLineManager.noiseAmount);
|
||||
noisyPoint.y += Random.Range(-cutLineManager.noiseAmount, cutLineManager.noiseAmount);
|
||||
cutLineManager.AddCutPoint(noisyPoint);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee21f841c30549c43837ad222c4892b3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public static class CuttingUtils
|
||||
{
|
||||
public static int FindNearestEdgePointIndex(Vector2 pos, List<Vector2> edgePoints, out float minDist)
|
||||
{
|
||||
int nearestIndex = 0;
|
||||
minDist = float.MaxValue;
|
||||
|
||||
for (int i = 0; i < edgePoints.Count; i++)
|
||||
{
|
||||
float dist = Vector2.Distance(pos, edgePoints[i]);
|
||||
if (dist < minDist)
|
||||
{
|
||||
minDist = dist;
|
||||
nearestIndex = i;
|
||||
}
|
||||
}
|
||||
return nearestIndex;
|
||||
}
|
||||
|
||||
public static Vector2 GetClosestPointOnSegment(Vector2 a, Vector2 b, Vector2 p)
|
||||
{
|
||||
Vector2 ab = b - a;
|
||||
float t = Vector2.Dot(p - a, ab) / ab.sqrMagnitude;
|
||||
t = Mathf.Clamp01(t);
|
||||
return a + ab * t;
|
||||
}
|
||||
|
||||
public static int WrapIndex(int index, int count)
|
||||
{
|
||||
if (index < 0) return count - 2;
|
||||
if (index >= count - 1) return 0;
|
||||
return index;
|
||||
}
|
||||
|
||||
public static List<Vector2> GetSpritePhysicsShapePoints(SpriteRenderer spriteRenderer)
|
||||
{
|
||||
List<Vector2> shapePoints = new List<Vector2>();
|
||||
spriteRenderer.sprite.GetPhysicsShape(0, shapePoints);
|
||||
|
||||
if (shapePoints.Count == 0)
|
||||
{
|
||||
Debug.LogError("目标Sprite没有物理形状点");
|
||||
return null;
|
||||
}
|
||||
|
||||
return shapePoints;
|
||||
}
|
||||
|
||||
public static (List<Vector2> scaledPoints, List<Vector2> originalPoints) ProcessEdgePoints(
|
||||
List<Vector2> shapePoints,
|
||||
SpriteRenderer spriteRenderer,
|
||||
float edgePointsScale = 1.2f,
|
||||
float desiredSegmentLength = 0.1f)
|
||||
{
|
||||
if (shapePoints == null || shapePoints.Count == 0) return (null, null);
|
||||
|
||||
List<Vector2> scaledPoints = new List<Vector2>();
|
||||
List<Vector2> originalPoints = new List<Vector2>();
|
||||
|
||||
// 计算中心点
|
||||
Vector2 center = Vector2.zero;
|
||||
foreach (Vector2 point in shapePoints)
|
||||
{
|
||||
center += point;
|
||||
}
|
||||
center /= shapePoints.Count;
|
||||
|
||||
// 处理每个线段
|
||||
for (int i = 0; i < shapePoints.Count; i++)
|
||||
{
|
||||
Vector2 p1 = spriteRenderer.transform.TransformPoint(shapePoints[i]);
|
||||
Vector2 p2 = spriteRenderer.transform.TransformPoint(shapePoints[(i + 1) % shapePoints.Count]);
|
||||
|
||||
Vector2 scaledP1 = center + (p1 - center) * edgePointsScale;
|
||||
Vector2 scaledP2 = center + (p2 - center) * edgePointsScale;
|
||||
|
||||
float segmentLength = Vector2.Distance(scaledP1, scaledP2);
|
||||
int steps = Mathf.Max(1, Mathf.CeilToInt(segmentLength / desiredSegmentLength));
|
||||
|
||||
for (int s = 0; s < steps; s++)
|
||||
{
|
||||
float t = (float)s / steps;
|
||||
Vector2 interpolated = Vector2.Lerp(scaledP1, scaledP2, t);
|
||||
Vector2 originalInterpolated = Vector2.Lerp(p1, p2, t);
|
||||
scaledPoints.Add(interpolated);
|
||||
originalPoints.Add(originalInterpolated);
|
||||
}
|
||||
}
|
||||
|
||||
// 确保首尾相连
|
||||
if ((scaledPoints[0] - scaledPoints[scaledPoints.Count - 1]).sqrMagnitude > 0.0001f)
|
||||
{
|
||||
scaledPoints.Add(scaledPoints[0]);
|
||||
originalPoints.Add(originalPoints[0]);
|
||||
}
|
||||
|
||||
return (scaledPoints, originalPoints);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6fd7ba5ee9e9b7a4ca602330a830ac95
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class GearController : MonoBehaviour
|
||||
{
|
||||
[Header("齿轮参数")]
|
||||
public float rotationSpeed = 360f;
|
||||
public float snapDistance = 0.3f;
|
||||
public float detachDistance = 10.0f;
|
||||
|
||||
private bool isRotating = false;
|
||||
|
||||
public void SetRotation(bool shouldRotate)
|
||||
{
|
||||
isRotating = shouldRotate;
|
||||
}
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (isRotating)
|
||||
{
|
||||
transform.Rotate(Vector3.forward, -rotationSpeed * Time.deltaTime);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b570555589f44fb4889f5dd5712ced34
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,6 +1,8 @@
|
||||
using System.Collections.Generic;
|
||||
using Shapes;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using UnityEngine.VFX;
|
||||
|
||||
public class GearFollower : MonoBehaviour
|
||||
{
|
||||
@@ -13,12 +15,22 @@ public class GearFollower : MonoBehaviour
|
||||
|
||||
[Header("切割轨迹")]
|
||||
public LineRenderer cutLineRenderer;
|
||||
|
||||
public float cutLineWidth = 0.1f;
|
||||
public float noiseAmount = 0.05f; // 毛刺偏移幅度
|
||||
|
||||
public float segmentDuration = 4f; // 线段持续时间
|
||||
[Header("震动与光照反馈")]
|
||||
public Light2D cutLight; // 需要使用 Unity 的 2D 点光源(URP)
|
||||
public float lightPulseSpeed = 5f;
|
||||
public float lightMaxIntensity = 1.5f;
|
||||
public float shakeAmount = 0.05f;
|
||||
|
||||
[Header("VFX火花")]
|
||||
public VisualEffect sparkVFX; // 关联Spark VFX Graph组件
|
||||
public float maxEmissionRate = 50f; // 最大发射速率
|
||||
public float emissionChangeSpeed = 100f; // 发射速率变化速度
|
||||
|
||||
private float currentEmissionRate = 0f;
|
||||
private Vector3 originalLocalPosition;
|
||||
private List<Vector2> edgePoints;
|
||||
private List<Vector2> originalEdgePoints; // 存储原始边缘点
|
||||
private int currentEdgeIndex = 0;
|
||||
@@ -26,15 +38,10 @@ public class GearFollower : MonoBehaviour
|
||||
|
||||
private enum State { Follow, Traction }
|
||||
private State currentState = State.Follow;
|
||||
|
||||
private Camera mainCamera;
|
||||
|
||||
private List<Vector3> cutLinePoints = new List<Vector3>();
|
||||
private bool isCutting = false;
|
||||
|
||||
private float directionSwitchCooldown = 0.2f;
|
||||
private float directionSwitchTimer = 0f;
|
||||
|
||||
private class TimedPoint
|
||||
{
|
||||
public Vector3 position;
|
||||
@@ -45,25 +52,30 @@ public class GearFollower : MonoBehaviour
|
||||
timeAdded = time;
|
||||
}
|
||||
}
|
||||
|
||||
private List<TimedPoint> timedCutPoints = new List<TimedPoint>();
|
||||
public float cutLineDelay = 3f; // 延迟几秒才显示轨迹点
|
||||
public float cutLineDelay = 3f;
|
||||
private Vector3 shakeOffset = Vector3.zero;
|
||||
private Vector3 targetPosition = Vector3.zero;
|
||||
private bool isInTractionMode = false;
|
||||
|
||||
void Start()
|
||||
{
|
||||
mainCamera = Camera.main;
|
||||
LoadEdgePointsFromSprite();
|
||||
|
||||
if (cutLineRenderer != null)
|
||||
{
|
||||
cutLineRenderer.positionCount = 0;
|
||||
cutLineRenderer.widthCurve = AnimationCurve.Constant(0, 1, cutLineWidth);
|
||||
cutLineRenderer.material = new Material(Shader.Find("Sprites/Default"));
|
||||
cutLineRenderer.numCapVertices = 0; // 线头不圆滑,显锐利
|
||||
cutLineRenderer.numCapVertices = 0;
|
||||
cutLineRenderer.sortingOrder = 1;
|
||||
}
|
||||
if (cutLight != null)
|
||||
{
|
||||
cutLight.intensity = 0f;
|
||||
cutLight.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
Vector2 mouseWorldPos = mainCamera.ScreenToWorldPoint(Input.mousePosition);
|
||||
@@ -72,7 +84,6 @@ public class GearFollower : MonoBehaviour
|
||||
{
|
||||
transform.Rotate(Vector3.forward, -360f * Time.deltaTime);
|
||||
}
|
||||
|
||||
switch (currentState)
|
||||
{
|
||||
case State.Follow:
|
||||
@@ -83,18 +94,60 @@ public class GearFollower : MonoBehaviour
|
||||
break;
|
||||
}
|
||||
UpdateCutLineRenderer();
|
||||
UpdateVisualFeedback();
|
||||
}
|
||||
private void UpdateVisualFeedback()
|
||||
{
|
||||
if (isInTractionMode && isCutting)
|
||||
{
|
||||
// 原始小幅震动
|
||||
Vector2 baseShake = Random.insideUnitCircle * shakeAmount;
|
||||
shakeOffset = (Vector3)baseShake;
|
||||
transform.position = targetPosition + shakeOffset;
|
||||
|
||||
// 根据震动幅度控制灯光强度
|
||||
if (cutLight != null)
|
||||
{
|
||||
cutLight.enabled = true;
|
||||
float intensity = shakeOffset.magnitude / shakeAmount; // 得到 [0,1] 比例
|
||||
cutLight.intensity = intensity * lightMaxIntensity;
|
||||
}
|
||||
// if (sparkVFX != null)
|
||||
// {
|
||||
// sparkVFX.SendEvent("OnPlay"); // 这里的 "OnBurst" 是你在VFX Graph里定义的事件名,需要一致
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
shakeOffset = Vector3.zero;
|
||||
|
||||
if (isInTractionMode)
|
||||
{
|
||||
transform.position = targetPosition;
|
||||
}
|
||||
|
||||
if (cutLight != null)
|
||||
{
|
||||
cutLight.intensity = 0f;
|
||||
cutLight.enabled = false;
|
||||
}
|
||||
// if (sparkVFX != null)
|
||||
// {
|
||||
// sparkVFX.SendEvent("OnStop"); // 这里的 "OnBurst" 是你在VFX Graph里定义的事件名,需要一致
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void LoadEdgePointsFromSprite()
|
||||
{
|
||||
edgePoints = new List<Vector2>();
|
||||
originalEdgePoints = new List<Vector2>(); // 初始化原始边缘点列表
|
||||
originalEdgePoints = new List<Vector2>();
|
||||
if (targetSpriteRenderer == null)
|
||||
{
|
||||
Debug.LogError("targetSpriteRenderer 为空");
|
||||
return;
|
||||
}
|
||||
|
||||
List<Vector2> shapePoints = new List<Vector2>();
|
||||
targetSpriteRenderer.sprite.GetPhysicsShape(0, shapePoints);
|
||||
|
||||
@@ -103,32 +156,26 @@ public class GearFollower : MonoBehaviour
|
||||
Debug.LogError("目标Sprite没有物理形状点");
|
||||
return;
|
||||
}
|
||||
|
||||
float desiredSegmentLength = 0.1f;
|
||||
|
||||
edgePoints.Clear();
|
||||
originalEdgePoints.Clear();
|
||||
|
||||
// 计算中心点
|
||||
Vector2 center = Vector2.zero;
|
||||
foreach (Vector2 point in shapePoints)
|
||||
{
|
||||
center += point;
|
||||
}
|
||||
center /= shapePoints.Count;
|
||||
|
||||
for (int i = 0; i < shapePoints.Count; i++)
|
||||
{
|
||||
Vector2 p1 = targetSpriteRenderer.transform.TransformPoint(shapePoints[i]);
|
||||
Vector2 p2 = targetSpriteRenderer.transform.TransformPoint(shapePoints[(i + 1) % shapePoints.Count]);
|
||||
|
||||
// 计算缩放后的点
|
||||
Vector2 scaledP1 = center + (p1 - center) * edgePointsScale;
|
||||
Vector2 scaledP2 = center + (p2 - center) * edgePointsScale;
|
||||
|
||||
float segmentLength = Vector2.Distance(scaledP1, scaledP2);
|
||||
int steps = Mathf.Max(1, Mathf.CeilToInt(segmentLength / desiredSegmentLength));
|
||||
|
||||
for (int s = 0; s < steps; s++)
|
||||
{
|
||||
float t = (float)s / steps;
|
||||
@@ -144,12 +191,11 @@ public class GearFollower : MonoBehaviour
|
||||
edgePoints.Add(edgePoints[0]);
|
||||
originalEdgePoints.Add(originalEdgePoints[0]);
|
||||
}
|
||||
|
||||
Debug.Log($"边缘点数量:{edgePoints.Count}");
|
||||
}
|
||||
private void UpdateFollowState(Vector2 mousePos)
|
||||
{
|
||||
transform.position = mousePos;
|
||||
isInTractionMode = false;
|
||||
|
||||
int nearestIndex = FindNearestEdgePointIndex(mousePos, out float dist);
|
||||
if (dist < snapDistance)
|
||||
@@ -164,27 +210,28 @@ public class GearFollower : MonoBehaviour
|
||||
|
||||
tractionDirection = (distToNext < distToPrev) ? 1 : -1;
|
||||
|
||||
transform.position = edgePoints[currentEdgeIndex];
|
||||
targetPosition = edgePoints[currentEdgeIndex];
|
||||
transform.position = targetPosition;
|
||||
currentState = State.Traction;
|
||||
isInTractionMode = true;
|
||||
}
|
||||
}
|
||||
private void UpdateTractionState(Vector2 mousePos)
|
||||
{
|
||||
Vector2 gearPos = transform.position;
|
||||
Vector2 gearPos = transform.position - shakeOffset;
|
||||
|
||||
if (Vector2.Distance(mousePos, gearPos) > detachDistance)
|
||||
{
|
||||
currentState = State.Follow;
|
||||
isInTractionMode = false;
|
||||
EndCutting();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Input.GetMouseButton(0))
|
||||
{
|
||||
EndCutting();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isCutting)
|
||||
{
|
||||
StartCutting();
|
||||
@@ -225,7 +272,7 @@ public class GearFollower : MonoBehaviour
|
||||
|
||||
if (distance <= maxStep)
|
||||
{
|
||||
transform.position = targetPoint;
|
||||
targetPosition = targetPoint;
|
||||
|
||||
if (Vector2.Distance(targetPoint, to) < 0.01f)
|
||||
{
|
||||
@@ -234,19 +281,36 @@ public class GearFollower : MonoBehaviour
|
||||
}
|
||||
else
|
||||
{
|
||||
transform.position += (Vector3)(moveDir.normalized * maxStep);
|
||||
targetPosition = (Vector3)gearPos + (Vector3)(moveDir.normalized * maxStep);
|
||||
}
|
||||
transform.position = targetPosition + shakeOffset;
|
||||
|
||||
// 使用原始边缘点来记录切割线
|
||||
Vector2 originalFrom = originalEdgePoints[currentEdgeIndex];
|
||||
Vector2 originalTo = originalEdgePoints[nextIndex];
|
||||
Vector2 originalTargetPoint = GetClosestPointOnSegment(originalFrom, originalTo, transform.position);
|
||||
Vector2 originalTargetPoint = GetClosestPointOnSegment(originalFrom, originalTo, transform.position - shakeOffset);
|
||||
|
||||
// 记录切割点(带噪声模拟毛糙)
|
||||
Vector3 noisyPoint = originalTargetPoint;
|
||||
noisyPoint.x += Random.Range(-noiseAmount, noiseAmount);
|
||||
noisyPoint.y += Random.Range(-noiseAmount, noiseAmount);
|
||||
AddCutPoint(noisyPoint);
|
||||
|
||||
if (sparkVFX != null)
|
||||
{
|
||||
// 计算从切割点到目标精灵中心的向量
|
||||
Vector2 center = targetSpriteRenderer.transform.position;
|
||||
Vector2 toCenter = center - (Vector2)originalTargetPoint;
|
||||
// 计算法线方向(垂直于切割方向)
|
||||
Vector2 normal = Vector2.Perpendicular(moveDir.normalized);
|
||||
// 根据切割方向决定法线方向
|
||||
if (tractionDirection > 0)
|
||||
{
|
||||
normal = -normal;
|
||||
}
|
||||
Vector3 velocity = (Vector3)normal * 10f;
|
||||
sparkVFX.SetVector3("Initial Velocity1", velocity);
|
||||
}
|
||||
}
|
||||
|
||||
private void StartCutting()
|
||||
@@ -257,15 +321,27 @@ public class GearFollower : MonoBehaviour
|
||||
{
|
||||
cutLineRenderer.positionCount = 0;
|
||||
}
|
||||
if (sparkVFX != null)
|
||||
{
|
||||
sparkVFX.Play();
|
||||
}
|
||||
}
|
||||
|
||||
private void AddCutPoint(Vector3 point)
|
||||
{
|
||||
if (timedCutPoints.Count == 0 || Vector3.Distance(timedCutPoints[timedCutPoints.Count - 1].position, point) > 0.05f)
|
||||
{
|
||||
timedCutPoints.Add(new TimedPoint(point, Time.time));
|
||||
|
||||
// 立即创建片段
|
||||
|
||||
// 更新光照位置到最新切点
|
||||
if (cutLight != null)
|
||||
{
|
||||
cutLight.transform.position = point;
|
||||
}
|
||||
// 把火花特效位置设置到当前切割点
|
||||
if (sparkVFX != null)
|
||||
{
|
||||
sparkVFX.transform.position = point;
|
||||
}
|
||||
if (timedCutPoints.Count >= 2)
|
||||
{
|
||||
Vector3 prev = timedCutPoints[timedCutPoints.Count - 2].position;
|
||||
@@ -289,7 +365,6 @@ public class GearFollower : MonoBehaviour
|
||||
}
|
||||
else
|
||||
{
|
||||
// 这里的点还没到延迟时间,不显示
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +376,11 @@ public class GearFollower : MonoBehaviour
|
||||
private void EndCutting()
|
||||
{
|
||||
isCutting = false;
|
||||
// 这里可以添加切割结束后的淡出效果等
|
||||
if (sparkVFX != null)
|
||||
{
|
||||
sparkVFX.Stop();
|
||||
}
|
||||
|
||||
}
|
||||
private int FindNearestEdgePointIndex(Vector2 pos, out float minDist)
|
||||
{
|
||||
@@ -319,7 +398,6 @@ public class GearFollower : MonoBehaviour
|
||||
}
|
||||
return nearestIndex;
|
||||
}
|
||||
|
||||
private Vector2 GetClosestPointOnSegment(Vector2 a, Vector2 b, Vector2 p)
|
||||
{
|
||||
Vector2 ab = b - a;
|
||||
|
||||
Reference in New Issue
Block a user