This commit is contained in:
Dom Harris 2021-01-10 18:03:22 +00:00
commit 047dda4139
13 changed files with 382 additions and 88 deletions

View File

@ -12,10 +12,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c271cfa846431634db54fa41238b7b35, type: 3}
m_Name: Accessibility Options
m_EditorClassIdentifier:
_mode: 0
_mode: 1
_calm:
_value: 0
_tunnel: {fileID: 2100000, guid: 439b4d6018bd23e4e91136d099c5b815, type: 2}
_vibe:
_value: 0.5
_tunnel: {fileID: 2100000, guid: 735a92a62479ffd458216009452fec2b, type: 2}
_party:
_value: 1
_tunnel: {fileID: 2100000, guid: 9429becea685bce4fa7b6595601ea615, type: 2}

View File

@ -24,10 +24,6 @@ MonoBehaviour:
multiplier: 2
channel: 0
sample: 355
- name: _NebulaWeight
multiplier: 5
channel: 0
sample: 355
- name: _BarsWeight
multiplier: -500
channel: 1

View File

@ -12,5 +12,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d86361ffc5ae478d9e976629c5d651bd, type: 3}
m_Name: Camera Shake Intensity
m_EditorClassIdentifier:
_initialValue: 0.5
_initialValue: 0.35
_readOnly: 1

View File

@ -109,9 +109,10 @@ Material:
- _CircleThickness: 0.07
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _CoreRadius: 0.27
- _CoreThiccness: 1
- _CoreRadius: 0.01
- _CoreThiccness: 0.03
- _CoreThickness: 0.46
- _CoreYOffset: -0.03
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
@ -128,8 +129,9 @@ Material:
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _GroundMaskAngle: 1
- _GroundWeight: 1
- _Intensity: 1
- _Intensity: 0
- _Metallic: 0
- _Nebula1Power: 3
- _Nebula2Power: 5
@ -142,6 +144,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShakeStrength: 0
- _SkyWeight: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
@ -151,14 +154,19 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BackgroundColor: {r: 0.5471698, g: 0.49697047, b: 0, a: 0}
- _BackgroundColor: {r: 0.037917137, g: 0, b: 0.5, a: 1}
- _BarsColor: {r: 0, g: 0, b: 0, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _CircleColor: {r: 1, g: 1, b: 1, a: 1}
- _CloudColor: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _CoreColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _FractalColor: {r: 1.3876811, g: 1.0683917, b: 2.3455496, a: 1}
- _GroundColor: {r: 4.5947943, g: 4.5947943, b: 4.5947943, a: 1}
- _NebulaColor1: {r: 1, g: 1, b: 1, a: 1}
- _NebulaColor2: {r: 1, g: 1, b: 1, a: 1}
- _FractalColor: {r: 0, g: 0, b: 0, a: 1}
- _GroundColor: {r: 0.84060663, g: 1.1600372, b: 2.5218198, a: 1}
- _NebulaColor1: {r: 0, g: 0, b: 0, a: 1}
- _NebulaColor2: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _StarsColor: {r: 0.0754717, g: 0.0754717, b: 0.0754717, a: 0.05490196}
- _UiColor: {r: 0.254717, g: 0.254717, b: 0.254717, a: 1}
m_BuildTextureStacks: []

View File

@ -107,8 +107,9 @@ Material:
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _CoreRadius: 0.035
- _CoreThiccness: 0.2
- _CoreRadius: 0.025
- _CoreThiccness: 0.5
- _CoreYOffset: -0.03
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
@ -120,7 +121,7 @@ Material:
- _FractalPower: 1
- _FractalRotateSpeed: 20
- _FractalScale: 6
- _FractalWeight: 0.88
- _FractalWeight: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
@ -149,16 +150,19 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BackgroundColor: {r: 0.14150941, g: 0, b: 0, a: 1}
- _BarsColor: {r: 0.007843138, g: 0.45490196, b: 0.7490196, a: 1}
- _BackgroundColor: {r: 0, g: 0, b: 0, a: 1}
- _BarsColor: {r: 1.4980392, g: 0.9019608, b: 1.254902, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _CircleColor: {r: 0, g: 0, b: 0, a: 1}
- _CloudColor: {r: 2, g: 1.2784314, b: 1.2784314, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _CoreColor: {r: 0.70987976, g: 1.0648196, b: 2.1185474, a: 1}
- _CoreColor: {r: 2.1730802, g: 1.3750156, b: 1.2812972, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _FractalColor: {r: 0.7490196, g: 0, b: 0.10980392, a: 1}
- _GroundColor: {r: 0.8553404, g: 1.5620759, b: 4.422736, a: 1}
- _FractalColor: {r: 0, g: 1.5157166, b: 1.1501684, a: 1}
- _GroundColor: {r: 1.056183, g: 1.4528302, b: 0.993681, a: 1}
- _NebulaColor1: {r: 0, g: 0.16862746, b: 0.2509804, a: 1}
- _NebulaColor2: {r: 0.13529412, g: 0.0627451, b: 0.2509804, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _StarsColor: {r: 1, g: 1, b: 1, a: 1}
- _UiColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

View File

@ -102,13 +102,14 @@ Material:
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _BarsWeight: 0
- _BarsWeight: 1
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _CoreRadius: 1
- _CoreThiccness: 1
- _CoreRadius: 0.01
- _CoreThiccness: 0.15
- _CoreYOffset: -0.03
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
@ -120,10 +121,11 @@ Material:
- _FractalPower: 1
- _FractalRotateSpeed: 20
- _FractalScale: 6
- _FractalWeight: 0
- _FractalWeight: 0.2
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _GroundMaskAngle: 1
- _GroundWeight: 1
- _Intensity: 1
- _Metallic: 0
@ -138,23 +140,29 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShakeStrength: 0
- _SkyWeight: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _StarsWeight: 0.05
- _StarsWeight: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BackgroundColor: {r: 0.09794411, g: 0.27564344, b: 0.2924528, a: 0}
- _BackgroundColor: {r: 0, g: 0, b: 0, a: 1}
- _BarsColor: {r: 0, g: 2.1185474, b: 1.6637807, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _CircleColor: {r: 1, g: 1, b: 1, a: 1}
- _CloudColor: {r: 0.21092917, g: 0.42653084, b: 0.5660378, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _CoreColor: {r: 1.2156863, g: 1.4745098, b: 2, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _FractalColor: {r: 1.3876811, g: 1.0683917, b: 2.3455496, a: 1}
- _GroundColor: {r: 1, g: 1, b: 1, a: 1}
- _NebulaColor1: {r: 0, g: 0.67775345, b: 1, a: 1}
- _NebulaColor2: {r: 0.54217625, g: 0.25, b: 1, a: 1}
- _FractalColor: {r: 1, g: 1, b: 1, a: 1}
- _GroundColor: {r: 1.7207954, g: 0.47749817, b: 0.47749817, a: 1}
- _NebulaColor1: {r: 1, g: 1, b: 1, a: 1}
- _NebulaColor2: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _StarsColor: {r: 0.21698111, g: 0.09922791, b: 0.035822347, a: 1}
- _UiColor: {r: 1.1486983, g: 0.9915651, b: 1.0034841, a: 1}
m_BuildTextureStacks: []

View File

@ -1,5 +1,115 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2706018340018036746
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7294003040346186954}
- component: {fileID: 8834682436308275319}
- component: {fileID: 3896128153106572181}
- component: {fileID: 553733887037431971}
- component: {fileID: 7800374533196510489}
m_Layer: 0
m_Name: Quad_Vibe
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7294003040346186954
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2706018340018036746}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 105.96986, y: -8.773619, z: 846.83606}
m_LocalScale: {x: 1850.4741, y: 839.3538, z: 1}
m_Children: []
m_Father: {fileID: 3397488661916228001}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8834682436308275319
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2706018340018036746}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3896128153106572181
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2706018340018036746}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 735a92a62479ffd458216009452fec2b, 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_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &553733887037431971
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2706018340018036746}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!114 &7800374533196510489
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2706018340018036746}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eeb3064c37ab99b49b993f3471e1c9e6, type: 3}
m_Name:
m_EditorClassIdentifier:
_camera: {fileID: 3397488660173986648}
--- !u!1 &3397488660173986650
GameObject:
m_ObjectHideFlags: 0
@ -361,7 +471,7 @@ GameObject:
- component: {fileID: 3397488660842926091}
- component: {fileID: 3397488660842926090}
m_Layer: 0
m_Name: Quad
m_Name: Quad_Calm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -376,7 +486,7 @@ Transform:
m_GameObject: {fileID: 3397488660842926092}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 105.96986, y: -8.773619, z: 846.83606}
m_LocalScale: {x: 1053.1565, y: 1039.2305, z: 1}
m_LocalScale: {x: 1850.4741, y: 839.3538, z: 1}
m_Children: []
m_Father: {fileID: 3397488661916228001}
m_RootOrder: 1
@ -505,8 +615,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
_ship: {fileID: 0}
_fractal: {fileID: 3397488660425852632}
_tunnel: {fileID: 3397488660842926088}
_system: {fileID: 11400000, guid: 65b0561f3154c9f438c3a1e1b443d03d, type: 2}
_tunnel: {fileID: 5076175860835241000}
_accessibility: {fileID: 11400000, guid: a96923938dea0d542aa804067d5b5e81, type: 2}
--- !u!1 &3397488661354499722
GameObject:
@ -570,6 +680,8 @@ Transform:
m_Children:
- {fileID: 3397488660173986649}
- {fileID: 3397488660842926093}
- {fileID: 7294003040346186954}
- {fileID: 4264314760911572847}
m_Father: {fileID: 3397488660859550701}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -611,6 +723,124 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
_playerXPos: {fileID: 11400000, guid: 25280515e18c66c44827faf0cb01ca42, type: 2}
_playerXMove: {fileID: 11400000, guid: 7371e84b7c82f4631a96ac1c00b55fa0, type: 2}
_accessibility: {fileID: 11400000, guid: a96923938dea0d542aa804067d5b5e81, type: 2}
_baseCameraShake: 0.01
_distanceToNextBeat: {fileID: 11400000, guid: 8f05f93192443bc42b8523048bde0dc4, type: 2}
_calm: {fileID: 3397488660842926088}
_vibe: {fileID: 3896128153106572181}
_party: {fileID: 1245450090162021043}
--- !u!1 &3741587353625969785
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4264314760911572847}
- component: {fileID: 6008167300571333066}
- component: {fileID: 1245450090162021043}
- component: {fileID: 8669201711116115348}
- component: {fileID: 686489797996846380}
m_Layer: 0
m_Name: Quad_Party
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4264314760911572847
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3741587353625969785}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 105.96986, y: -8.773619, z: 846.83606}
m_LocalScale: {x: 1850.4741, y: 839.3538, z: 1}
m_Children: []
m_Father: {fileID: 3397488661916228001}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6008167300571333066
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3741587353625969785}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1245450090162021043
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3741587353625969785}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 9429becea685bce4fa7b6595601ea615, 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_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &8669201711116115348
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3741587353625969785}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!114 &686489797996846380
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3741587353625969785}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eeb3064c37ab99b49b993f3471e1c9e6, type: 3}
m_Name:
m_EditorClassIdentifier:
_camera: {fileID: 3397488660173986648}
--- !u!1 &3859152818583472155
GameObject:
m_ObjectHideFlags: 0

