implement accessibility options
This commit is contained in:
parent
7db7866a1d
commit
e02b3b49bd
|
@ -0,0 +1,25 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
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: c271cfa846431634db54fa41238b7b35, type: 3}
|
||||||
|
m_Name: Accessibility Options
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_mode: 2
|
||||||
|
_calm:
|
||||||
|
_tunnel: {fileID: 0}
|
||||||
|
_vibe:
|
||||||
|
_tunnel: {fileID: 0}
|
||||||
|
_party:
|
||||||
|
_tunnel: {fileID: 0}
|
||||||
|
_intensitySettings:
|
||||||
|
- _tunnel: {fileID: 0}
|
||||||
|
- _tunnel: {fileID: 0}
|
||||||
|
- _tunnel: {fileID: 0}
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a96923938dea0d542aa804067d5b5e81
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -1,5 +1,5 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 399618523f73e624688f86b01b832ae9
|
guid: bf3eaf632c32d8c4c9eef99f2d40d8aa
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
|
@ -10,7 +10,7 @@ MonoBehaviour:
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: a918b83cb0f52b445bf4975f41eaf321, type: 3}
|
m_Script: {fileID: 11500000, guid: a918b83cb0f52b445bf4975f41eaf321, type: 3}
|
||||||
m_Name: Audio Visualiser Settings
|
m_Name: Audio Visualiser
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_fractalAnimations:
|
_fractalAnimations:
|
||||||
- name: _Fractality
|
- name: _Fractality
|
||||||
|
@ -18,14 +18,6 @@ MonoBehaviour:
|
||||||
channel: 0
|
channel: 0
|
||||||
sample: 525
|
sample: 525
|
||||||
_tunnelAnimations:
|
_tunnelAnimations:
|
||||||
- name: _OverallPower
|
|
||||||
multiplier: -1000
|
|
||||||
channel: 0
|
|
||||||
sample: 173
|
|
||||||
- name: _OverallPower
|
|
||||||
multiplier: -1000
|
|
||||||
channel: 0
|
|
||||||
sample: 173
|
|
||||||
- name: _ShakeStrength
|
- name: _ShakeStrength
|
||||||
multiplier: 2
|
multiplier: 2
|
||||||
channel: 0
|
channel: 0
|
||||||
|
@ -35,3 +27,4 @@ MonoBehaviour:
|
||||||
multiplier: 3703.2
|
multiplier: 3703.2
|
||||||
channel: 1
|
channel: 1
|
||||||
sample: 874
|
sample: 874
|
||||||
|
_accessibility: {fileID: 11400000, guid: a96923938dea0d542aa804067d5b5e81, type: 2}
|
|
@ -20,7 +20,7 @@ Material:
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name: Tunnel
|
m_Name: Tunnel_Safe
|
||||||
m_Shader: {fileID: 4800000, guid: 9d7afb8f866fe8a4cbbf660a52c17084, type: 3}
|
m_Shader: {fileID: 4800000, guid: 9d7afb8f866fe8a4cbbf660a52c17084, type: 3}
|
||||||
m_ShaderKeywords:
|
m_ShaderKeywords:
|
||||||
m_LightmapFlags: 4
|
m_LightmapFlags: 4
|
||||||
|
@ -102,6 +102,7 @@ Material:
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
m_Floats:
|
m_Floats:
|
||||||
- _AlphaClip: 0
|
- _AlphaClip: 0
|
||||||
|
- _BarsWeight: 0
|
||||||
- _Blend: 0
|
- _Blend: 0
|
||||||
- _BumpScale: 1
|
- _BumpScale: 1
|
||||||
- _ClearCoatMask: 0
|
- _ClearCoatMask: 0
|
||||||
|
@ -112,10 +113,19 @@ Material:
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
- _FractalInner: 0.3
|
||||||
|
- _FractalPower: 1
|
||||||
|
- _FractalRotateSpeed: 20
|
||||||
|
- _FractalScale: 6
|
||||||
|
- _FractalWeight: 0
|
||||||
- _GlossMapScale: 0
|
- _GlossMapScale: 0
|
||||||
- _Glossiness: 0
|
- _Glossiness: 0
|
||||||
- _GlossyReflections: 0
|
- _GlossyReflections: 0
|
||||||
|
- _Intensity: 1
|
||||||
- _Metallic: 0
|
- _Metallic: 0
|
||||||
|
- _Nebula1Power: 1
|
||||||
|
- _Nebula2Power: 1
|
||||||
|
- _NebulaWeight: 0
|
||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
- _OverallPower: 1
|
- _OverallPower: 1
|
||||||
- _Parallax: 0.005
|
- _Parallax: 0.005
|
||||||
|
@ -126,10 +136,12 @@ Material:
|
||||||
- _SmoothnessTextureChannel: 0
|
- _SmoothnessTextureChannel: 0
|
||||||
- _SpecularHighlights: 1
|
- _SpecularHighlights: 1
|
||||||
- _SrcBlend: 1
|
- _SrcBlend: 1
|
||||||
|
- _StarsWeight: 0.1
|
||||||
- _Surface: 0
|
- _Surface: 0
|
||||||
- _WorkflowMode: 1
|
- _WorkflowMode: 1
|
||||||
- _ZWrite: 1
|
- _ZWrite: 1
|
||||||
m_Colors:
|
m_Colors:
|
||||||
|
- _BackgroundColor: {r: 0.09794411, g: 0.27564344, b: 0.2924528, a: 0}
|
||||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,152 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-825856505695050074
|
||||||
|
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:
|
||||||
|
version: 4
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Tunnel_Safe 1
|
||||||
|
m_Shader: {fileID: 4800000, guid: 9d7afb8f866fe8a4cbbf660a52c17084, type: 3}
|
||||||
|
m_ShaderKeywords:
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
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}
|
||||||
|
- _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}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _FractalMap:
|
||||||
|
m_Texture: {fileID: 8400000, guid: 410a70db0834e924c9bff4b2f170f423, type: 2}
|
||||||
|
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}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _NebulaMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 76b8a8711756f0244a896b7e1c505583, type: 3}
|
||||||
|
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}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _StarMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: c58c631a5672d3442b2210c8883b9bba, type: 3}
|
||||||
|
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_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _BarsWeight: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _FractalInner: 0.3
|
||||||
|
- _FractalPower: 1
|
||||||
|
- _FractalRotateSpeed: 20
|
||||||
|
- _FractalScale: 6
|
||||||
|
- _FractalWeight: 0
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Intensity: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Nebula1Power: 1
|
||||||
|
- _Nebula2Power: 1
|
||||||
|
- _NebulaWeight: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _OverallPower: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _ShakeStrength: 0
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _StarsWeight: 0.1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BackgroundColor: {r: 0.09794411, g: 0.27564344, b: 0.2924528, a: 0}
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {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}
|
||||||
|
- _NebulaColor1: {r: 0, g: 0.67775345, b: 1, a: 1}
|
||||||
|
- _NebulaColor2: {r: 0.54217625, g: 0.25, b: 1, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 439b4d6018bd23e4e91136d099c5b815
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,152 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-825856505695050074
|
||||||
|
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:
|
||||||
|
version: 4
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Tunnel_Safe 1
|
||||||
|
m_Shader: {fileID: 4800000, guid: 9d7afb8f866fe8a4cbbf660a52c17084, type: 3}
|
||||||
|
m_ShaderKeywords:
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
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}
|
||||||
|
- _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}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _FractalMap:
|
||||||
|
m_Texture: {fileID: 8400000, guid: 410a70db0834e924c9bff4b2f170f423, type: 2}
|
||||||
|
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}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _NebulaMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 76b8a8711756f0244a896b7e1c505583, type: 3}
|
||||||
|
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}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _StarMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: c58c631a5672d3442b2210c8883b9bba, type: 3}
|
||||||
|
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_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _BarsWeight: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _FractalInner: 0.3
|
||||||
|
- _FractalPower: 1
|
||||||
|
- _FractalRotateSpeed: 20
|
||||||
|
- _FractalScale: 6
|
||||||
|
- _FractalWeight: 0
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Intensity: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Nebula1Power: 1
|
||||||
|
- _Nebula2Power: 1
|
||||||
|
- _NebulaWeight: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _OverallPower: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _ShakeStrength: 0
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _StarsWeight: 0.1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BackgroundColor: {r: 0.09794411, g: 0.27564344, b: 0.2924528, a: 0}
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {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}
|
||||||
|
- _NebulaColor1: {r: 0, g: 0.67775345, b: 1, a: 1}
|
||||||
|
- _NebulaColor2: {r: 0.54217625, g: 0.25, b: 1, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9429becea685bce4fa7b6595601ea615
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -408,7 +408,7 @@ MeshRenderer:
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 2100000, guid: 735a92a62479ffd458216009452fec2b, type: 2}
|
- {fileID: 2100000, guid: 439b4d6018bd23e4e91136d099c5b815, type: 2}
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
|
@ -502,10 +502,11 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 3832fa92b7c91804697fe9f4f858b5d4, type: 3}
|
m_Script: {fileID: 11500000, guid: 3832fa92b7c91804697fe9f4f858b5d4, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
_ship: {fileID: 0}
|
||||||
_fractal: {fileID: 3397488660425852632}
|
_fractal: {fileID: 3397488660425852632}
|
||||||
_tunnel: {fileID: 3397488660842926088}
|
_tunnel: {fileID: 3397488660842926088}
|
||||||
_channel: 0
|
_system: {fileID: 11400000, guid: 65b0561f3154c9f438c3a1e1b443d03d, type: 2}
|
||||||
_sample: 0
|
_accessibility: {fileID: 11400000, guid: a96923938dea0d542aa804067d5b5e81, type: 2}
|
||||||
--- !u!1 &3397488661354499722
|
--- !u!1 &3397488661354499722
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public enum AccessibilityMode
|
||||||
|
{
|
||||||
|
Calm,
|
||||||
|
Vibe,
|
||||||
|
Party
|
||||||
|
}
|
||||||
|
|
||||||
|
[CreateAssetMenu]
|
||||||
|
public class AccessibilityOptions : ScriptableObject
|
||||||
|
{
|
||||||
|
public AccessibilityMode Mode
|
||||||
|
{
|
||||||
|
get => _mode;
|
||||||
|
set => _mode = value;
|
||||||
|
}
|
||||||
|
[SerializeField] private AccessibilityMode _mode;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public struct IntensitySetting
|
||||||
|
{
|
||||||
|
public Material Tunnel => _tunnel;
|
||||||
|
[SerializeField] private Material _tunnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IntensitySetting Intensity => this[_mode];
|
||||||
|
|
||||||
|
[SerializeField] private IntensitySetting _calm;
|
||||||
|
[SerializeField] private IntensitySetting _vibe;
|
||||||
|
[SerializeField] private IntensitySetting _party;
|
||||||
|
|
||||||
|
public IntensitySetting this[AccessibilityMode mode]
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case AccessibilityMode.Calm: return _calm;
|
||||||
|
case AccessibilityMode.Vibe: return _vibe;
|
||||||
|
case AccessibilityMode.Party: return _party;
|
||||||
|
default: return default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// [SerializeField] private IntensitySetting[] _intensitySettings;
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a918b83cb0f52b445bf4975f41eaf321
|
guid: c271cfa846431634db54fa41238b7b35
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
|
@ -1,41 +1,89 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using FMODUnity;
|
using FMOD;
|
||||||
using NUnit.Framework;
|
|
||||||
using TMPro;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Rendering.Universal;
|
using INITFLAGS = FMOD.Studio.INITFLAGS;
|
||||||
|
|
||||||
public class AudioVisualizer : MonoBehaviour
|
[CreateAssetMenu(menuName = "Audio Visualizer Settings")]
|
||||||
|
public class AudioVisualizer : ScriptableObject
|
||||||
{
|
{
|
||||||
[SerializeField] private Renderer _ship;
|
[Serializable]
|
||||||
[SerializeField] private Renderer _fractal;
|
private struct ShaderPropertyAnimation
|
||||||
[SerializeField] private Renderer _tunnel;
|
|
||||||
[SerializeField] private AudioVisualizerSettings _settings;
|
|
||||||
|
|
||||||
// https://qa.fmod.com/t/getting-spectrum-of-master-channel-in-unity/12579/2
|
|
||||||
|
|
||||||
// private FMOD.Studio.EventInstance _event;
|
|
||||||
private FMOD.DSP _fft;
|
|
||||||
|
|
||||||
private float _initialPower;
|
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
{
|
||||||
// _event = RuntimeManager.CreateInstance("event:/Music");
|
public string name;
|
||||||
|
public float multiplier;
|
||||||
RuntimeManager.CoreSystem.createDSPByType(FMOD.DSP_TYPE.FFT, out _fft);
|
[UnityEngine.Range(0, 5)]
|
||||||
RuntimeManager.CoreSystem.getMasterChannelGroup(out var channelGroup);
|
public int channel;
|
||||||
channelGroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, _fft);
|
[UnityEngine.Range(0, 2048)]
|
||||||
|
public int sample;
|
||||||
_settings.Initialise(_fractal.material, _tunnel.material, _ship.material);
|
|
||||||
|
public float Initial { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LateUpdate()
|
// private Material _fractal;
|
||||||
|
// private Material _tunnel;
|
||||||
|
// private Material _ship;
|
||||||
|
[SerializeField] private ShaderPropertyAnimation[] _fractalAnimations;
|
||||||
|
[SerializeField] private ShaderPropertyAnimation[] _tunnelAnimations;
|
||||||
|
[SerializeField] private ShaderPropertyAnimation[] _shipAnimations;
|
||||||
|
[SerializeField] private AccessibilityOptions _accessibility;
|
||||||
|
|
||||||
|
public void Initialise(Material fractal, Material tunnel, Material ship)
|
||||||
{
|
{
|
||||||
_settings.Update(_fft, _fractal, _tunnel, _ship);
|
// _fractal = fractal;
|
||||||
|
// _tunnel = tunnel;
|
||||||
|
// _ship = ship;
|
||||||
|
|
||||||
|
InitialiseAnimations(_fractalAnimations, fractal);
|
||||||
|
InitialiseAnimations(_tunnelAnimations, tunnel);
|
||||||
|
InitialiseAnimations(_shipAnimations, ship);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
private void InitialiseAnimations(ShaderPropertyAnimation[] animations, Material material)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < animations.Length; i++)
|
||||||
|
{
|
||||||
|
var anim = animations[i];
|
||||||
|
anim.Initial = material.GetFloat(anim.name);
|
||||||
|
animations[i] = anim;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(DSP fft, Renderer fractal, Renderer tunnel, Renderer ship)
|
||||||
|
{
|
||||||
|
fft.getParameterData((int) FMOD.DSP_FFT.SPECTRUMDATA, out var unmanagedData, out var length);
|
||||||
|
var fftData = (FMOD.DSP_PARAMETER_FFT) Marshal.PtrToStructure(unmanagedData, typeof(FMOD.DSP_PARAMETER_FFT));
|
||||||
|
|
||||||
|
var spectrum = fftData.spectrum;
|
||||||
|
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, _shipAnimations, ship);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateAnimations(float[][] spectrum, ShaderPropertyAnimation[] animations, Renderer renderer)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < animations.Length; i++)
|
||||||
|
{
|
||||||
|
var anim = animations[i];
|
||||||
|
var a = spectrum[anim.channel][anim.sample];
|
||||||
|
renderer.material.SetFloat(anim.name, anim.Initial + anim.multiplier * a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3832fa92b7c91804697fe9f4f858b5d4
|
guid: a918b83cb0f52b445bf4975f41eaf321
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
using System;
|
||||||
|
using FMODUnity;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class AudioVisualizerRuntime : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private Renderer _ship;
|
||||||
|
[SerializeField] private Renderer _fractal;
|
||||||
|
[SerializeField] private Renderer _tunnel;
|
||||||
|
[SerializeField] private AudioVisualizer _system;
|
||||||
|
[SerializeField] private AccessibilityOptions _accessibility;
|
||||||
|
|
||||||
|
// https://qa.fmod.com/t/getting-spectrum-of-master-channel-in-unity/12579/2
|
||||||
|
|
||||||
|
// private FMOD.Studio.EventInstance _event;
|
||||||
|
private FMOD.DSP _fft;
|
||||||
|
|
||||||
|
private float _initialPower;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
// pick correct materials for accessibility
|
||||||
|
// _ship.material = _accessibility.Intensity.Ship;
|
||||||
|
_tunnel.material = new Material(_accessibility.Intensity.Tunnel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
// _event = RuntimeManager.CreateInstance("event:/Music");
|
||||||
|
|
||||||
|
RuntimeManager.CoreSystem.createDSPByType(FMOD.DSP_TYPE.FFT, out _fft);
|
||||||
|
RuntimeManager.CoreSystem.getMasterChannelGroup(out var channelGroup);
|
||||||
|
channelGroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, _fft);
|
||||||
|
|
||||||
|
|
||||||
|
_system.Initialise(_fractal.material, _tunnel.material, _ship.material);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LateUpdate()
|
||||||
|
{
|
||||||
|
_system.Update(_fft, _fractal, _tunnel, _ship);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3832fa92b7c91804697fe9f4f858b5d4
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using FMOD;
|
|
||||||
using UnityEngine;
|
|
||||||
using INITFLAGS = FMOD.Studio.INITFLAGS;
|
|
||||||
|
|
||||||
[CreateAssetMenu(menuName = "Audio Visualizer Settings")]
|
|
||||||
public class AudioVisualizerSettings : ScriptableObject
|
|
||||||
{
|
|
||||||
[Serializable]
|
|
||||||
private struct ShaderPropertyAnimation
|
|
||||||
{
|
|
||||||
public string name;
|
|
||||||
public float multiplier;
|
|
||||||
[UnityEngine.Range(0, 5)]
|
|
||||||
public int channel;
|
|
||||||
[UnityEngine.Range(0, 2048)]
|
|
||||||
public int sample;
|
|
||||||
|
|
||||||
public float Initial { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[SerializeField] private ShaderPropertyAnimation[] _fractalAnimations;
|
|
||||||
[SerializeField] private ShaderPropertyAnimation[] _tunnelAnimations;
|
|
||||||
[SerializeField] private ShaderPropertyAnimation[] _shipAnimations;
|
|
||||||
|
|
||||||
public void Initialise(Material fractal, Material tunnel, Material ship)
|
|
||||||
{
|
|
||||||
InitialiseAnimations(_fractalAnimations, fractal);
|
|
||||||
InitialiseAnimations(_tunnelAnimations, tunnel);
|
|
||||||
InitialiseAnimations(_shipAnimations, ship);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitialiseAnimations(ShaderPropertyAnimation[] animations, Material material)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < animations.Length; i++)
|
|
||||||
{
|
|
||||||
var anim = animations[i];
|
|
||||||
anim.Initial = material.GetFloat(anim.name);
|
|
||||||
animations[i] = anim;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Update(DSP fft, Renderer fractal, Renderer tunnel, Renderer ship)
|
|
||||||
{
|
|
||||||
fft.getParameterData((int) FMOD.DSP_FFT.SPECTRUMDATA, out var unmanagedData, out var length);
|
|
||||||
var fftData = (FMOD.DSP_PARAMETER_FFT) Marshal.PtrToStructure(unmanagedData, typeof(FMOD.DSP_PARAMETER_FFT));
|
|
||||||
|
|
||||||
var spectrum = fftData.spectrum;
|
|
||||||
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, _shipAnimations, ship);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateAnimations(float[][] spectrum, ShaderPropertyAnimation[] animations, Renderer renderer)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < animations.Length; i++)
|
|
||||||
{
|
|
||||||
var anim = animations[i];
|
|
||||||
var a = spectrum[anim.channel][anim.sample];
|
|
||||||
renderer.material.SetFloat(anim.name, anim.Initial + anim.multiplier * a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -5,17 +5,31 @@ Shader "custom/tunnel"
|
||||||
// called Base Map.
|
// called Base Map.
|
||||||
Properties
|
Properties
|
||||||
{
|
{
|
||||||
|
_BackgroundColor("Background Color", Color) = (0,0,0,0)
|
||||||
[HDR] _NebulaColor1("Nebula Color 1", Color) = (1,1,1,1)
|
[HDR] _NebulaColor1("Nebula Color 1", Color) = (1,1,1,1)
|
||||||
[HDR] _NebulaColor2("Nebula Color 2", 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] _FractalColor("Fractal Color", Color) = (1,1,1,1)
|
||||||
|
|
||||||
|
_FractalWeight("Fractal Weight", Range(0.0,1.0)) = 1.0
|
||||||
|
_NebulaWeight("Nebula Weight", Range(0.0,1.0)) = 1.0
|
||||||
|
_BarsWeight("Bars Weight", Range(0.0,1.0)) = 1.0
|
||||||
|
_StarsWeight("Stars Weight", Range(0.0,1.0)) = 1.0
|
||||||
|
|
||||||
|
_FractalScale("Fractal Scale", Float) = 6.0
|
||||||
|
_FractalRotateSpeed("Fractal Rotate Speed", Float) = 20.0
|
||||||
|
_FractalPower("Fractal Power", Float) = 1.0
|
||||||
|
_FractalInner("Fractal Inner", Float) = 0.2
|
||||||
|
|
||||||
|
_Nebula1Power("Nebula 1 Power", Float) = 1.0
|
||||||
|
_Nebula2Power("Nebula 2 Power", Float) = 1.0
|
||||||
|
|
||||||
_NebulaMap("Nebula Map", 2D) = "black"
|
_NebulaMap("Nebula Map", 2D) = "black"
|
||||||
_StarMap("Star Map", 2D) = "black"
|
_StarMap("Star Map", 2D) = "black"
|
||||||
_FractalMap("Fractal Map", 2D) = "black"
|
_FractalMap("Fractal Map", 2D) = "black"
|
||||||
|
|
||||||
_ShakeStrength("Shake Strength", Float) = 0.01
|
_ShakeStrength("Shake Strength", Float) = 0.01
|
||||||
|
|
||||||
_OverallPower("Overall Power", Float) = 1.0
|
_Intensity("Intensity", Float) = 1.0
|
||||||
}
|
}
|
||||||
|
|
||||||
SubShader
|
SubShader
|
||||||
|
@ -46,14 +60,27 @@ Shader "custom/tunnel"
|
||||||
float2 uv : TEXCOORD0;
|
float2 uv : TEXCOORD0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
float4 _BackgroundColor;
|
||||||
float4 _NebulaColor1;
|
float4 _NebulaColor1;
|
||||||
float4 _NebulaColor2;
|
float4 _NebulaColor2;
|
||||||
|
|
||||||
float4 _FractalColor;
|
float4 _FractalColor;
|
||||||
|
float _FractalScale = 6.0;
|
||||||
|
float _FractalRotateSpeed = 20.0;
|
||||||
|
float _FractalPower = 1.0;
|
||||||
|
float _FractalInner = 0.2;
|
||||||
|
float _FractalWeight = 1.0;
|
||||||
|
|
||||||
|
float _Nebula1Power = 1.0;
|
||||||
|
float _Nebula2Power = 1.0;
|
||||||
|
float _NebulaWeight = 1.0;
|
||||||
|
|
||||||
|
float _BarsWeight;
|
||||||
|
float _StarsWeight;
|
||||||
|
|
||||||
|
float _Intensity;
|
||||||
float _ShakeStrength;
|
float _ShakeStrength;
|
||||||
|
|
||||||
float _OverallPower;
|
|
||||||
|
|
||||||
TEXTURE2D(_NebulaMap);
|
TEXTURE2D(_NebulaMap);
|
||||||
SAMPLER(sampler_NebulaMap);
|
SAMPLER(sampler_NebulaMap);
|
||||||
TEXTURE2D(_StarMap);
|
TEXTURE2D(_StarMap);
|
||||||
|
@ -87,9 +114,85 @@ Shader "custom/tunnel"
|
||||||
cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid
|
cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
half4 frag(Varyings IN) : SV_Target
|
float4 nebula(float r, float a)
|
||||||
|
{
|
||||||
|
// sample nebula 1
|
||||||
|
float n1_stretch = 1.0/50.0;
|
||||||
|
float n1_speed = 20.0;
|
||||||
|
float n1_spin = 10.0;
|
||||||
|
// float n1_power = 2.0;
|
||||||
|
float n1_cutoff = 0.5;
|
||||||
|
|
||||||
|
float2 nuv1;
|
||||||
|
nuv1.x = n1_stretch/(r*r) + _Time * n1_speed;
|
||||||
|
nuv1.y = a/PI + _Time * n1_spin;
|
||||||
|
half4 nebula1 = SAMPLE_TEXTURE2D(_NebulaMap, sampler_NebulaMap, nuv1);
|
||||||
|
nebula1 *= _NebulaColor1;
|
||||||
|
nebula1 *= max(0,_Nebula1Power*r-n1_cutoff);
|
||||||
|
|
||||||
|
// sample nebula 2 - same as nebula 1 but in another direction
|
||||||
|
float n2_stretch = 1.0/100.0;
|
||||||
|
float n2_speed = 30.0;
|
||||||
|
float n2_spin = -5.0;
|
||||||
|
// float n2_power = 4.0;
|
||||||
|
float n2_cutoff = 0.5;
|
||||||
|
|
||||||
|
float2 nuv2;
|
||||||
|
nuv2.x = n2_stretch/(r*r) + _Time * n2_speed;
|
||||||
|
nuv2.y = a/PI + _Time * n2_spin;
|
||||||
|
half4 nebula2 = SAMPLE_TEXTURE2D(_NebulaMap, sampler_NebulaMap, nuv2.yx);
|
||||||
|
nebula2 *= _NebulaColor2;
|
||||||
|
nebula2 *= max(0,_Nebula2Power*r - n2_cutoff);
|
||||||
|
|
||||||
|
return (nebula1 + nebula2) * _Intensity * _NebulaWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 stars(float r, float a)
|
||||||
|
{
|
||||||
|
// sample stars
|
||||||
|
float starStretch = 1.0/100.0;
|
||||||
|
float starSpeed = 10.0 * _Intensity;
|
||||||
|
float starWrap = 3.5f;
|
||||||
|
|
||||||
|
// star uv
|
||||||
|
float2 suv;
|
||||||
|
// use the root to make them into radial lines instead of a tunnel
|
||||||
|
suv.x = starStretch/sqrt(r) + _Time * starSpeed;
|
||||||
|
suv.y = (float)starWrap*a/PI;
|
||||||
|
half4 star = SAMPLE_TEXTURE2D(_StarMap, sampler_StarMap, suv);
|
||||||
|
star *= r * r * 2.0;
|
||||||
|
|
||||||
|
return star * _Intensity * _StarsWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
// same as fractals but calling it from a function turns them into bars??
|
||||||
|
float4 bars(float r, float p)
|
||||||
|
{
|
||||||
|
// fractal uv
|
||||||
|
float2 fuv1 = p / _FractalScale + float2(0.5,0.5);
|
||||||
|
fuv1 = rotateUV(fuv1,_Time*_FractalRotateSpeed);
|
||||||
|
half4 fractal1 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv1);
|
||||||
|
fractal1 *= _FractalColor;
|
||||||
|
fractal1 *= max(0, r-_FractalInner);
|
||||||
|
fractal1 *= _FractalPower;
|
||||||
|
|
||||||
|
// fractal 2
|
||||||
|
float2 fuv2 = p / _FractalScale + float2(0.5,0.5);
|
||||||
|
fuv2 = rotateUV(fuv2,-_Time*_FractalRotateSpeed*3.561);
|
||||||
|
fuv2.x=1.0-fuv2.x;
|
||||||
|
half4 fractal2 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv2);
|
||||||
|
fractal2 *= _FractalColor * sin(_Time*3);
|
||||||
|
fractal2 *= max(0, r-_FractalInner);
|
||||||
|
fractal2 *= _FractalPower;
|
||||||
|
|
||||||
|
half4 fractal = max(fractal1,fractal2) * _Intensity;
|
||||||
|
|
||||||
|
return fractal * _Intensity * _BarsWeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float4 frag(Varyings IN) : SV_Target
|
||||||
{
|
{
|
||||||
float2 res = _ScreenParams;
|
float2 res = _ScreenParams;
|
||||||
float2 p = -1.0+2.0*IN.positionHCS.xy/res.xy;
|
float2 p = -1.0+2.0*IN.positionHCS.xy/res.xy;
|
||||||
|
@ -100,87 +203,42 @@ Shader "custom/tunnel"
|
||||||
cameraShake.x = cos(shake*12.3341)+sin(shake*19.231057);
|
cameraShake.x = cos(shake*12.3341)+sin(shake*19.231057);
|
||||||
cameraShake.y = cos(shake*17.12311)+sin(shake*14.2315165);
|
cameraShake.y = cos(shake*17.12311)+sin(shake*14.2315165);
|
||||||
cameraShake*=_ShakeStrength;
|
cameraShake*=_ShakeStrength;
|
||||||
p += cameraShake;
|
// p += cameraShake;
|
||||||
|
|
||||||
// shared tunnel vars
|
// shared tunnel vars
|
||||||
float r = length(p);
|
float r = length(p);
|
||||||
float a = atan(p.y/p.x);
|
float a = atan(p.y/p.x);
|
||||||
|
|
||||||
// sample nebula 1
|
|
||||||
float n1_stretch = 1.0/50.0;
|
|
||||||
float n1_speed = 20.0;
|
|
||||||
float n1_spin = 10.0;
|
|
||||||
float n1_power = 2.0;
|
|
||||||
float n1_cutoff = 0.5;
|
|
||||||
|
|
||||||
float2 nuv1;
|
|
||||||
nuv1.x = n1_stretch/(r*r) + _Time * n1_speed;
|
|
||||||
nuv1.y = a/PI + _Time * n1_spin;
|
|
||||||
half4 nebula1 = SAMPLE_TEXTURE2D(_NebulaMap, sampler_NebulaMap, nuv1);
|
|
||||||
nebula1 *= _NebulaColor1;
|
|
||||||
nebula1 *= max(0,n1_power*r-n1_cutoff);
|
|
||||||
|
|
||||||
// sample nebula 2 - same as nebula 1 but in another direction
|
|
||||||
float n2_stretch = 1.0/100.0;
|
|
||||||
float n2_speed = 30.0;
|
|
||||||
float n2_spin = -5.0;
|
|
||||||
float n2_power = 4.0;
|
|
||||||
float n2_cutoff = 0.5;
|
|
||||||
|
|
||||||
float2 nuv2;
|
// for some reason trying to sample the fractal in a function turns it into bars
|
||||||
nuv2.x = n2_stretch/(r*r) + _Time * n2_speed;
|
// looks cool but no idea why it happens so these fractals are inline
|
||||||
nuv2.y = a/PI + _Time * n2_spin;
|
float2 fuv1 = p / _FractalScale + float2(0.5,0.5);
|
||||||
half4 nebula2 = SAMPLE_TEXTURE2D(_NebulaMap, sampler_NebulaMap, nuv2.yx);
|
fuv1 = rotateUV(fuv1,_Time*_FractalRotateSpeed);
|
||||||
nebula2 *= _NebulaColor2;
|
|
||||||
nebula2 *= max(0,n2_power*r - n2_cutoff);
|
|
||||||
|
|
||||||
// sample stars
|
|
||||||
float starStretch = 1.0/100.0;
|
|
||||||
float starSpeed = 10.0;
|
|
||||||
int starWrap = 3;
|
|
||||||
|
|
||||||
// star uv
|
|
||||||
float2 suv;
|
|
||||||
// use the root to make them into radial lines instead of a tunnel
|
|
||||||
suv.x = starStretch/sqrt(r) + _Time * starSpeed;
|
|
||||||
suv.y = (float)starWrap*a/PI;
|
|
||||||
half4 star = SAMPLE_TEXTURE2D(_StarMap, sampler_StarMap, suv);
|
|
||||||
star *= r * r * 2.0;
|
|
||||||
|
|
||||||
// sample fractal
|
|
||||||
float fractalScale = 6.0;
|
|
||||||
float fractalRotateSpeed = 20.0;
|
|
||||||
float fractalPower = 1.0;
|
|
||||||
float fractal_inner = 0.2;
|
|
||||||
|
|
||||||
// fractal uv
|
|
||||||
float2 fuv1 = p / fractalScale + float2(0.5,0.5);
|
|
||||||
fuv1 = rotateUV(fuv1,_Time*fractalRotateSpeed);
|
|
||||||
half4 fractal1 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv1);
|
half4 fractal1 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv1);
|
||||||
fractal1 *= _FractalColor;
|
fractal1 *= _FractalColor;
|
||||||
fractal1 *= max(0, r-fractal_inner);
|
fractal1 *= max(0, r-_FractalInner);
|
||||||
fractal1 *= fractalPower*0.5;
|
fractal1 *= _FractalWeight;
|
||||||
|
fractal1 *= _Intensity;
|
||||||
// fractal 2
|
|
||||||
float2 fuv2 = rotateUV(fuv1,-_Time*fractalRotateSpeed*3.561);
|
float2 fuv2 = p / _FractalScale + float2(0.5,0.5);
|
||||||
|
fuv2 = rotateUV(fuv2,-_Time*_FractalRotateSpeed*3.561);
|
||||||
fuv2.x=1.0-fuv2.x;
|
fuv2.x=1.0-fuv2.x;
|
||||||
half4 fractal2 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv2);
|
half4 fractal2 = SAMPLE_TEXTURE2D(_FractalMap, sampler_FractalMap, fuv2);
|
||||||
fractal2 *= _FractalColor * sin(_Time*3);
|
fractal2 *= _FractalColor * sin(_Time*3);
|
||||||
fractal2 *= max(0, r-fractal_inner);
|
fractal2 *= max(0, r-_FractalInner);
|
||||||
fractal2 *= fractalPower*0.5;
|
fractal2 *= _FractalWeight;
|
||||||
|
fractal2 *= _Intensity;
|
||||||
half4 fractal = max(fractal1,fractal2);
|
|
||||||
|
|
||||||
half4 color = half4(0,0,0,0);
|
float4 color = _BackgroundColor;
|
||||||
color += nebula1;
|
color += nebula(r, a);
|
||||||
color += nebula2;
|
color += bars(r, p);
|
||||||
color += fractal;
|
color += fractal1;
|
||||||
// color += fractal1;
|
color += fractal2;
|
||||||
// color += fractal2;
|
color += stars(r, a);
|
||||||
color += star;
|
|
||||||
|
|
||||||
|
// bars, nebula, fractal,
|
||||||
|
// average across all fx
|
||||||
|
|
||||||
color = saturate(color);
|
color = saturate(color);
|
||||||
color *= _OverallPower;
|
|
||||||
|
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue