From 12cd800356c05032a9ea54e5c1b93b7e57642ea4 Mon Sep 17 00:00:00 2001 From: Cat Flynn Date: Sun, 10 Jan 2021 17:54:04 +0000 Subject: [PATCH] tunnel stuff --- .../Accessibility/Accessibility Options.asset | 5 +- Assets/Audio/Audio Visualiser.asset | 4 - Assets/Data/Camera Shake Intensity.asset | 2 +- Assets/Materials/Tunnel_Calm.mat | 24 +- Assets/Materials/Tunnel_Party.mat | 20 +- Assets/Materials/Tunnel_Vibe.mat | 28 +- Assets/Prefabs/Rendering.prefab | 240 +++++++++++++++++- Assets/Scripts/AccessibilityOptions.cs | 4 +- Assets/Scripts/Rendering/AudioVisualizer.cs | 21 +- .../Rendering/AudioVisualizerRuntime.cs | 10 +- Assets/Shaders/tunnel.shader | 65 +++-- Assets/TunnelController.cs | 45 +++- 12 files changed, 379 insertions(+), 89 deletions(-) diff --git a/Assets/Accessibility/Accessibility Options.asset b/Assets/Accessibility/Accessibility Options.asset index 1480fdc..9045dc5 100644 --- a/Assets/Accessibility/Accessibility Options.asset +++ b/Assets/Accessibility/Accessibility Options.asset @@ -12,10 +12,13 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c271cfa846431634db54fa41238b7b35, type: 3} m_Name: Accessibility Options m_EditorClassIdentifier: - _mode: 0 + _mode: 2 _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} diff --git a/Assets/Audio/Audio Visualiser.asset b/Assets/Audio/Audio Visualiser.asset index a29769d..0f0dcd0 100644 --- a/Assets/Audio/Audio Visualiser.asset +++ b/Assets/Audio/Audio Visualiser.asset @@ -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 diff --git a/Assets/Data/Camera Shake Intensity.asset b/Assets/Data/Camera Shake Intensity.asset index 904aca6..9f2a776 100644 --- a/Assets/Data/Camera Shake Intensity.asset +++ b/Assets/Data/Camera Shake Intensity.asset @@ -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 diff --git a/Assets/Materials/Tunnel_Calm.mat b/Assets/Materials/Tunnel_Calm.mat index 09438d2..a06ec46 100644 --- a/Assets/Materials/Tunnel_Calm.mat +++ b/Assets/Materials/Tunnel_Calm.mat @@ -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: [] diff --git a/Assets/Materials/Tunnel_Party.mat b/Assets/Materials/Tunnel_Party.mat index b709647..20f9cd6 100644 --- a/Assets/Materials/Tunnel_Party.mat +++ b/Assets/Materials/Tunnel_Party.mat @@ -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: [] diff --git a/Assets/Materials/Tunnel_Vibe.mat b/Assets/Materials/Tunnel_Vibe.mat index 713d343..cbbfadc 100644 --- a/Assets/Materials/Tunnel_Vibe.mat +++ b/Assets/Materials/Tunnel_Vibe.mat @@ -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: [] diff --git a/Assets/Prefabs/Rendering.prefab b/Assets/Prefabs/Rendering.prefab index 76415f7..7295821 100644 --- a/Assets/Prefabs/Rendering.prefab +++ b/Assets/Prefabs/Rendering.prefab @@ -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: 0 +--- !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: 1866.2228, 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,12 +471,12 @@ 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 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &3397488660842926093 Transform: m_ObjectHideFlags: 0 @@ -375,8 +485,8 @@ Transform: m_PrefabAsset: {fileID: 0} 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_LocalPosition: {x: 100.9, y: -2.09, z: 846.83606} + m_LocalScale: {x: 1866.2228, 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: 0 +--- !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: 88.37, y: -8.08, z: 846.83606} + m_LocalScale: {x: 1866.2228, 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 diff --git a/Assets/Scripts/AccessibilityOptions.cs b/Assets/Scripts/AccessibilityOptions.cs index 38d1d3f..042c2ad 100644 --- a/Assets/Scripts/AccessibilityOptions.cs +++ b/Assets/Scripts/AccessibilityOptions.cs @@ -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; diff --git a/Assets/Scripts/Rendering/AudioVisualizer.cs b/Assets/Scripts/Rendering/AudioVisualizer.cs index e5ba235..4a5cd89 100644 --- a/Assets/Scripts/Rendering/AudioVisualizer.cs +++ b/Assets/Scripts/Rendering/AudioVisualizer.cs @@ -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); } } } diff --git a/Assets/Scripts/Rendering/AudioVisualizerRuntime.cs b/Assets/Scripts/Rendering/AudioVisualizerRuntime.cs index 699c098..d8c1679 100644 --- a/Assets/Scripts/Rendering/AudioVisualizerRuntime.cs +++ b/Assets/Scripts/Rendering/AudioVisualizerRuntime.cs @@ -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); } } \ No newline at end of file diff --git a/Assets/Shaders/tunnel.shader b/Assets/Shaders/tunnel.shader index 2f96204..931cbed 100644 --- a/Assets/Shaders/tunnel.shader +++ b/Assets/Shaders/tunnel.shader @@ -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; } diff --git a/Assets/TunnelController.cs b/Assets/TunnelController.cs index db215e4..6a9247a 100644 --- a/Assets/TunnelController.cs +++ b/Assets/TunnelController.cs @@ -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()