View File

@ -721,12 +721,16 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 3397488660842926093, guid: 1f82f952c53fc7449a0091cf29ba3def, type: 3}
propertyPath: m_LocalScale.x
value: 1492.1846
value: 1850.4741
objectReference: {fileID: 0}
- target: {fileID: 3397488660842926093, guid: 1f82f952c53fc7449a0091cf29ba3def, type: 3}
propertyPath: m_LocalScale.y
value: 839.3538
objectReference: {fileID: 0}
- target: {fileID: 3397488660842926093, guid: 1f82f952c53fc7449a0091cf29ba3def, type: 3}
propertyPath: m_LocalPosition.x
value: 105.96986
objectReference: {fileID: 0}
- target: {fileID: 3397488660842926093, guid: 1f82f952c53fc7449a0091cf29ba3def, type: 3}
propertyPath: m_LocalPosition.y
value: -8.773619

View File

@ -24,10 +24,12 @@ public class AccessibilityOptions : ScriptableObject
[Serializable]
public struct IntensitySetting
{
public float Value => _value;
[SerializeField] [Range(0,1)] private float _value;
public Material Tunnel => _tunnel;
[SerializeField] private Material _tunnel;
}
public IntensitySetting Intensity => this[_mode];
[SerializeField] private IntensitySetting _calm;

View File

@ -63,22 +63,8 @@ public class AudioVisualizer : ScriptableObject
var l = spectrum.Length;
if (l == 0) return;
for (int i = 0; i < _fractalAnimations.Length; i++)
{
var anim = _fractalAnimations[i];
var a = spectrum[anim.channel][anim.sample];
fractal.material.SetFloat(anim.name, anim.Initial + anim.multiplier * a);
}
for (int i = 0; i < _tunnelAnimations.Length; i++)
{
var anim = _tunnelAnimations[i];
var a = spectrum[anim.channel][anim.sample];
tunnel.material.SetFloat(anim.name, anim.Initial + anim.multiplier * a);
}
UpdateAnimations(spectrum, _fractalAnimations, fractal);
UpdateAnimations(spectrum, _tunnelAnimations, tunnel);
UpdateAnimations(spectrum, _shipAnimations, ship);
}
@ -88,7 +74,8 @@ public class AudioVisualizer : ScriptableObject
{
var anim = animations[i];
var a = spectrum[anim.channel][anim.sample];
renderer.material.SetFloat(anim.name, anim.Initial + anim.multiplier * a);
var v = anim.Initial + anim.multiplier * a * _accessibility.Intensity.Value;
renderer.material.SetFloat(anim.name, v);
}
}
}

View File

@ -6,8 +6,9 @@ public class AudioVisualizerRuntime : MonoBehaviour
{
[SerializeField] private Renderer _ship;
[SerializeField] private Renderer _fractal;
[SerializeField] private Renderer _tunnel;
// [SerializeField] private Renderer _tunnel;
[SerializeField] private AudioVisualizer _system;
[SerializeField] private TunnelController _tunnel;
[SerializeField] private AccessibilityOptions _accessibility;
// https://qa.fmod.com/t/getting-spectrum-of-master-channel-in-unity/12579/2
@ -21,7 +22,7 @@ public class AudioVisualizerRuntime : MonoBehaviour
{
// pick correct materials for accessibility
// _ship.material = _accessibility.Intensity.Ship;
_tunnel.material = new Material(_accessibility.Intensity.Tunnel);
// _tunnel.material = new Material(_accessibility.Intensity.Tunnel);
}
private void Start()
@ -32,12 +33,11 @@ public class AudioVisualizerRuntime : MonoBehaviour
RuntimeManager.CoreSystem.getMasterChannelGroup(out var channelGroup);
channelGroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, _fft);
_system.Initialise(_fractal.material, _tunnel.material, _ship.material);
_system.Initialise(_fractal.material, _tunnel.Active.material, _ship.material);
}
private void LateUpdate()
{
_system.UpdateAudio(_fft, _fractal, _tunnel, _ship);
_system.UpdateAudio(_fft, _fractal, _tunnel.Active, _ship);
}
}

View File

