This commit is contained in:
SoulliesOfficial
2026-06-05 04:45:57 -04:00
parent 3a63641a2c
commit 7c60c40d6b
377 changed files with 10970 additions and 843 deletions

View File

@@ -8,18 +8,19 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PseudoShadow
m_Shader: {fileID: 4800000, guid: c021be98004cdbc488ba46d630d8c33b, type: 3}
m_Shader: {fileID: -6465566751694194690, guid: 649f33c206d66584084b025f12c47309,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- USE_RIM
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
@@ -102,18 +103,22 @@ Material:
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _RimPower: 3
- _ShadowSmoothess: 0.31
- _ShadowSmoothness: 0.74
- _ShadowStrength: 1
- _ShadowThreshold: 0.11
- _ShadowTreshold: 0.04
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _USEWORLDLIGHT: 0
- _UseRim: 1
- _UseWorldLight: 0
- _WorkflowMode: 1
@@ -127,6 +132,7 @@ Material:
- _ShadowColor: {r: 0.22961909, g: 0.22961909, b: 0.299, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &1391350818744910211
MonoBehaviour:
m_ObjectHideFlags: 11
@@ -139,4 +145,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 7
version: 10

View File

@@ -7,7 +7,7 @@ using UnityEngine.InputSystem;
namespace Ichni.RhythmGame.ThemeBundles.Basic
{
public class JudgeTrigger : EnvironmentObject, IHaveNoteJudgeTriggerSubmodule
public class JudgeTrigger : EnvironmentObject, IHaveNoteJudgeTriggerSubmodule, IScheduledElement
{
public SpriteRenderer triggerSprite;
public Collider triggerCollider;
@@ -27,10 +27,26 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
noteJudgeTriggerSubmodule = new NoteJudgeTriggerSubmodule(this);
}
private void Update()
public override void AfterInitialize()
{
base.AfterInitialize();
CoreServices.UpdateScheduler.Register(UpdatePhase.Misc, this);
}
public override void OnDelete()
{
base.OnDelete();
CoreServices.UpdateScheduler.Unregister(UpdatePhase.Misc, this);
}
#region [IScheduledElement] Scheduler Interface
public void ScheduledUpdate(UpdatePhase phase, float songTime)
{
triggerSprite.color = IsMouseOver() ? Color.red : Color.white;
}
public bool IsScheduledActive => isActiveAndEnabled;
#endregion
private bool IsMouseOver()
{

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 81da0a56a4926d64e86f7450e85deb96
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 649f33c206d66584084b025f12c47309
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
useAsTemplate: 0
exposeTemplateAsShader: 0
template:
name:
category:
description:
icon: {instanceID: 0}
thumbnail: {instanceID: 0}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f5148d553573f504e891ac5dbcf3dccc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,481 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6297952219346159445
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Constellation_Cubes
m_Shader: {fileID: 4800000, guid: 7b9c9313dd6fd7a4c95981c520b6c617, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _CUSTOMDATA
- _CUSTOMDATA_OFF
- _EMISSION_ON
- _ENABLEEMISSION_ON
- _FLIPBOOKBLENDING_OFF
- _FX_LIGHT_MODE_UNLIT
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
- SRPDEFAULTUNLIT
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: a6c9d58e2d3a1e14ab9608afade49218, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorBlendMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveRampMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FresnelHDRITex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 29b0e8156f6fb774faf129c83bc9ee33, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
m_Texture: {fileID: 2800000, guid: a6c9d58e2d3a1e14ab9608afade49218, type: 3}
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}
- _MaskMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MatCapTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NoiseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NoiseMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMapping_Map:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RampColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RigLBtF:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RigRTBk:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SixWayEmissionRamp:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _VertexOffset_Map:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _VertexOffset_MaskMap:
m_Texture: {fileID: 0}
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:
- _DissolveRampCount: 2
- _MaskMap2GradientCount: 2
- _MaskMap3GradientCount: 2
- _MaskMapGradientCount: 2
- _RampColorCount: 2
- _UVModeFlag0: 0
- _W9ParticleCustomDataFlag0: 0
- _W9ParticleCustomDataFlag1: 0
- _W9ParticleCustomDataFlag2: 0
- _W9ParticleCustomDataFlag3: 0
- _W9ParticleShaderColorChannelFlag: 0
- _W9ParticleShaderFlags: 0
- _W9ParticleShaderFlags1: 8388608
- _W9ParticleShaderGUIFoldToggle: 19
- _W9ParticleShaderGUIFoldToggle1: 0
- _W9ParticleShaderGUIFoldToggle2: 255
- _W9ParticleShaderWrapFlags: 0
m_Floats:
- _AddPrecomputedVelocity: 0
- _AdditiveToPreMultiplyAlphaLerp: 0
- _AlphaAll: 1
- _AlphaClip: 0
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _BackFaceColor_Toggle: 0
- _BackFirstPassToggle: 0
- _BaseBackColor_Toggle: 0
- _BaseColorIntensityForTimeline: 1
- _BaseMapColorRefine_Toggle: 0
- _BaseMapUVRotation: 0
- _BaseMapUVRotationSpeed: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlinnPhongSpecularToggle: 0
- _BumpMapMaskMode: 0
- _BumpMapToggle: 0
- _BumpScale: 1
- _BumpTexFollowMainTexUVToggle: 0
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _Chachu: 0
- _ChangeSaturability_Toggle: 0
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _ColorBlendAlphaMultiplyMode: 0
- _ColorBlendFollowMainTexUV: 0
- _ColorBlendMap_Toggle: 0
- _ColorMask: 15
- _ColorMode: 0
- _Contrast: 1
- _Contrast_Toggle: 0
- _Cull: 2
- _CullMode: 2
- _CustomData: 0
- _CustomData1W_HueShift_Toggle: 0
- _CustomData1X: 0
- _CustomData1X_MainTexOffsetX_Toggle: 0
- _CustomData1Y: 0
- _CustomData1Y_MainTexOffsetY_Toggle: 0
- _CustomData1Z_Dissolve_Toggle: 0
- _CustomData2W_Toggle: 0
- _CustomData2X: 0
- _CustomData2X_MaskMapOffsetX_Toggle: 0
- _CustomData2Y_MaskMapOffsetY_Toggle: 0
- _CustomData2Z_FresnelOffset_Toggle: 0
- _CustomStencilTest: 0
- _Cutoff: 0.5
- _DepthDecal_Toggle: 0
- _DepthOutline_Toggle: 0
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DissolveLineMaskToggle: 0
- _DissolveMask_Toggle: 0
- _DissolveRampColorBlendMode: 0
- _DissolveRampSourceMode: 0
- _DissolveVoronoi_Toggle: 0
- _Dissolve_Test_Toggle: 0
- _Dissolve_Toggle: 0
- _Dissolve_useRampMap_Toggle: 0
- _DistanceFade_Toggle: 0
- _DistortionBothDirection_Toggle: 0
- _Distortion_Choraticaberrat_Toggle: 0
- _Distortion_Choraticaberrat_WithNoise_Toggle: 1
- _DstBlend: 10
- _DstBlendAlpha: 0
- _DstBlendRGB: 10
- _EdgeFade: 0.05
- _Emi_Distortion_intensity: 0
- _Emission: 1
- _EmissionEnabled: 0
- _EmissionFollowMainTexUV: 0
- _EmissionMapColorIntensity: 1
- _EmissionMapUVRotation: 0
- _EmissionSelfAlphaWeight: 0
- _EnableEmission: 1
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
- _ForceZWriteToggle: 0
- _FrePower: 0.5
- _FresnelColorAffectByAlpha: 1
- _FresnelFadeDistance: 1
- _FresnelInOutSlider: 1
- _FresnelMode: 0
- _FresnelSelfAlphaWeight: 0
- _FxLightMode: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _HueShift: 0
- _HueShift_Toggle: 0
- _IgnoreVetexColor_Toggle: 0
- _IntersectEnabled: 0
- _IntersectRadius: 0.3
- _InvertFresnel_Toggle: 0
- _Mask2_Toggle: 0
- _Mask3_Toggle: 0
- _MaskDistortion_intensity: 0
- _MaskMap2GradientToggle: 0
- _MaskMap3GradientToggle: 0
- _MaskMapGradientToggle: 0
- _MaskMapRotationSpeed: 0
- _MaskMapUVRotation: 0
- _MaskRefineToggle: 0
- _Mask_RotationToggle: 0
- _Mask_Toggle: 0
- _MatCapToggle: 0
- _MeshSourceMode: 0
- _Metallic: 0
- _Mode: 0
- _NoiseMapUVRotation: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _ParallaxMapping_Intensity: 0.05
- _ParallaxMapping_Toggle: 0
- _PolarCoordinatesEnabled: 0
- _PolarCordinateOnlySpecialFunciton_Toggle: 0
- _Portal_MaskToggle: 0
- _Portal_Toggle: 0
- _QueueBias: 0
- _QueueOffset: 0
- _RampColorBlendMode: 0
- _RampColorSourceMode: 0
- _RampColorToggle: 0
- _ReceiveShadows: 1
- _Saturability: 0
- _ScreenDistortModeToggle: 0
- _SixWayColorAbsorptionToggle: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SpecialUVChannelMode: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Stencil: 0
- _StencilComp: 8
- _StencilKeyIndex: 0
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWithoutPlayerToggle: 0
- _StencilWriteMask: 255
- _Surface: 0
- _TWStrength: 0
- _TexDistortion_intensity: 0.5
- _TimeMode: 0
- _TransparentMode: 1
- _UIEffect_Toggle: 0
- _UTwirlEnabled: 0
- _UseRedAsAlpha: 0
- _UseUV1_Toggle: 0
- _VertexOffset_Mask_Toggle: 0
- _VertexOffset_NormalDir_Toggle: 0
- _VertexOffset_StartFromZero: 0
- _VertexOffset_Toggle: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _XianXingCH_UVRota: 0
- _ZOffset_Toggle: 0
- _ZTest: 4
- _ZWrite: 0
- _fogintensity: 1
- _fresnelEnabled: 0
- _jingxiangCH_dire: 0
- _noiseMaskMap_Toggle: 0
- _noisemapEnabled: 0
- _offsetFactor: 0
- _offsetUnits: 0
- _uvRapSoft: 0
m_Colors:
- AlphaAllRangeVec: {r: 0, g: 1, b: 0, a: 0}
- BumpScaleRangeVec: {r: -1, g: 1, b: 0, a: 0}
- Dissolve2XRangeVec: {r: 0, g: 1, b: 0, a: 0}
- Dissolve2YRangeVec: {r: 0, g: 1, b: 0, a: 0}
- DissolveXRangeVec: {r: -1, g: 2, b: 0, a: 0}
- EmiDistortionIntensityRangeVec: {r: -1, g: 1, b: 0, a: 0}
- MaskDistortionIntensityRangeVec: {r: -2, g: 2, b: 0, a: 0}
- SaturabilityRangeVec: {r: 0, g: 1, b: 0, a: 0}
- TexDistortionintensityRangeVec: {r: -1, g: 1, b: 0, a: 0}
- _BaseBackColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _BaseMapColorRefine: {r: 1, g: 1, b: 2, a: 1}
- _BaseMapMaskMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _CameraFadeParams: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorA: {r: 1, g: 1, b: 1, a: 1}
- _ColorBlendColor: {r: 1, g: 1, b: 1, a: 1}
- _ColorBlendMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _ColorBlendVec: {r: 0, g: 0, b: 1, a: 0}
- _ContrastMidColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _CylinderMatrix0: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix1: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix2: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix3: {r: 0, g: 0, b: 0, a: 0}
- _CylinderUVPosOffset: {r: 0, g: 0, b: 0, a: 0}
- _CylinderUVRotate: {r: 0, g: 0, b: 90, a: 0}
- _DepthOutline_Color: {r: 1, g: 1, b: 1, a: 1}
- _DepthOutline_Vec: {r: 0, g: 0.5, b: 0, a: 0}
- _Dissolve: {r: 0.5, g: 1, b: 0, a: 0.1}
- _DissolveLineColor: {r: 1, g: 0, b: 0, a: 1}
- _DissolveOffsetRotateDistort: {r: 0, g: 0, b: 0, a: 0}
- _DissolveRampAlpha0: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampAlpha1: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampAlpha2: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampColor: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor0: {r: 1, g: 0, b: 0, a: 0}
- _DissolveRampColor1: {r: 0, g: 0, b: 0, a: 1}
- _DissolveRampColor2: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor3: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor4: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor5: {r: 1, g: 1, b: 1, a: 1}
- _DissolveVoronoi_Vec: {r: 1, g: 1, b: 2, a: 2}
- _DissolveVoronoi_Vec2: {r: 1, g: 1, b: 2, a: 2}
- _DissolveVoronoi_Vec3: {r: 0, g: 0, b: 0, a: 0}
- _DissolveVoronoi_Vec4: {r: 0, g: 0, b: 0, a: 0}
- _Dissolve_Vec2: {r: 0.2, g: 0.1, b: 0, a: 0}
- _DistortionDirection: {r: 1, g: 1, b: 0, a: 0}
- _EmissionColor: {r: 3.9999998, g: 3.9999998, b: 3.9999998, a: 1}
- _EmissionMapColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionMapUVOffset: {r: 0, g: 0, b: 0, a: 0}
- _Fade: {r: 2, g: 4, b: 0, a: 0}
- _FresnelColor: {r: 1, g: 1, b: 1, a: 1}
- _FresnelRotation: {r: 0, g: 0, b: 0, a: 0.5}
- _FresnelUnit: {r: 0, g: 0.5, b: 1, a: 0.5}
- _InspectorData: {r: 1, g: 1, b: 0, a: 0}
- _IntersectColor: {r: 1, g: 1, b: 1, a: 1}
- _MainTex_Reverse_ST: {r: 1, g: 1, b: 0, a: 0}
- _MaskMap2GradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMap2GradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap2GradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3OffsetAnition: {r: 0, g: 0, b: 0, a: 0}
- _MaskMapGradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMapGradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMapGradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMapOffsetAnition: {r: 0, g: 0, b: 0, a: 0}
- _MaskMapVec: {r: 1, g: 0, b: 0, a: 0}
- _MaskRefineVec: {r: 1, g: 1, b: 0, a: 0}
- _MatCapColor: {r: 1, g: 1, b: 1, a: 1}
- _MatCapInfo: {r: 1, g: 0, b: 0, a: 0}
- _MaterialInfo: {r: 1, g: 1, b: 0, a: 0}
- _NoiseOffset: {r: 0, g: 0, b: 0, a: 0}
- _PCCenter: {r: 0.5, g: 0.5, b: 1, a: 0}
- _ParallaxMapping_Vec: {r: 5, g: 30, b: 0, a: 0}
- _RampColor0: {r: 0, g: 0, b: 0, a: 0}
- _RampColor1: {r: 1, g: 0, b: 0, a: 1}
- _RampColor2: {r: 1, g: 1, b: 1, a: 1}
- _RampColor3: {r: 1, g: 1, b: 1, a: 1}
- _RampColor4: {r: 1, g: 1, b: 1, a: 1}
- _RampColor5: {r: 1, g: 1, b: 1, a: 1}
- _RampColorAlpha0: {r: 1, g: 0, b: 1, a: 1}
- _RampColorAlpha1: {r: 1, g: 0, b: 1, a: 1}
- _RampColorAlpha2: {r: 1, g: 0, b: 1, a: 1}
- _RampColorBlendColor: {r: 1, g: 1, b: 1, a: 1}
- _RampColorMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _SixWayEmissionColor: {r: 1, g: 0.5, b: 0, a: 1}
- _SixWayInfo: {r: 0.5, g: 0, b: 0, a: 0}
- _SoftParticleFadeParams: {r: 0, g: 0.5, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _TWParameter: {r: 0.5, g: 0.5, b: 0, a: 0}
- _UI_MainTex_ST: {r: 1, g: 1, b: 0, a: 0}
- _VertexOffset_CustomDir: {r: 1, g: 1, b: 1, a: 0}
- _VertexOffset_MaskMap_Vec: {r: 0, g: 0, b: 1, a: 0}
- _VertexOffset_Vec: {r: 0, g: 0, b: 1, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7f3a3fba60a3855459fc52a43f105df3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,470 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6297952219346159445
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Constellation_Trails
m_Shader: {fileID: 4800000, guid: 7b9c9313dd6fd7a4c95981c520b6c617, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _CUSTOMDATA
- _CUSTOMDATA_OFF
- _ENABLEEMISSION_ON
- _FLIPBOOKBLENDING_OFF
- _FX_LIGHT_MODE_UNLIT
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
- SRPDEFAULTUNLIT
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: d7b8dd640e42194458cd8292833fb86d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorBlendMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveRampMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FresnelHDRITex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MatCapTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NoiseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NoiseMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMapping_Map:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RampColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RigLBtF:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _RigRTBk:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SixWayEmissionRamp:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _VertexOffset_Map:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _VertexOffset_MaskMap:
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:
- _DissolveRampCount: 2
- _MaskMap2GradientCount: 2
- _MaskMap3GradientCount: 2
- _MaskMapGradientCount: 2
- _RampColorCount: 2
- _UVModeFlag0: 0
- _W9ParticleCustomDataFlag0: 0
- _W9ParticleCustomDataFlag1: 0
- _W9ParticleCustomDataFlag2: 0
- _W9ParticleCustomDataFlag3: 0
- _W9ParticleShaderColorChannelFlag: 0
- _W9ParticleShaderFlags: 0
- _W9ParticleShaderFlags1: 8388608
- _W9ParticleShaderGUIFoldToggle: 16
- _W9ParticleShaderGUIFoldToggle1: 0
- _W9ParticleShaderGUIFoldToggle2: 255
- _W9ParticleShaderWrapFlags: 0
m_Floats:
- _AddPrecomputedVelocity: 0
- _AdditiveToPreMultiplyAlphaLerp: 0
- _AlphaAll: 1
- _AlphaClip: 0
- _AlphaToMask: 0
- _BackFaceColor_Toggle: 0
- _BackFirstPassToggle: 0
- _BaseBackColor_Toggle: 0
- _BaseColorIntensityForTimeline: 1
- _BaseMapColorRefine_Toggle: 0
- _BaseMapUVRotation: 0
- _BaseMapUVRotationSpeed: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlinnPhongSpecularToggle: 0
- _BumpMapMaskMode: 0
- _BumpMapToggle: 0
- _BumpScale: 1
- _BumpTexFollowMainTexUVToggle: 0
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _Chachu: 0
- _ChangeSaturability_Toggle: 0
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _ColorBlendAlphaMultiplyMode: 0
- _ColorBlendFollowMainTexUV: 0
- _ColorBlendMap_Toggle: 0
- _ColorMask: 15
- _ColorMode: 0
- _Contrast: 1
- _Contrast_Toggle: 0
- _Cull: 2
- _CullMode: 0
- _CustomData: 0
- _CustomData1W_HueShift_Toggle: 0
- _CustomData1X: 0
- _CustomData1X_MainTexOffsetX_Toggle: 0
- _CustomData1Y: 0
- _CustomData1Y_MainTexOffsetY_Toggle: 0
- _CustomData1Z_Dissolve_Toggle: 0
- _CustomData2W_Toggle: 0
- _CustomData2X: 0
- _CustomData2X_MaskMapOffsetX_Toggle: 0
- _CustomData2Y_MaskMapOffsetY_Toggle: 0
- _CustomData2Z_FresnelOffset_Toggle: 0
- _CustomStencilTest: 0
- _Cutoff: 0.5
- _DepthDecal_Toggle: 0
- _DepthOutline_Toggle: 0
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DissolveLineMaskToggle: 0
- _DissolveMask_Toggle: 0
- _DissolveRampColorBlendMode: 0
- _DissolveRampSourceMode: 0
- _DissolveVoronoi_Toggle: 0
- _Dissolve_Test_Toggle: 0
- _Dissolve_Toggle: 0
- _Dissolve_useRampMap_Toggle: 0
- _DistanceFade_Toggle: 0
- _DistortionBothDirection_Toggle: 0
- _Distortion_Choraticaberrat_Toggle: 0
- _Distortion_Choraticaberrat_WithNoise_Toggle: 1
- _DstBlend: 10
- _DstBlendAlpha: 0
- _DstBlendRGB: 10
- _EdgeFade: 0.05
- _Emi_Distortion_intensity: 0
- _EmissionEnabled: 0
- _EmissionFollowMainTexUV: 0
- _EmissionMapColorIntensity: 1
- _EmissionMapUVRotation: 0
- _EmissionSelfAlphaWeight: 0
- _EnableEmission: 1
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
- _ForceZWriteToggle: 0
- _FrePower: 0.5
- _FresnelColorAffectByAlpha: 1
- _FresnelFadeDistance: 1
- _FresnelInOutSlider: 1
- _FresnelMode: 0
- _FresnelSelfAlphaWeight: 0
- _FxLightMode: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _HueShift: 0
- _HueShift_Toggle: 0
- _IgnoreVetexColor_Toggle: 0
- _IntersectEnabled: 0
- _IntersectRadius: 0.3
- _InvertFresnel_Toggle: 0
- _Mask2_Toggle: 0
- _Mask3_Toggle: 0
- _MaskDistortion_intensity: 0
- _MaskMap2GradientToggle: 0
- _MaskMap3GradientToggle: 0
- _MaskMapGradientToggle: 0
- _MaskMapRotationSpeed: 0
- _MaskMapUVRotation: 0
- _MaskRefineToggle: 0
- _Mask_RotationToggle: 0
- _Mask_Toggle: 0
- _MatCapToggle: 0
- _MeshSourceMode: 0
- _Metallic: 0
- _Mode: 0
- _NoiseMapUVRotation: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _ParallaxMapping_Intensity: 0.05
- _ParallaxMapping_Toggle: 0
- _PolarCoordinatesEnabled: 0
- _PolarCordinateOnlySpecialFunciton_Toggle: 0
- _Portal_MaskToggle: 0
- _Portal_Toggle: 0
- _QueueBias: 0
- _QueueOffset: 0
- _RampColorBlendMode: 0
- _RampColorSourceMode: 0
- _RampColorToggle: 0
- _ReceiveShadows: 1
- _Saturability: 0
- _ScreenDistortModeToggle: 0
- _SixWayColorAbsorptionToggle: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SpecialUVChannelMode: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Stencil: 0
- _StencilComp: 8
- _StencilKeyIndex: 0
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWithoutPlayerToggle: 0
- _StencilWriteMask: 255
- _Surface: 0
- _TWStrength: 0
- _TexDistortion_intensity: 0.5
- _TimeMode: 0
- _TransparentMode: 1
- _UIEffect_Toggle: 0
- _UTwirlEnabled: 0
- _UseRedAsAlpha: 0
- _UseUV1_Toggle: 0
- _VertexOffset_Mask_Toggle: 0
- _VertexOffset_NormalDir_Toggle: 0
- _VertexOffset_StartFromZero: 0
- _VertexOffset_Toggle: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _XianXingCH_UVRota: 0
- _ZOffset_Toggle: 0
- _ZTest: 4
- _ZWrite: 1
- _fogintensity: 1
- _fresnelEnabled: 0
- _jingxiangCH_dire: 0
- _noiseMaskMap_Toggle: 0
- _noisemapEnabled: 0
- _offsetFactor: 0
- _offsetUnits: 0
- _uvRapSoft: 0
m_Colors:
- AlphaAllRangeVec: {r: 0, g: 1, b: 0, a: 0}
- BumpScaleRangeVec: {r: -1, g: 1, b: 0, a: 0}
- Dissolve2XRangeVec: {r: 0, g: 1, b: 0, a: 0}
- Dissolve2YRangeVec: {r: 0, g: 1, b: 0, a: 0}
- DissolveXRangeVec: {r: -1, g: 2, b: 0, a: 0}
- EmiDistortionIntensityRangeVec: {r: -1, g: 1, b: 0, a: 0}
- MaskDistortionIntensityRangeVec: {r: -2, g: 2, b: 0, a: 0}
- SaturabilityRangeVec: {r: 0, g: 1, b: 0, a: 0}
- TexDistortionintensityRangeVec: {r: -1, g: 1, b: 0, a: 0}
- _BaseBackColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _BaseMapColorRefine: {r: 1, g: 1, b: 2, a: 1}
- _BaseMapMaskMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _CameraFadeParams: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorA: {r: 1, g: 1, b: 1, a: 1}
- _ColorBlendColor: {r: 1, g: 1, b: 1, a: 1}
- _ColorBlendMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _ColorBlendVec: {r: 0, g: 0, b: 1, a: 0}
- _ContrastMidColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _CylinderMatrix0: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix1: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix2: {r: 0, g: 0, b: 0, a: 0}
- _CylinderMatrix3: {r: 0, g: 0, b: 0, a: 0}
- _CylinderUVPosOffset: {r: 0, g: 0, b: 0, a: 0}
- _CylinderUVRotate: {r: 0, g: 0, b: 90, a: 0}
- _DepthOutline_Color: {r: 1, g: 1, b: 1, a: 1}
- _DepthOutline_Vec: {r: 0, g: 0.5, b: 0, a: 0}
- _Dissolve: {r: 0.5, g: 1, b: 0, a: 0.1}
- _DissolveLineColor: {r: 1, g: 0, b: 0, a: 1}
- _DissolveOffsetRotateDistort: {r: 0, g: 0, b: 0, a: 0}
- _DissolveRampAlpha0: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampAlpha1: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampAlpha2: {r: 1, g: 0, b: 1, a: 1}
- _DissolveRampColor: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor0: {r: 1, g: 0, b: 0, a: 0}
- _DissolveRampColor1: {r: 0, g: 0, b: 0, a: 1}
- _DissolveRampColor2: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor3: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor4: {r: 1, g: 1, b: 1, a: 1}
- _DissolveRampColor5: {r: 1, g: 1, b: 1, a: 1}
- _DissolveVoronoi_Vec: {r: 1, g: 1, b: 2, a: 2}
- _DissolveVoronoi_Vec2: {r: 1, g: 1, b: 2, a: 2}
- _DissolveVoronoi_Vec3: {r: 0, g: 0, b: 0, a: 0}
- _DissolveVoronoi_Vec4: {r: 0, g: 0, b: 0, a: 0}
- _Dissolve_Vec2: {r: 0.2, g: 0.1, b: 0, a: 0}
- _DistortionDirection: {r: 1, g: 1, b: 0, a: 0}
- _EmissionColor: {r: 3.9999998, g: 3.9999998, b: 3.9999998, a: 1}
- _EmissionMapColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionMapUVOffset: {r: 0, g: 0, b: 0, a: 0}
- _Fade: {r: 2, g: 4, b: 0, a: 0}
- _FresnelColor: {r: 1, g: 1, b: 1, a: 1}
- _FresnelRotation: {r: 0, g: 0, b: 0, a: 0.5}
- _FresnelUnit: {r: 0, g: 0.5, b: 1, a: 0.5}
- _InspectorData: {r: 1, g: 1, b: 0, a: 0}
- _IntersectColor: {r: 1, g: 1, b: 1, a: 1}
- _MainTex_Reverse_ST: {r: 1, g: 1, b: 0, a: 0}
- _MaskMap2GradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMap2GradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap2GradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3GradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMap3OffsetAnition: {r: 0, g: 0, b: 0, a: 0}
- _MaskMapGradientFloat0: {r: 0, g: 0, b: 1, a: 1}
- _MaskMapGradientFloat1: {r: 1, g: 0, b: 1, a: 1}
- _MaskMapGradientFloat2: {r: 1, g: 0, b: 1, a: 1}
- _MaskMapOffsetAnition: {r: 0, g: 0, b: 0, a: 0}
- _MaskMapVec: {r: 1, g: 0, b: 0, a: 0}
- _MaskRefineVec: {r: 1, g: 1, b: 0, a: 0}
- _MatCapColor: {r: 1, g: 1, b: 1, a: 1}
- _MatCapInfo: {r: 1, g: 0, b: 0, a: 0}
- _MaterialInfo: {r: 1, g: 1, b: 0, a: 0}
- _NoiseOffset: {r: 0, g: 0, b: 0, a: 0}
- _PCCenter: {r: 0.5, g: 0.5, b: 1, a: 0}
- _ParallaxMapping_Vec: {r: 5, g: 30, b: 0, a: 0}
- _RampColor0: {r: 0, g: 0, b: 0, a: 0}
- _RampColor1: {r: 1, g: 0, b: 0, a: 1}
- _RampColor2: {r: 1, g: 1, b: 1, a: 1}
- _RampColor3: {r: 1, g: 1, b: 1, a: 1}
- _RampColor4: {r: 1, g: 1, b: 1, a: 1}
- _RampColor5: {r: 1, g: 1, b: 1, a: 1}
- _RampColorAlpha0: {r: 1, g: 0, b: 1, a: 1}
- _RampColorAlpha1: {r: 1, g: 0, b: 1, a: 1}
- _RampColorAlpha2: {r: 1, g: 0, b: 1, a: 1}
- _RampColorBlendColor: {r: 1, g: 1, b: 1, a: 1}
- _RampColorMapOffset: {r: 0, g: 0, b: 0, a: 0}
- _SixWayEmissionColor: {r: 1, g: 0.5, b: 0, a: 1}
- _SixWayInfo: {r: 0.5, g: 0, b: 0, a: 0}
- _SoftParticleFadeParams: {r: 0, g: 0.5, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _TWParameter: {r: 0.5, g: 0.5, b: 0, a: 0}
- _UI_MainTex_ST: {r: 1, g: 1, b: 0, a: 0}
- _VertexOffset_CustomDir: {r: 1, g: 1, b: 1, a: 0}
- _VertexOffset_MaskMap_Vec: {r: 0, g: 0, b: 1, a: 0}
- _VertexOffset_Vec: {r: 0, g: 0, b: 1, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 17532ba13eb098a4c8f50bca5bd367c6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -8,12 +8,13 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DTM_Particle_CircleFilled
m_Shader: {fileID: 4800000, guid: 44e8d6dab1446644688189717537509a, type: 3}
m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION_ON
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _EMISSION_ON
- _FLIPBOOKBLENDING_OFF
- _RECEIVE_SHADOWS_OFF
- _SURFACE_TYPE_TRANSPARENT
@@ -54,7 +55,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Texture: {fileID: 2800000, guid: 100d5727b1babc14bac90fe9c56af800, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
@@ -99,6 +100,7 @@ Material:
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
@@ -109,6 +111,7 @@ Material:
- _ClearCoatSmoothness: 0
- _ColorMode: 0
- _Cull: 0
- _CullMode: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
@@ -118,7 +121,9 @@ Material:
- _DistortionStrengthScaled: 0.1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _DstBlendRGB: 10
- _Emission: 1
- _EnableEmission: 0
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
@@ -140,7 +145,10 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Surface: 1
- _UseParticleDataForEmission: 0
- _UseParticleDataForUV: 0
- _UseRedAsAlpha: 0
- _WorkflowMode: 1
- _ZWrite: 0
@@ -153,6 +161,7 @@ Material:
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &4307804061689224809
MonoBehaviour:
m_ObjectHideFlags: 11

View File

@@ -8,10 +8,11 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DTM_Particle_CircleFrame
m_Shader: {fileID: 4800000, guid: 44e8d6dab1446644688189717537509a, type: 3}
m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_ValidKeywords:
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _EMISSION_ON
- _FLIPBOOKBLENDING_OFF
@@ -54,7 +55,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Texture: {fileID: 2800000, guid: fbe832ad3ddee6d4fa42b43d51f590ca, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
@@ -99,6 +100,7 @@ Material:
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
@@ -109,6 +111,7 @@ Material:
- _ClearCoatSmoothness: 0
- _ColorMode: 0
- _Cull: 0
- _CullMode: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
@@ -118,7 +121,9 @@ Material:
- _DistortionStrengthScaled: 0.1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _DstBlendRGB: 10
- _Emission: 1
- _EnableEmission: 0
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
@@ -140,7 +145,10 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Surface: 1
- _UseParticleDataForEmission: 0
- _UseParticleDataForUV: 0
- _UseRedAsAlpha: 0
- _WorkflowMode: 1
- _ZWrite: 0

View File

@@ -8,10 +8,11 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DTM_Particle_SquareFilled
m_Shader: {fileID: 4800000, guid: 44e8d6dab1446644688189717537509a, type: 3}
m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_ValidKeywords:
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _EMISSION_ON
- _FLIPBOOKBLENDING_OFF
@@ -54,7 +55,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Texture: {fileID: 2800000, guid: 8aab63c1a7ab4224f8654722f5226d48, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
@@ -99,6 +100,7 @@ Material:
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
@@ -109,6 +111,7 @@ Material:
- _ClearCoatSmoothness: 0
- _ColorMode: 0
- _Cull: 0
- _CullMode: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
@@ -118,7 +121,9 @@ Material:
- _DistortionStrengthScaled: 0.1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _DstBlendRGB: 10
- _Emission: 1
- _EnableEmission: 0
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
@@ -140,7 +145,10 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Surface: 1
- _UseParticleDataForEmission: 0
- _UseParticleDataForUV: 0
- _UseRedAsAlpha: 0
- _WorkflowMode: 1
- _ZWrite: 0

View File

@@ -8,10 +8,11 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DTM_Particle_SquareFrame
m_Shader: {fileID: 4800000, guid: 44e8d6dab1446644688189717537509a, type: 3}
m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_ValidKeywords:
- _BLENDMODE_ALPHA
m_InvalidKeywords:
- _EMISSION_ON
- _FLIPBOOKBLENDING_OFF
@@ -54,7 +55,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Texture: {fileID: 2800000, guid: dab600c6971d35b4a81215bbd7879c40, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
@@ -99,6 +100,7 @@ Material:
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
@@ -109,6 +111,7 @@ Material:
- _ClearCoatSmoothness: 0
- _ColorMode: 0
- _Cull: 0
- _CullMode: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
@@ -118,7 +121,9 @@ Material:
- _DistortionStrengthScaled: 0.1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _DstBlendRGB: 10
- _Emission: 1
- _EnableEmission: 0
- _EnvironmentReflections: 1
- _FlipbookBlending: 0
- _FlipbookMode: 0
@@ -140,7 +145,10 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _SrcBlendRGB: 5
- _Surface: 1
- _UseParticleDataForEmission: 0
- _UseParticleDataForUV: 0
- _UseRedAsAlpha: 0
- _WorkflowMode: 1
- _ZWrite: 0

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bcd1edbea95d0514c8bf1a58c8503482
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: departure_to_multiverse
assetBundleVariant:

View File

@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
{
[System.Serializable]
public class DTMConstellation_BM : EnvironmentObject_BM
{
// Constellation Settings
public int maxParticles = 10;
public int maxLineCount = 12;
public Vector3 spreadSize = new Vector3(20f, 20f, 20f);
public int maxConnectionsPerStar = 3;
// Visual Settings
public float maxConnectionDistance = 20f;
public float activeStarSize = 1f;
public float lineWidth = 0.1f;
// Particle Motion Settings
public Vector3 orbitalVelocity = Vector3.one * 0.1f;
public float angularVelocity = 60f;
// 颜色由 ColorSubmodule_BM 统一管理,此处不存储
public DTMConstellation_BM()
{
}
public DTMConstellation_BM(
string elementName, Guid elementGuid, List<string> tags, GameElement_BM attachedElement,
string themeBundleName, string objectName, bool isStatic,
int maxParticles, int maxLineCount,
Vector3 spreadSize, int maxConnectionsPerStar,
float maxConnectionDistance, float activeStarSize, float lineWidth,
Vector3 orbitalVelocity, float angularVelocity)
: base(elementName, elementGuid, tags, attachedElement, themeBundleName, objectName, isStatic)
{
this.maxParticles = maxParticles;
this.maxLineCount = maxLineCount;
this.spreadSize = spreadSize;
this.maxConnectionsPerStar = maxConnectionsPerStar;
this.maxConnectionDistance = maxConnectionDistance;
this.activeStarSize = activeStarSize;
this.lineWidth = lineWidth;
this.orbitalVelocity = orbitalVelocity;
this.angularVelocity = angularVelocity;
}
public override void ExecuteBM()
{
matchedElement = DTMConstellation.GenerateElement(
elementName, elementGuid, tags, false,
themeBundleName, objectName, GetElement(attachedElementGuid), isStatic,
maxParticles, maxLineCount,
spreadSize, maxConnectionsPerStar,
maxConnectionDistance, activeStarSize, lineWidth,
orbitalVelocity, angularVelocity);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1a1ccbb5854a4bc408bf64aeb4e002bf

View File

@@ -0,0 +1,430 @@
using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
using Unity.Collections;
using Unity.Jobs;
using Unity.Burst;
using Random = UnityEngine.Random;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
public partial class DTMConstellation : EnvironmentObject, IScheduledElement
{
[Header("Core References")]
[Tooltip("拖入用于生成节点的粒子系统")]
public ParticleSystem starParticleSystem;
[Tooltip("拖入用于渲染连线的 MeshFilter")]
public MeshFilter lineMeshFilter;
[SerializeField]
private Camera mainCam;
[Header("Constellation Settings (星座设置)")]
[Tooltip("这个星座包含的星星总数")]
public int maxParticles = 10;
[Tooltip("整个星座允许产生的最大连线数量")]
public int maxLineCount = 12;
// 【修改】:使用 Vector3 代替单轴 Radius控制长方体生成体积
[Tooltip("星座的散布体积 (长宽高)")]
public Vector3 spreadSize = new Vector3(20f, 20f, 20f);
[Tooltip("单颗星星的最大连线数 (建议设置在 2 到 4 之间)")]
public int maxConnectionsPerStar = 3;
[Header("Visual Settings (视觉设置)")]
public float maxConnectionDistance = 20f;
public float activeStarSize = 1f;
public float lineWidth = 0.1f;
[Header("Particle Motion Settings (粒子运动设置)")]
[Tooltip("星系整体的轨道旋转速度 (Velocity over Lifetime -> Orbital)")]
public Vector3 orbitalVelocity = Vector3.one * 0.1f;
[Tooltip("星星自身的旋转角速度 (Rotation over Lifetime -> Angular Velocity)")]
public float angularVelocity = 60f;
// 【新增】:连线 Mesh 的渲染器,用于同步 EmissionColor 到材质
public Renderer lineRenderer;
private ParticleSystem.Particle[] particles;
private Mesh lineMesh;
private bool hasInitializedSpawning = false;
public static DTMConstellation GenerateElement(
string elementName, Guid id, List<string> tags,
bool isFirstGenerated, string themeBundleName, string objectName,
GameElement parentElement, bool isStatic,
int maxParticles, int maxLineCount,
Vector3 spreadSize, int maxConnectionsPerStar,
float maxConnectionDistance, float activeStarSize, float lineWidth,
Vector3 orbitalVelocity, float angularVelocity)
{
DTMConstellation constellation = EnvironmentObject.GenerateElement(
elementName, id, tags, isFirstGenerated,
themeBundleName, objectName, parentElement, isStatic)
.GetComponent<DTMConstellation>();
constellation.maxParticles = maxParticles;
constellation.maxLineCount = maxLineCount;
constellation.spreadSize = spreadSize;
constellation.maxConnectionsPerStar = maxConnectionsPerStar;
constellation.maxConnectionDistance = maxConnectionDistance;
constellation.activeStarSize = activeStarSize;
constellation.lineWidth = lineWidth;
constellation.orbitalVelocity = orbitalVelocity;
constellation.angularVelocity = angularVelocity;
return constellation;
}
public override void FirstSetUpObject(bool isFirstGenerated)
{
// 粒子数组和 Mesh 在此初始化Prefab 实例化后立即运行)
mainCam = GameManager.Instance.cameraManager.gameCamera.cam ?? Camera.main;
particles = new ParticleSystem.Particle[maxParticles];
lineMesh = new Mesh();
lineMesh.name = "Constellation_Lines_Mesh";
lineMesh.MarkDynamic();
if (lineMeshFilter != null) lineMeshFilter.sharedMesh = lineMesh;
var psRenderer = starParticleSystem?.GetComponent<ParticleSystemRenderer>();
if (psRenderer != null) psRenderer.enabled = true;
if (starParticleSystem != null)
{
var emission = starParticleSystem.emission;
emission.enabled = false;
}
// 实例化连线材质,确保 EmissionColor 修改不污染共享资源
if (lineRenderer != null)
lineRenderer.InitializeShader();
}
public override void AfterInitialize()
{
base.AfterInitialize();
ApplyColorSubmodule();
CoreServices.UpdateScheduler.Register(UpdatePhase.Effect, this);
}
public override void OnDelete()
{
base.OnDelete();
CoreServices.UpdateScheduler.Unregister(UpdatePhase.Effect, this);
}
public override void Refresh()
{
base.Refresh();
ApplyColorSubmodule();
}
public override void OnDirtyRefresh(Dictionary<string, bool> flags)
{
ApplyColorSubmodule();
}
/// <summary>将 colorSubmodule 的当前颜色同步到粒子和线条材质</summary>
private void ApplyColorSubmodule()
{
if (colorSubmodule == null) return;
// BaseColor → 粒子 startColor重新发射时使用或逐帧设置已存粒子
if (particles != null)
{
int aliveCount = starParticleSystem != null
? starParticleSystem.GetParticles(particles)
: 0;
Color32 c32 = colorSubmodule.currentBaseColor;
for (int i = 0; i < aliveCount; i++)
particles[i].startColor = c32;
if (aliveCount > 0 && starParticleSystem != null)
starParticleSystem.SetParticles(particles, aliveCount);
}
// EmissionColor → 连线材质
if (lineRenderer != null && lineRenderer.material != null)
{
starParticleSystem.GetComponent<ParticleSystemRenderer>().material.SetColor("_EmissionColor", colorSubmodule.GetCurrentEmissionColor());
lineRenderer.material.SetColor("_EmissionColor", colorSubmodule.GetCurrentEmissionColor());
Debug.Log($"Applied EmissionColor {colorSubmodule.GetCurrentEmissionColor()} to line material of {objectName}");
}
}
void Update()
{
// 保留以供 Unity Editor 中 [Button] 的调用;运行时由调度器驱动
}
#region [IScheduledElement] Scheduler Interface
public void ScheduledUpdate(UpdatePhase phase, float songTime)
{
// 一次性初始化(等价于原 Update() 的首次执行)
if (!hasInitializedSpawning)
{
GenerateSingleConstellation();
hasInitializedSpawning = true;
}
// 每帧 Burst Job 连线 Mesh 重建(原 LateUpdate 逻辑)
BuildConstellationMesh();
}
public bool IsScheduledActive => isActiveAndEnabled;
#endregion
[Button("Refresh Constellation")]
public void GenerateSingleConstellation()
{
starParticleSystem.Stop();
starParticleSystem.Clear();
// --- 【新增】:通过代码接管并设置 Velocity over Lifetime 模块 ---
// 注意:如果轨道旋转不为零,则强制开启该模块
var vol = starParticleSystem.velocityOverLifetime;
if (orbitalVelocity != Vector3.zero)
{
vol.enabled = true;
vol.orbitalX = new ParticleSystem.MinMaxCurve(orbitalVelocity.x);
vol.orbitalY = new ParticleSystem.MinMaxCurve(orbitalVelocity.y);
vol.orbitalZ = new ParticleSystem.MinMaxCurve(orbitalVelocity.z);
}
else
{
vol.enabled = false;
}
// --- 【新增】:通过代码接管并设置 Rotation over Lifetime 模块 ---
var rol = starParticleSystem.rotationOverLifetime;
if (angularVelocity != 0f)
{
rol.enabled = true;
// 对于普通的 Billboard 粒子Z 轴旋转就是屏幕空间上的二维自转
rol.z = new ParticleSystem.MinMaxCurve(angularVelocity * Mathf.Deg2Rad); // 转换为弧度
}
else
{
rol.enabled = false;
}
ParticleSystem.EmitParams emitParams = new ParticleSystem.EmitParams();
for (int i = 0; i < maxParticles; i++)
{
float x = Random.Range(-spreadSize.x * 0.5f, spreadSize.x * 0.5f);
float y = Random.Range(-spreadSize.y * 0.5f, spreadSize.y * 0.5f);
float z = Random.Range(-spreadSize.z * 0.5f, spreadSize.z * 0.5f);
emitParams.position = new Vector3(x, y, z);
// startColor 使用 colorSubmodule 的当前 BaseColor单色
emitParams.startColor = colorSubmodule != null
? (Color32)colorSubmodule.currentBaseColor
: new Color32(0, 255, 255, 255);
// 为了让自身旋转可见,可以在生成时赋予一个随机的初始旋转角度
emitParams.rotation3D = new Vector3(0, 0, Random.Range(0f, 360f));
starParticleSystem.Emit(emitParams, 1);
}
starParticleSystem.Play();
}
void LateUpdate()
{
// 已迁移到调度器 Phase 7 (Effect) 的 ScheduledUpdate → BuildConstellationMesh()
}
private void BuildConstellationMesh()
{
if (starParticleSystem == null || lineMeshFilter == null) return;
int aliveCount = starParticleSystem.GetParticles(particles);
if (aliveCount < 2)
{
lineMesh.Clear();
return;
}
int processCount = Mathf.Min(aliveCount, maxParticles);
NativeArray<Vector3> positions = new NativeArray<Vector3>(processCount, Allocator.TempJob);
NativeArray<Color32> starColors = new NativeArray<Color32>(processCount, Allocator.TempJob);
NativeArray<int> connectionCounts = new NativeArray<int>(processCount, Allocator.TempJob);
NativeArray<bool> adjacencyMatrix = new NativeArray<bool>(processCount * processCount, Allocator.TempJob);
for (int i = 0; i < processCount; i++)
{
positions[i] = particles[i].position;
starColors[i] = particles[i].GetCurrentColor(starParticleSystem);
}
NativeList<Vector3> lineVertices = new NativeList<Vector3>(maxLineCount * 4, Allocator.TempJob);
NativeList<Color32> lineColors = new NativeList<Color32>(maxLineCount * 4, Allocator.TempJob);
NativeList<int> lineIndices = new NativeList<int>(maxLineCount * 6, Allocator.TempJob);
ConstellationJob job = new ConstellationJob
{
positions = positions,
colors = starColors,
sqrMaxDistance = maxConnectionDistance * maxConnectionDistance,
lineWidth = lineWidth,
maxLineCount = maxLineCount,
maxConnectionsPerStar = maxConnectionsPerStar,
cameraForward = mainCam.transform.forward,
lineVertices = lineVertices,
lineColors = lineColors,
lineIndices = lineIndices,
connectionCounts = connectionCounts,
adjacencyMatrix = adjacencyMatrix
};
JobHandle handle = job.Schedule();
handle.Complete();
for (int i = 0; i < processCount; i++)
{
particles[i].startSize = connectionCounts[i] > 0 ? activeStarSize : 0f;
}
starParticleSystem.SetParticles(particles, aliveCount);
lineMesh.Clear();
lineMesh.SetVertices(lineVertices.AsArray());
lineMesh.SetColors(lineColors.AsArray());
lineMesh.SetIndices(lineIndices.AsArray(), MeshTopology.Triangles, 0);
lineMesh.RecalculateBounds();
positions.Dispose();
starColors.Dispose();
lineVertices.Dispose();
lineColors.Dispose();
lineIndices.Dispose();
connectionCounts.Dispose();
adjacencyMatrix.Dispose();
}
}
[BurstCompile(CompileSynchronously = true)]
public struct ConstellationJob : IJob
{
public NativeArray<Vector3> positions;
public NativeArray<Color32> colors;
public float sqrMaxDistance;
public float lineWidth;
public int maxLineCount;
public int maxConnectionsPerStar;
public Vector3 cameraForward;
public NativeList<Vector3> lineVertices;
public NativeList<Color32> lineColors;
public NativeList<int> lineIndices;
public NativeArray<int> connectionCounts;
public NativeArray<bool> adjacencyMatrix;
public void Execute()
{
int count = positions.Length;
int currentLineCount = 0;
int vertexOffset = 0;
for (int i = 0; i < count; i++)
{
if (currentLineCount >= maxLineCount) break;
if (connectionCounts[i] >= maxConnectionsPerStar) continue;
for (int j = i + 1; j < count; j++)
{
if (currentLineCount >= maxLineCount) break;
if (connectionCounts[j] >= maxConnectionsPerStar) continue;
if (connectionCounts[i] == 0 || connectionCounts[j] == 0)
{
float distSq = (positions[i] - positions[j]).sqrMagnitude;
if (distSq < sqrMaxDistance)
{
AddLine(i, j, ref vertexOffset, count);
currentLineCount++;
if (connectionCounts[i] >= maxConnectionsPerStar)
{
break;
}
}
}
}
}
for (int i = 0; i < count; i++)
{
if (currentLineCount >= maxLineCount) break;
if (connectionCounts[i] >= maxConnectionsPerStar) continue;
for (int j = i + 1; j < count; j++)
{
if (currentLineCount >= maxLineCount) break;
if (connectionCounts[j] >= maxConnectionsPerStar) continue;
if (adjacencyMatrix[i * count + j]) continue;
float distSq = (positions[i] - positions[j]).sqrMagnitude;
if (distSq < sqrMaxDistance)
{
AddLine(i, j, ref vertexOffset, count);
currentLineCount++;
if (connectionCounts[i] >= maxConnectionsPerStar)
{
break;
}
}
}
}
}
private void AddLine(int i, int j, ref int vertexOffset, int count)
{
Vector3 posA = positions[i];
Vector3 posB = positions[j];
Vector3 direction = posB - posA;
float dirLength = direction.magnitude;
if (dirLength < 0.0001f) return;
direction /= dirLength;
Vector3 perpDir = Vector3.Cross(direction, cameraForward);
if (perpDir.sqrMagnitude < 0.00001f) return;
Vector3 perp = perpDir.normalized * (lineWidth * 0.5f);
lineVertices.Add(posA + perp);
lineVertices.Add(posA - perp);
lineVertices.Add(posB - perp);
lineVertices.Add(posB + perp);
lineColors.Add(colors[i]);
lineColors.Add(colors[i]);
lineColors.Add(colors[j]);
lineColors.Add(colors[j]);
lineIndices.Add(vertexOffset + 0);
lineIndices.Add(vertexOffset + 1);
lineIndices.Add(vertexOffset + 2);
lineIndices.Add(vertexOffset + 0);
lineIndices.Add(vertexOffset + 2);
lineIndices.Add(vertexOffset + 3);
vertexOffset += 4;
connectionCounts[i]++;
connectionCounts[j]++;
adjacencyMatrix[i * count + j] = true;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8ba3055fc57abcb41811796e6a0ed3aa

View File

@@ -7,7 +7,7 @@ using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
public partial class DTMTrail : EnvironmentObject, IHaveTrail, IHaveInteraction
public partial class DTMTrail : EnvironmentObject, IHaveTrail, IHaveInteraction, IScheduledElement
{
#region [] Exposed Fields
public GameObject headPoint, headCircle, sparks;
@@ -76,14 +76,14 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
trailRenderer = trailBody.GetComponent<TrailRenderer>();
trailRenderer.emitting = false;
if (visibleTimeLength.animations.Count == 0) trailRenderer.time = 5f;
// 初始化默认值(兼容旧存档中未序列化字段)
if (widthCurve == null || widthCurve.keys.Length == 0) widthCurve = DefaultWidthCurve();
if (trailAlphaGradient == null) trailAlphaGradient = DefaultTrailGradient();
trailRenderer.widthCurve = widthCurve;
// 收集所有使用 BlendUnlit 的 Renderer
renderers.Clear();
CollectBlendUnlitRenderer(headPoint);
@@ -96,20 +96,36 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
//rend.InitializeShader();
}
sparks.gameObject.SetActive(false);
headPoint.transform.localScale = Vector3.zero;
headCircle.transform.localScale = Vector3.zero;
}
public override void AfterInitialize()
{
base.AfterInitialize();
CoreServices.UpdateScheduler.Register(UpdatePhase.Effect, this);
}
public override void OnDelete()
{
base.OnDelete();
CoreServices.UpdateScheduler.Unregister(UpdatePhase.Effect, this);
}
public override void WhenStart()
{
base.WhenStart();
trailRenderer.emitting = true;
trailRenderer.Clear();
headPoint.gameObject.SetActive(false);
headCircle.gameObject.SetActive(false);
enableTimes.UpdateFlexibleBool(0);
if (!enableTimes.value)
{
headPoint.gameObject.SetActive(false);
headCircle.gameObject.SetActive(false);
}
}
/// <summary>
@@ -218,9 +234,9 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
#endregion
#region [] Event Animation Logic
private void Update()
#region [IScheduledElement] Scheduler Interface
public void ScheduledUpdate(UpdatePhase phase, float songTime)
{
float songTime = CoreServices.TimeProvider.SongTime;
enableTimes.UpdateFlexibleBool(songTime);
if (enableTimes.value && !isHeadEnabled)
{
@@ -245,6 +261,9 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
// headRotateSpeed 控制逻辑留待后续实现
}
}
public bool IsScheduledActive => isActiveAndEnabled;
#endregion
private Sequence enableHeadSequence;
private Sequence disableHeadSequence;