diff --git a/Assets/Bar.prefab b/Assets/Bar.prefab deleted file mode 100644 index 3e17177..0000000 --- a/Assets/Bar.prefab +++ /dev/null @@ -1,41 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &9018333240192484584 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1295477540953538798} - - component: {fileID: -3374953038235817525} - m_Layer: 0 - m_Name: Bar - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1295477540953538798 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9018333240192484584} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &-3374953038235817525 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9018333240192484584} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/BarSpectrum.cs b/Assets/BarSpectrum.cs new file mode 100644 index 0000000..36663c4 --- /dev/null +++ b/Assets/BarSpectrum.cs @@ -0,0 +1,46 @@ +using UnityEngine; + + public class BarSpectrum : TripsitterAve + { + private GameObject[] _spectrumBars; + private Vector3[] _originalPositions; + private Vector3 _originalScale; + + public GameObject Prefab; + public float AudioScale; + public float Power; + + public void Start() + { + _spectrumBars = new GameObject[SpectrumSize]; + _originalPositions = new Vector3[SpectrumSize]; + _originalScale = Prefab.transform.localScale; + + var width = Prefab.transform.localScale.x; + + for (var i = 0; i < SpectrumSize; i++) + { + var spectrumBar = GameObject.Instantiate(Prefab); + spectrumBar.transform.parent = transform; + spectrumBar.transform.localPosition = new Vector3(width * i, 0.0f, 0.0f); + _spectrumBars[i] = spectrumBar; + _originalPositions[i] = spectrumBar.transform.localPosition; + } + + Prefab.SetActive(false); + } + + public void Update() + { + var spectrumData = GetSpectrumData(); + + for (var i = 0; i < SpectrumSize; i++) + { + var audioScale = Mathf.Pow(spectrumData[i] * AudioScale, Power); + var newScale = new Vector3(_originalScale.x, _originalScale.y + audioScale, _originalScale.z); + var halfScale = newScale / 2.0f; + _spectrumBars[i].transform.localPosition = new Vector3(_originalPositions[i].x + halfScale.x, _originalPositions[i].y + halfScale.y, _originalPositions[i].z + halfScale.z); + _spectrumBars[i].transform.localScale = newScale; + } + } + } diff --git a/Assets/Materials/Main.cs.meta b/Assets/BarSpectrum.cs.meta similarity index 83% rename from Assets/Materials/Main.cs.meta rename to Assets/BarSpectrum.cs.meta index 042a6ce..83c532b 100644 --- a/Assets/Materials/Main.cs.meta +++ b/Assets/BarSpectrum.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 675d3d186a96f4c498f1af5c07d8dbcc +guid: dffea8f4020f55c4c8b1165de223ff31 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Cube.prefab b/Assets/Cube.prefab new file mode 100644 index 0000000..ae80ea3 --- /dev/null +++ b/Assets/Cube.prefab @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3951425291114222009 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3951425291114222005} + - component: {fileID: 3951425291114222006} + - component: {fileID: 7554796985381095928} + - component: {fileID: 3951425291114222007} + - component: {fileID: 3951425291114222008} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3951425291114222005 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3951425291114222009} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 15.407915, y: 4.7623067, z: 1.3299046} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3951425291114222006 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3951425291114222009} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!120 &7554796985381095928 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3951425291114222009} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 0, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 6 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!23 &3951425291114222007 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3951425291114222009} + 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: 3c783b043774015408f04c74b4f8559d, 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!65 &3951425291114222008 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3951425291114222009} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Bar.prefab.meta b/Assets/Cube.prefab.meta similarity index 74% rename from Assets/Bar.prefab.meta rename to Assets/Cube.prefab.meta index 92c3826..cebf489 100644 --- a/Assets/Bar.prefab.meta +++ b/Assets/Cube.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 01068a18d9bff734da651a6b6899f3b6 +guid: c67cf5d0160fa1340afc79b251a0c205 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/LineSpectrum.cs b/Assets/LineSpectrum.cs new file mode 100644 index 0000000..3931335 --- /dev/null +++ b/Assets/LineSpectrum.cs @@ -0,0 +1,46 @@ +using UnityEngine; + + public class LineSpectrum : TripsitterAve + { + private GameObject[] _spectrumBars; + private Vector3[] _originalPositions; + private Vector3 _originalScale; + + public GameObject Prefab; + public float AudioScale; + public float Power; + + public void Start() + { + _spectrumBars = new GameObject[SpectrumSize]; + _originalPositions = new Vector3[SpectrumSize]; + _originalScale = Prefab.transform.localScale; + + var width = Prefab.transform.localScale.x; + + for (var i = 0; i < SpectrumSize; i++) + { + var spectrumBar = GameObject.Instantiate(Prefab); + spectrumBar.transform.parent = transform; + spectrumBar.transform.localPosition = new Vector3(width * i, 0.0f, 0.0f); + _spectrumBars[i] = spectrumBar; + _originalPositions[i] = spectrumBar.transform.localPosition; + } + + Prefab.SetActive(false); + } + + public void Update() + { + var spectrumData = GetSpectrumData(); + + for (var i = 0; i < SpectrumSize; i++) + { + var audioScale = Mathf.Pow(spectrumData[i] * AudioScale, Power); + var newScale = new Vector3(_originalScale.x, _originalScale.y + audioScale, _originalScale.z); + var halfScale = newScale / 2.0f; + _spectrumBars[i].transform.localPosition = new Vector3(_originalPositions[i].x + halfScale.x, _originalPositions[i].y + halfScale.y, _originalPositions[i].z + halfScale.z); + _spectrumBars[i].transform.localScale = newScale; + } + } + } diff --git a/Assets/LineSpectrum.cs.meta b/Assets/LineSpectrum.cs.meta new file mode 100644 index 0000000..8989d56 --- /dev/null +++ b/Assets/LineSpectrum.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3e141da9e070ef843b956c27c9e9f8f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/BarMaterial.mat b/Assets/Materials/BarMaterial.mat new file mode 100644 index 0000000..2c0c5b9 --- /dev/null +++ b/Assets/Materials/BarMaterial.mat @@ -0,0 +1,99 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BarMaterial + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _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} + - _MainTex: + m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 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} + - _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} + m_Floats: + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.531 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/BarMaterial.mat.meta b/Assets/Materials/BarMaterial.mat.meta new file mode 100644 index 0000000..2a43250 --- /dev/null +++ b/Assets/Materials/BarMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c783b043774015408f04c74b4f8559d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Block.mat b/Assets/Materials/Block.mat new file mode 100644 index 0000000..bed7454 --- /dev/null +++ b/Assets/Materials/Block.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Block + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _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} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4ddeb52d7523a244f9d9b2d6b90fde5d, type: 3} + 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} + - _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} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 0.207 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Block.mat.meta b/Assets/Materials/Block.mat.meta new file mode 100644 index 0000000..e8ada1e --- /dev/null +++ b/Assets/Materials/Block.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5f414642c01e9af40b8c60a6c7162c5a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Main.cs b/Assets/Materials/Main.cs deleted file mode 100644 index 7c40c02..0000000 --- a/Assets/Materials/Main.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Main : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 93d4550..ed59225 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -153,7 +153,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: CaptureType: 0 - SpectrumSize: 128 + SpectrumSize: 64 ScalingStrategy: 2 MinFrequency: 80 MaxFrequency: 20000 @@ -308,56 +308,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 575f46cd31a2b694bb2579e3a3eca9cc, type: 3} m_Name: m_EditorClassIdentifier: - ave: {fileID: 957752734} ---- !u!1 &957752733 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 957752735} - - component: {fileID: 957752734} - m_Layer: 0 - m_Name: TripsitterAve - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &957752734 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 957752733} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0531e4e136b0daa41a7bbd6ac7ceed8c, type: 3} - m_Name: - m_EditorClassIdentifier: - WasapiAudioSource: {fileID: 523739711} - Transformers: [] - Preview: - Values: [] - references: - version: 1 ---- !u!4 &957752735 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 957752733} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + ave: {fileID: 0} --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -410,8 +361,8 @@ Camera: near clip plane: 0.3 far clip plane: 1000 field of view: 60 - orthographic: 0 - orthographic size: 5 + orthographic: 1 + orthographic size: 33 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -435,9 +386,128 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalPosition: {x: 33.3, y: 10, z: -40} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1560384702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1560384704} + - component: {fileID: 1560384703} + m_Layer: 0 + m_Name: BarSpectrum + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1560384703 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560384702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dffea8f4020f55c4c8b1165de223ff31, type: 3} + m_Name: + m_EditorClassIdentifier: + WasapiAudioSource: {fileID: 523739711} + Preview: + Values: [] + Prefab: {fileID: 1998037174} + AudioScale: 10 + Power: 1.5 +--- !u!4 &1560384704 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560384702} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.29113126, y: 1.740408, z: -0.52083397} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1998037174 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3951425291114222009, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + m_PrefabInstance: {fileID: 3951425289854923023} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3951425289854923023 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalPosition.x + value: 15.407915 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalPosition.y + value: 4.7623067 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalPosition.z + value: 1.3299046 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222005, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3951425291114222007, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 3c783b043774015408f04c74b4f8559d, type: 2} + - target: {fileID: 3951425291114222009, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_Name + value: Cube + objectReference: {fileID: 0} + - target: {fileID: 7554796985381095928, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5f414642c01e9af40b8c60a6c7162c5a, type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c67cf5d0160fa1340afc79b251a0c205, type: 3} diff --git a/Assets/Tripsitter.cs b/Assets/Tripsitter.cs index 01a978a..05a6a9e 100644 --- a/Assets/Tripsitter.cs +++ b/Assets/Tripsitter.cs @@ -15,6 +15,5 @@ public class Tripsitter : MonoBehaviour // Update is called once per frame void Update() { - Debug.Log(ave.GetSpectrumData()); } } diff --git a/Assets/TripsitterAve.cs b/Assets/TripsitterAve.cs index 857d0db..bc9caca 100644 --- a/Assets/TripsitterAve.cs +++ b/Assets/TripsitterAve.cs @@ -1,9 +1,35 @@ -using System.Collections; using System.Collections.Generic; -using UnityEngine; using Assets.WasapiAudio.Scripts.Unity; +using UnityEngine; -public class TripsitterAve : AudioVisualizationEffect +public abstract class TripsitterAve : MonoBehaviour { + // Inspector Properties + public WasapiAudioSource WasapiAudioSource; + [SpectrumDataPreview] + public SpectrumData Preview; + + protected int SpectrumSize { get; private set; } + + public virtual void Awake() + { + WasapiAudioSource = GameObject.Find("WasapiLoopback").GetComponent(); + SpectrumSize = WasapiAudioSource.SpectrumSize; + Preview = new SpectrumData(); + } + + protected float[] GetSpectrumData() + { + if (WasapiAudioSource == null) + { + Debug.Log("You must set a WasapiAudioSource"); + return null; + } + + // Get raw / unmodified spectrum data + var spectrumData = WasapiAudioSource.GetSpectrumData(); + Preview.Values = spectrumData; + return spectrumData; + } } diff --git a/Assets/WasapiAudio/Scripts/Unity/AudioVisualizationEffect.cs b/Assets/WasapiAudio/Scripts/Unity/AudioVisualizationEffect.cs index 541d10a..c5d5f31 100644 --- a/Assets/WasapiAudio/Scripts/Unity/AudioVisualizationEffect.cs +++ b/Assets/WasapiAudio/Scripts/Unity/AudioVisualizationEffect.cs @@ -29,7 +29,7 @@ namespace Assets.WasapiAudio.Scripts.Unity Preview = new SpectrumData(); } - public float[] GetSpectrumData() + protected float[] GetSpectrumData() { if (WasapiAudioSource == null) {