@ -5,17 +5,19 @@ Shader "custom/tunnel"
// called Base Map.
Properties
{
_BackgroundColor("Background Color", Color) = (0,0,0,0)
[HDR] _BackgroundColor("Background Color", Color) = (0,0,0,0)
[HDR] _NebulaColor1("Nebula Color 1", Color) = (1,1,1,1)
[HDR] _NebulaColor2("Nebula Color 2", Color) = (1,1,1,1)
[HDR] _FractalColor("Fractal Color", Color) = (1,1,1,1)
[HDR] _GroundColor("Ground Color", Color) = (1,1,1,1)
[HDR] _CoreColor("Core Color", Color) = (1,1,1,1)
[HDR] _BarsColor("Bars Color", Color) = (1,1,1,1)
[HDR] _StarsColor("Stars Color", Color) = (1,1,1,1)
[HDR] _CloudColor("Cloud Clolor", Color) = (0,0,0,0)
[HDR] _UiColor("UI Clolor", Color) = (1,1,1,1)
_SkyWeight("Sky Weight", Float) = 1.0
_FractalWeight("Fractal Weight", Range(0.0,1.0)) = 1.0
_NebulaWeight("Nebula Weight", Range(0.0,1.0)) = 1.0
_BarsWeight("Bars Weight", Float) = 1.0
_StarsWeight("Stars Weight", Range(0.0,1.0)) = 1.0
_GroundWeight("Ground Weight", Float) = 1.0
@ -32,9 +34,11 @@ Shader "custom/tunnel"
_CoreRadius("Core Radius", Range(0, 1.0)) = 1.0
_CoreThiccness("Core Thiccness", Range(0,1.0)) = 1.0
_CoreYOffset("Core Offset", Float) = -4.0
_OuterCircleRadius("Outer Circle Radius", Range(0,10)) = 0.5
_OuterCircleThickness("Outer Circle Thickness", Range(0,1.0)) = 0.1
_Intensity("Intensity", Range(0,1.0)) = 1.0
_NebulaMap("Nebula Map", 2D) = "black"
_StarMap("Star Map", 2D) = "black"
@ -42,7 +46,6 @@ Shader "custom/tunnel"
// _ShakeStrength("Shake Strength", Float) = 0.01
_Intensity("Intensity", Float) = 1.0
}
SubShader
@ -80,6 +83,9 @@ Shader "custom/tunnel"
float4 _GroundColor;
float4 _CoreColor;
float4 _BarsColor;
float4 _StarsColor;
float4 _CloudColor;
float4 _UiColor;
float _FractalScale = 6.0;
float _FractalRotateSpeed = 20.0;
@ -90,7 +96,6 @@ Shader "custom/tunnel"
float _Nebula1Power = 1.0;
float _Nebula2Power = 1.0;
float _NebulaWeight = 1.0;
float _SkyWeight;
float _BarsWeight;
@ -101,6 +106,8 @@ Shader "custom/tunnel"
// circles
float _CoreRadius;
float _CoreThiccness;
float _CoreYOffset;
float _OuterCircleRadius;
float _OuterCircleThickness;
@ -178,7 +185,7 @@ Shader "custom/tunnel"
nebula2 *= _NebulaColor2;
nebula2 *= max(0,_Nebula2Power*r - n2_cutoff);
return (nebula1 + nebula2) * _Intensity * _NebulaWeight;
return (nebula1 + nebula2) * _Intensity;
}
float4 stars(float r, float a)
@ -225,10 +232,11 @@ Shader "custom/tunnel"
float4 ground(float2 p, float r, float a)
{
float4 nothing = float4(0,0,0,0);
float angle = PI;
float t = (abs(a/PI)*PI) * -min(p.y, 0);
t = min(r, t);
// float angle = PI;
// t *= -abs(p.y);
// t += ;
// t *= (1.0-r*0.5);
@ -238,9 +246,9 @@ Shader "custom/tunnel"
return lerp(nothing, _GroundColor, t) * _GroundWeight;
}
float4 blurry_circle(float2 p, float radius, float thickness)
float4 blurry_circle(float2 p, float2 c, float radius, float thickness)
{
float r_p = length(p);
float r_p = length(p-c);
// outer circle is white/circle color
// inner circle is black and a bit smaller
@ -261,7 +269,7 @@ Shader "custom/tunnel"
return max(color, 0);
}
float4 filled_circle(float2 p, float r)
float4 filled_circle(float2 p, float2 c, float r)
{
float inside = step(length(p),r);
return lerp(float4(0,0,0,0),float4(1,1,1,1),inside);
@ -303,16 +311,16 @@ Shader "custom/tunnel"
fractal2 *= _FractalWeight;
fractal2 *= _Intensity;
float4 color = _BackgroundColor;
float4 color = float4(0,0,0,0);
// precalc some stuff
float f = fractal1 + fractal2;
float4 f = fractal1 + fractal2;
// float f = fractal2;
float g = ground(p, r, a);
float4 g = ground(p, r, a);
// float g_mask = step(_GroundMaskAngle,g);
float n = nebula(r, a);
float s = stars(r, a);
float b = bars(r, p);
float4 n = nebula(r, a);
float4 s = stars(r, a);
float4 b = bars(r, p);
// fractal
// color += fractal_both;
@ -329,11 +337,12 @@ Shader "custom/tunnel"
// sky
float4 sky = _BackgroundColor;
sky += f * _FractalColor; // fractal
sky += s; // stars
float4 clouds = n;
sky += s * _StarsColor; // stars
float4 clouds = n * _CloudColor;
clouds *= (1.0-g); // mask out ground
sky += clouds;
sky *= (1.0-g); // mask out ground
color += sky;
// sky = max(f,s);
// stars masked by ground
@ -341,12 +350,13 @@ Shader "custom/tunnel"
// ground
float4 ground_color = float4(0,0,0,0);
float4 ground_color = g;
// hazy ground base
ground_color += g;
// ground_color += g;
// speedy boye
float4 ground_fast = n * g;
ground_color += ground_fast;
// ground_color = lerp(ground_color, ground_fast, ground_fast);
ground_color+= ground_fast;
ground_color *= _GroundColor;
color = max(color, ground_color);
@ -355,16 +365,14 @@ Shader "custom/tunnel"
bars_color = lerp(bars_color,ground_color,g);
bars_color *= _BarsColor;
bars_color *= lerp(0, bars_color, _DistanceToNextBeat);
bars_color = lerp(bars_color, ground_color, g);
sky += bars_color * _BarsWeight;
sky *= _SkyWeight;
color += sky;
bars_color = lerp(bars_color, _GroundColor, g);
color = max(bars_color, color);
// core
float4 core_color = blurry_circle(p, _CoreRadius, _CoreThiccness);
float2 core_c = float2(0, _CoreYOffset);
float4 core_color = blurry_circle(p, core_c, _CoreRadius, _CoreThiccness);
core_color *= _CoreColor;
color += core_color;
color = lerp(color, core_color, core_color);
// color = lerp(color, core_color, step(0.001,core_color));
// rays
@ -383,6 +391,9 @@ Shader "custom/tunnel"
// color = float4(1,1,1,1)*outer_circle;
// bars, nebula, fractal,
// average across all fx
// score bar
color += blurry_circle(p, float2(0,5.25), 4.0, 0.5)*_UiColor;
return color;
}

View File

@ -12,24 +12,65 @@ public class TunnelController : MonoBehaviour
[SerializeField] private SerialFloat _playerXPos;
[SerializeField] private SerialFloat _playerXMove;
[SerializeField] private AccessibilityOptions _accessibility;
[SerializeField] private float _baseCameraShake;
[SerializeField] private SerialFloat _distanceToNextBeat;
[SerializeField] private Renderer _calm;
[SerializeField] private Renderer _vibe;
[SerializeField] private Renderer _party;
public Renderer Active { get; private set; }
private float _start = -1;
private void Awake()
{
Shader.SetGlobalFloat("_CameraShake", 0);
Debug.Log(_accessibility.Mode);
switch (_accessibility.Mode)
{
case AccessibilityMode.Calm:
_calm.enabled = true;
Active = _calm;
_vibe.enabled = false;
_party.enabled = false;
break;
case AccessibilityMode.Vibe:
_vibe.enabled = true;
Active = _vibe;
_calm.enabled = false;
_party.enabled = false;
break;
case AccessibilityMode.Party:
_party.enabled = true;
Active = _party;
_calm.enabled = false;
_vibe.enabled = false;
break;
default:
throw new ArgumentOutOfRangeException();
}
}
void LateUpdate()
{
var cameraShakeIntensity = _intensity * _accessibility.Intensity.Value;
Shader.SetGlobalFloat("_PlayerXMove", _playerXMove);
Shader.SetGlobalFloat("_PlayerXPos", _playerXPos);
Shader.SetGlobalFloat("_CameraShake", _baseCameraShake * _distanceToNextBeat * cameraShakeIntensity);
var elapsed = Time.time - _start;
if (elapsed > _duration) return;
var normalisedElapsed = elapsed / _duration;
Shader.SetGlobalFloat("_CameraShake", _anim.Evaluate(normalisedElapsed) * _intensity);
var shake = Mathf.Max(_anim.Evaluate(normalisedElapsed), _baseCameraShake) * cameraShakeIntensity;
Shader.SetGlobalFloat("_CameraShake", shake);
}
public void LoseLifeShake()