diff --git a/Depiction.jpg.meta b/Depiction.jpg.meta new file mode 100644 index 0000000..fc59463 --- /dev/null +++ b/Depiction.jpg.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 85168ba1a6bbeaf41af73fc43d64aebb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/LICENSE.meta b/LICENSE.meta new file mode 100644 index 0000000..be5e762 --- /dev/null +++ b/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a0b2ec91e6ea0ec459ee89db7bbd3b3a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 0000000..93c653f --- /dev/null +++ b/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9cc450a78cfa0c746b972c67466d253e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/The 'Assets' folder of your Unity Prjct.meta b/The 'Assets' folder of your Unity Prjct.meta new file mode 100644 index 0000000..1c03096 --- /dev/null +++ b/The 'Assets' folder of your Unity Prjct.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2be47d5f71beb3845a544127750bf5e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_BoatSampleDemo.unity b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_BoatSampleDemo.unity index 2a1f321..cf9c004 100644 Binary files a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_BoatSampleDemo.unity and b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_BoatSampleDemo.unity differ diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_VehicleSampleDemo.unity b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_VehicleSampleDemo.unity index 2042eff..75c419b 100644 --- a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_VehicleSampleDemo.unity +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/DemoSceneNWHSample/NWH_VehicleSampleDemo.unity @@ -38,7 +38,6 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 442696815} - m_IndirectSpecularColor: {r: 0.23395246, g: 0.33546352, b: 0.4233486, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +103,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +116,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -147,13 +146,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 20422670} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.637, z: -0.144} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1531906835} - m_RootOrder: 26 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &20422672 MonoBehaviour: @@ -172,17 +171,123 @@ MonoBehaviour: debug_load: 0 shiftPitch: -0.165 masterVolume: 1 + pitchCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + volumeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + audioSourceTemplate: {fileID: 0} mixer: {fileID: 2200012645663098107, guid: 4a45b12b36d160c41be1eea83586fbe7, type: 2} mixerType: 1 rpm_deviation: 1000 + distortionCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.7 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + distortionIntensity: 0.5 + mufflingIntensity: 0.5 + lowPassCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 22000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lowPassIntensity: 0.5 acceleratingSounds: [] deceleratingSounds: [] idleAccVolume: 0.1 maxVolumeAcc: 0.8654 maxVolumeDcc: 0.124 - pitchRange: 0.049 - minPitch: 0.8 - pitchConstant: 0.31 transitionTime: 16 acPitchTransitionTime: 20 dcPitchTransitionTime: 20 @@ -239,13 +344,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 270443611} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.376, z: -2.33} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1531906835} - m_RootOrder: 27 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &270443613 MonoBehaviour: @@ -264,26 +369,141 @@ MonoBehaviour: debug_load: 0 shiftPitch: 0 masterVolume: 0.8 + pitchCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + volumeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + audioSourceTemplate: {fileID: 0} mixer: {fileID: 6131963381352869756, guid: 4a45b12b36d160c41be1eea83586fbe7, type: 2} mixerType: 2 rpm_deviation: 750 + distortionCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.7 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + distortionIntensity: 0.5 + mufflingIntensity: 0.5 + lowPassCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 22000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lowPassIntensity: 0.5 acceleratingSounds: - - {fileID: 8300000, guid: 437a727e40d44334ab231e0596613ab3, type: 3} - - {fileID: 8300000, guid: 317ffd7b6c3761048a18ea20ec59486c, type: 3} - - {fileID: 8300000, guid: fa92e414d3f529d469f25fd2269d493a, type: 3} - - {fileID: 8300000, guid: 3d8ac3e982b48094c9cceed95ea2feda, type: 3} - - {fileID: 8300000, guid: fe7e2025ca8aded4b98fa8e8dc0e104c, type: 3} + - audioClip: {fileID: 8300000, guid: 437a727e40d44334ab231e0596613ab3, type: 3} + rpmValue: 1000 + - audioClip: {fileID: 8300000, guid: 317ffd7b6c3761048a18ea20ec59486c, type: 3} + rpmValue: 3000 + - audioClip: {fileID: 8300000, guid: fa92e414d3f529d469f25fd2269d493a, type: 3} + rpmValue: 4500 + - audioClip: {fileID: 8300000, guid: 3d8ac3e982b48094c9cceed95ea2feda, type: 3} + rpmValue: 6000 + - audioClip: {fileID: 8300000, guid: fe7e2025ca8aded4b98fa8e8dc0e104c, type: 3} + rpmValue: 8500 deceleratingSounds: - - {fileID: 8300000, guid: 18516a33b6def4a4c98735860244b929, type: 3} - - {fileID: 8300000, guid: f93dffb4261b4744aba726b689b0d671, type: 3} - - {fileID: 8300000, guid: 83c3137aeb2a8ed4f85f5c1f93e576bb, type: 3} - - {fileID: 8300000, guid: 64812691a85b779418ec478543de7a47, type: 3} + - audioClip: {fileID: 8300000, guid: 18516a33b6def4a4c98735860244b929, type: 3} + rpmValue: 500 + - audioClip: {fileID: 8300000, guid: f93dffb4261b4744aba726b689b0d671, type: 3} + rpmValue: 1500 + - audioClip: {fileID: 8300000, guid: 83c3137aeb2a8ed4f85f5c1f93e576bb, type: 3} + rpmValue: 4500 + - audioClip: {fileID: 8300000, guid: 64812691a85b779418ec478543de7a47, type: 3} + rpmValue: 7500 idleAccVolume: 1 maxVolumeAcc: 0.8 maxVolumeDcc: 0.4 - pitchRange: 0.31 - minPitch: 0.88 - pitchConstant: 0.24 transitionTime: 16 acPitchTransitionTime: 8 dcPitchTransitionTime: 10 @@ -365,6 +585,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 325115273, guid: 26c0e5b278c2dde45b01e3c71811c0d3, type: 3} @@ -949,6 +1170,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: - {fileID: 592196611, guid: 26c0e5b278c2dde45b01e3c71811c0d3, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 592196609, guid: 26c0e5b278c2dde45b01e3c71811c0d3, type: 3} + insertIndex: -1 + addedObject: {fileID: 592196610} m_SourcePrefab: {fileID: 100100000, guid: 26c0e5b278c2dde45b01e3c71811c0d3, type: 3} --- !u!114 &368821908 stripped MonoBehaviour: @@ -974,9 +1201,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 404900438} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300004, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -1077,13 +1312,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 442696814} + serializedVersion: 2 m_LocalRotation: {x: -0.009492611, y: 0.83901775, z: -0.54382414, w: -0.014645303} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1123527401} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 65.9, y: -538, z: 0} --- !u!1 &550106830 GameObject: @@ -1111,13 +1346,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 550106830} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 22.634075, y: -29.24831, z: -1.916235} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1363486427} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &550106833 MeshCollider: @@ -1127,9 +1362,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 550106830} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: -1 m_Mesh: {fileID: 4300000, guid: d7871dba4aa3f134cb99f126b4cdafaa, type: 3} @@ -1229,13 +1472,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 617381969} + serializedVersion: 2 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_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &617381971 MonoBehaviour: @@ -1303,13 +1546,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 755731739} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.27, y: 0.969, z: -0.616} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1531906835} - m_RootOrder: 29 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &755731741 MonoBehaviour: @@ -1328,17 +1571,123 @@ MonoBehaviour: debug_load: 0.5 shiftPitch: -0.52 masterVolume: 1 + pitchCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + volumeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + audioSourceTemplate: {fileID: 0} mixer: {fileID: -1865977272044620205, guid: 4a45b12b36d160c41be1eea83586fbe7, type: 2} mixerType: 3 rpm_deviation: 1000 + distortionCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.7 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + distortionIntensity: 0.5 + mufflingIntensity: 0.5 + lowPassCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 22000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lowPassIntensity: 0.5 acceleratingSounds: [] deceleratingSounds: [] idleAccVolume: 0.1 maxVolumeAcc: 0.24 maxVolumeDcc: 0.2 - pitchRange: 0.2 - minPitch: 0.515 - pitchConstant: 0.5 transitionTime: 20 acPitchTransitionTime: 20 dcPitchTransitionTime: 20 @@ -1372,9 +1721,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 814292735} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300008, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -1414,13 +1771,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 953672547} + serializedVersion: 2 m_LocalRotation: {x: 0.37958688, y: 0.5715765, z: -0.62263244, w: 0.37622193} m_LocalPosition: {x: -83.09, y: 18.46, z: 100.03} m_LocalScale: {x: 10.425628, y: 0.10334, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1123527401} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 94.147, y: 143.9, z: 28.559006} --- !u!23 &953672550 MeshRenderer: @@ -1485,9 +1842,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 956597318} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300006, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -1514,13 +1879,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 998088063} + serializedVersion: 2 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_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1123527401} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1034776848 GameObject: @@ -1546,13 +1911,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1034776848} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.27, y: 0.969, z: -0.616} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1531906835} - m_RootOrder: 28 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1034776850 MonoBehaviour: @@ -1571,17 +1936,123 @@ MonoBehaviour: debug_load: 0.5 shiftPitch: -0.52 masterVolume: 1 + pitchCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + volumeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + audioSourceTemplate: {fileID: 0} mixer: {fileID: 2786893567559609219, guid: 4a45b12b36d160c41be1eea83586fbe7, type: 2} mixerType: 0 rpm_deviation: 1000 + distortionCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.7 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + distortionIntensity: 0.5 + mufflingIntensity: 0.5 + lowPassCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 22000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lowPassIntensity: 0.5 acceleratingSounds: [] deceleratingSounds: [] idleAccVolume: 0.1 maxVolumeAcc: 0.24 maxVolumeDcc: 0.2 - pitchRange: 0.2 - minPitch: 0.515 - pitchConstant: 0.5 transitionTime: 20 acPitchTransitionTime: 20 dcPitchTransitionTime: 20 @@ -1625,6 +2096,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1123527400} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -16.1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -1637,7 +2109,6 @@ Transform: - {fileID: 953672548} - {fileID: 998088064} m_Father: {fileID: 0} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1176192832 stripped GameObject: @@ -1652,9 +2123,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1176192832} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300012, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -1663,6 +2142,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1363486427} m_Modifications: - target: {fileID: -7753537924505570229, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -1994,6 +2474,27 @@ PrefabInstance: value: 4294967295 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 100014, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 404900442} + - targetCorrespondingSourceObject: {fileID: 100018, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 814292739} + - targetCorrespondingSourceObject: {fileID: 100016, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 956597322} + - targetCorrespondingSourceObject: {fileID: 100022, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 1176192836} + - targetCorrespondingSourceObject: {fileID: 100012, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 1322409930} + - targetCorrespondingSourceObject: {fileID: 100020, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} + insertIndex: -1 + addedObject: {fileID: 2061873249} m_SourcePrefab: {fileID: 100100000, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} --- !u!4 &1191666750 stripped Transform: @@ -2013,9 +2514,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1322409926} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300002, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -2053,6 +2562,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1363486426} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -22.634075, y: 13.230493, z: 1.916235} m_LocalScale: {x: 1, y: 1, z: 1} @@ -2061,7 +2571,6 @@ Transform: - {fileID: 1191666750} - {fileID: 550106832} m_Father: {fileID: 0} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1440105655 GameObject: @@ -2088,13 +2597,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1440105655} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -673.9971, y: 0, z: -648.75073} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1123527401} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!154 &1440105657 TerrainCollider: @@ -2104,7 +2613,16 @@ TerrainCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1440105655} m_Material: {fileID: 13400000, guid: 22fc4cb3a07b34e4cbc20c64ac7bd3be, type: 2} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 m_Enabled: 1 + serializedVersion: 2 m_TerrainData: {fileID: 15600000, guid: 1bf9660780d2313438e5951a41517765, type: 2} m_EnableTreeColliders: 1 --- !u!218 &1440105658 @@ -2125,22 +2643,28 @@ Terrain: m_DetailObjectDensity: 0.388 m_HeightmapPixelError: 4 m_SplatMapDistance: 200 + m_HeightmapMinimumLODSimplification: 0 m_HeightmapMaximumLOD: 0 m_ShadowCastingMode: 1 m_DrawHeightmap: 1 m_DrawInstanced: 1 m_DrawTreesAndFoliage: 0 m_StaticShadowCaster: 0 + m_IgnoreQualitySettings: 0 m_ReflectionProbeUsage: 0 m_MaterialTemplate: {fileID: 2100000, guid: 1e7fd05a4f92bf7458e985197cac2b97, type: 2} m_BakeLightProbesForTrees: 1 m_PreserveTreePrototypeLayers: 0 m_DeringLightProbesForTrees: 1 + m_ReceiveGI: 1 m_ScaleInLightmap: 0.025 m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} m_GroupingID: 0 m_RenderingLayerMask: 1 m_AllowAutoConnect: 1 + m_EnableHeightmapRayTracing: 1 + m_EnableTreesAndDetailsRayTracing: 0 + m_TreeMotionVectorModeOverride: 3 --- !u!4 &1531906835 stripped Transform: m_CorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} @@ -2225,9 +2749,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1755896626} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} --- !u!23 &1755896629 @@ -2287,13 +2819,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1755896626} + serializedVersion: 2 m_LocalRotation: {x: -0, y: 0.84487057, z: -0, w: 0.5349708} m_LocalPosition: {x: -83.119995, y: 20.46222, z: 99.98999} m_LocalScale: {x: 13.55275, y: 2.65, z: 0.0010000009} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1123527401} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 115.316, z: 0} --- !u!114 &1926802412 stripped MonoBehaviour: @@ -2329,9 +2861,17 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2061873245} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 4 + serializedVersion: 5 m_Convex: 0 m_CookingOptions: 0 m_Mesh: {fileID: 4300010, guid: 0f7b742293ecd554ead9622542ee2546, type: 3} @@ -2359,13 +2899,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2130834633} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.27, y: 0.969, z: -0.616} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1531906835} - m_RootOrder: 30 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &2130834635 MonoBehaviour: @@ -2384,17 +2924,123 @@ MonoBehaviour: debug_load: 0.5 shiftPitch: -0.52 masterVolume: 1 + pitchCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1.2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + volumeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + audioSourceTemplate: {fileID: 0} mixer: {fileID: 4571142021113228432, guid: 4a45b12b36d160c41be1eea83586fbe7, type: 2} mixerType: 4 rpm_deviation: 1000 + distortionCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.7 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + distortionIntensity: 0.5 + mufflingIntensity: 0.5 + lowPassCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 22000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1000 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lowPassIntensity: 0.5 acceleratingSounds: [] deceleratingSounds: [] idleAccVolume: 0.1 maxVolumeAcc: 0.24 maxVolumeDcc: 0.2 - pitchRange: 0.2 - minPitch: 0.515 - pitchConstant: 0.5 transitionTime: 20 acPitchTransitionTime: 20 dcPitchTransitionTime: 20 @@ -2438,6 +3084,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2131501051} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -16.1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -2445,13 +3092,13 @@ Transform: m_Children: - {fileID: 1531906835} m_Father: {fileID: 0} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1262635049566596206 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 1262635049037747632, guid: 4081359a1d200a343a828de20bced24c, type: 3} @@ -2503,6 +3150,9 @@ PrefabInstance: value: _PostProcessing objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 4081359a1d200a343a828de20bced24c, type: 3} --- !u!114 &5679481598779529625 MonoBehaviour: @@ -2587,6 +3237,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1123527401} m_Modifications: - target: {fileID: 6523963404244199936, guid: 6006988b956583d4c80c04882771cee7, type: 3} @@ -2638,12 +3289,16 @@ PrefabInstance: value: Water objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6006988b956583d4c80c04882771cee7, type: 3} --- !u!1001 &6905040613519026979 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 2131501052} m_Modifications: - target: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} @@ -2807,4 +3462,32 @@ PrefabInstance: value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} + insertIndex: -1 + addedObject: {fileID: 20422671} + - targetCorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} + insertIndex: -1 + addedObject: {fileID: 270443612} + - targetCorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} + insertIndex: -1 + addedObject: {fileID: 1034776849} + - targetCorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} + insertIndex: -1 + addedObject: {fileID: 755731740} + - targetCorrespondingSourceObject: {fileID: 570990794540276038, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} + insertIndex: -1 + addedObject: {fileID: 2130834634} + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 3e1aced4144dd784c8f3878b71b33dcf, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 617381970} + - {fileID: 1262635049566596206} + - {fileID: 352347383} + - {fileID: 2131501052} + - {fileID: 1363486427} + - {fileID: 1123527401} diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Core/VehicleNoiseSynthesizer.cs b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Core/VehicleNoiseSynthesizer.cs index d48198b..948cd78 100644 --- a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Core/VehicleNoiseSynthesizer.cs +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Core/VehicleNoiseSynthesizer.cs @@ -1,128 +1,262 @@ -/* -Several GitHub repositories inspire this but I lost their URLs - Please contact me if you're one of them in case of needing to add your personal website or username as a credit. -Written by ImDanOush (find me with this username @ImDanOush on IG, YT, TWTR,...) for "ATG Life Style and Vehicle Simulator" (@ATG_Simulator) -This entirely is freeware, See the repository's license section for more info. -*/ - using UnityEngine; using System.Collections.Generic; using UnityEngine.Audio; -using System; using System.Collections; namespace AroundTheGroundSimulator { + [AddComponentMenu("ATG/Audio/Vehicle Noise Synthesizer")] + [RequireComponent(typeof(AudioSource))] + [HelpURL("https://github.com/ImDanOush/VehicleNoiseSynthesizer")] public class VehicleNoiseSynthesizer : MonoBehaviour { - // Control input manually + #region Debug Controls + [Header("Debug Controls")] + [Space(5)] + [Tooltip("Enable to manually control RPM and load values for testing")] public bool _debug = false; + [Range(100f, 9000f)] + [Tooltip("Test RPM value when debug mode is enabled")] public float debug_rpm = 800; + [Range(0.00f, 1.00f)] + [Tooltip("Test engine load value when debug mode is enabled")] public float debug_load = 1; + #endregion - [Space(7f)] - [Header("Granulator Properties")] - [Space(7f)] - // Shift final Pitch for fine-tuning (Optional) + #region Core Audio Settings + [Header("Core Audio Settings")] + [Space(10)] + [Tooltip("Fine-tune the overall pitch of engine sounds")] public float shiftPitch = 0; - // Change final volume for fine-tuning (Optional) + [Range(0.007f, 1.00f)] + [Tooltip("Master volume control for all engine sounds")] public float masterVolume = 1; + [Tooltip("Template AudioSource for copying base audio settings")] public AudioSource audioSourceTemplate; - public AudioMixerGroup mixer; // Audio Mixer Group assigned to the audio sources of this script - optional - public MixerType mixerType; // Which one of the three default types should be used? (see the audio mixer in the demo, there are Engine, Intake and Exhaust ones by default) - public int rpm_deviation = 1000; // the constant difference of the rpm value of audio clips, e.g audio clip 1 has the audio of an engine at 1000 rpm, audio clip 2 has has the audio of an engine at 2500 rpm. so the value should be close or a bit less than 1500 - [Tooltip("IMPORTANT!! File name should end with the RPM digits. E.g. Exhausts_AccelerateAt_5000.wav")] - public AudioClip[] acceleratingSounds; // Audio clips per RPM for when the engine is under the load - [Tooltip("[Optional] IMPORTANT!! File name should end with the RPM digits. E.g. Exhausts_DecelerateAt_5000.wav")] - public AudioClip[] deceleratingSounds; // Audio clips per RPM for when the engine is not under the load. For realistic simulations, only for exhaust sounds these audio clips are needed! + [Tooltip("Optional mixer group for audio routing")] + public AudioMixerGroup mixer; + + [Tooltip("Type of engine sound (Intake, Engine, Exhaust, etc.)")] + public MixerType mixerType; + + [Tooltip("RPM difference between consecutive audio clips")] + public int rpm_deviation = 1000; + #endregion + + #region Sound Curves + [Header("Engine Sound Response Curves")] + [Space(10)] + [Tooltip("Controls how pitch changes with RPM (X: Normalized RPM, Y: Pitch multiplier)")] + public AnimationCurve pitchCurve = new AnimationCurve( + new Keyframe(0f, 0.6f), + new Keyframe(1f, 1.2f) + ); + + [Tooltip("Controls how volume changes with RPM (X: Normalized RPM, Y: Volume multiplier)")] + public AnimationCurve volumeCurve = new AnimationCurve( + new Keyframe(0f, 0.5f), + new Keyframe(1f, 1f) + ); + #endregion + + #region Audio Effect Settings + [Header("Audio Effects Configuration")] + [Space(10)] + [Tooltip("Controls distortion amount based on RPM and load")] + public AnimationCurve distortionCurve = new AnimationCurve( + new Keyframe(0f, 0f), + new Keyframe(0.7f, 0.3f), + new Keyframe(1f, 0.5f) + ); + + [Range(0f, 1f)] + [Tooltip("Overall intensity of the distortion effect")] + public float distortionIntensity = 0.5f; + + [Range(0f, 1f)] + [Tooltip("Intensity of the muffling effect when engine load decreases")] + public float mufflingIntensity = 0.5f; + + [Header("Low Pass Filter")] + [Space(5)] + [Tooltip("Controls frequency cutoff based on load (X: Load, Y: Cutoff frequency)")] + public AnimationCurve lowPassCurve = new AnimationCurve( + new Keyframe(1f, 1000f), + new Keyframe(0f, 22000f) + ); + + [Range(0f, 1f)] + [Tooltip("Overall intensity of the low pass filter effect")] + public float lowPassIntensity = 0.5f; + #endregion + #region Volume and Audio Clip Settings + [System.Serializable] + public class EngineAudioClipData + { + [Tooltip("Audio clip containing engine sound")] + public AudioClip audioClip; + + [Tooltip("RPM value at which this audio clip should play")] + [Range(0, 10000)] + public int rpmValue; - // Mimimum and Maximum values of volumes - [Tooltip("If there is no decelrating sound clips, the accelerating sound clip with the lowest RPM value is chosen and this will be its default volume when it is idle.")] + [Tooltip("Optional description for this audio clip")] + public string description; + } + [Header("Audio Clip Configuration")] + [Space(10)] + [SerializeField] + [Tooltip("List of audio clips for engine acceleration, each with its corresponding RPM value")] + public List acceleratingSounds = new List(); + + [SerializeField] + [Tooltip("Optional list of audio clips for engine deceleration, each with its corresponding RPM value")] + public List deceleratingSounds = new List(); + + [Header("Volume Configuration")] + [Space(10)] + [Tooltip("Default volume when engine is idle (used when no deceleration clips are present)")] [Range(0.05f, 1.00f)] public float idleAccVolume = 0.1f; - [Tooltip("If max volume is set to 0 that means the audio volum is left as is.")] + + [Tooltip("Maximum volume for acceleration sounds (0 means no limit)")] [Range(0.00f, 1.00f)] public float maxVolumeAcc = 0.4f; + + [Tooltip("Maximum volume for deceleration sounds")] [Range(0.00f, 1.00f)] public float maxVolumeDcc = 0.1f; - [Range(0.00f, 1.00f)] - public float pitchRange = 0.2f; - [Range(0.1f, 2.00f)] - public float minPitch = 0.6f; - [Range(0.001f, 100.00f)] - public float pitchConstant = 0.4f; - - [Space(7f)] - [Header("Advanced Granulator Properties")] - [Space(7f)] - // How smooth audioclips and their volume value can change? + + [Header("Transition Settings")] + [Space(10)] + [Tooltip("How smoothly audio clips and volume changes occur")] + [Range(1f, 50f)] public float transitionTime = 20f; - // How smooth accelerating audioclips and their pitch value can change? suggested to use the same value as transitionTime. + + [Tooltip("Smoothness of pitch changes during acceleration")] + [Range(1f, 50f)] public float acPitchTransitionTime = 20f; - // How smooth decelerating audioclips and their pitch value can change? suggested to use the same value as transitionTime. + + [Tooltip("Smoothness of pitch changes during deceleration")] + [Range(1f, 50f)] public float dcPitchTransitionTime = 20f; - // Adjust the pitch of accelerating sound clip for fine-tuning + #endregion + + #region Fine-Tuning Parameters + [Header("Fine-Tuning")] + [Space(10)] + [Tooltip("Fine-tune pitch for acceleration sounds")] + [Range(-1f, 1f)] public float acPitchTrim = 0; - // Adjust the pitch of accelerating sound clip for fine-tuning + + [Tooltip("Fine-tune pitch for deceleration sounds")] + [Range(-1f, 1f)] public float dcPitchTrim = 0; - // Add random pitch + + [Tooltip("Add random variation to pitch")] [Range(-0.060f, 0.060f)] public float rndmPitch = 0; - // Used for the table of pitches, if the maximum RPM of your engine is more than 10000 set it something more than that. + + [Tooltip("Maximum theoretical RPM value for calculations")] + [Range(1000f, 20000f)] public float maximumTheoricalRPM = 10000; + + [Tooltip("Base pitch value when engine is idle")] + [Range(0.5f, 2f)] public float idlePitch = 1; + #endregion + #region Internal State Variables + [Header("Internal State")] + [Space(10)] + [SerializeField] + [Tooltip("Current engine RPM")] + private float _rpm; - //[HideInInspector] - public float rpm - { - get; internal set; // sets the rpm value based on one of the inputs like the provided "AudioGranulatorNWHVehiclePhysics2" class - } - //[HideInInspector] - public float load - { - get; internal set; // sets the load value based on one of the inputs like the provided "AudioGranulatorNWHVehiclePhysics2" class - } - [Space(47f)] - [Header("[Read-Only] Debug Values")] - [Space(7f)] - // Table of audio clip ranges for fading based on the rpm value [SerializeField] - float[] _AcMin_rTable; + [Tooltip("Current engine load")] + private float _load; + [SerializeField] - float[] _AcNormal_rTable; + [Tooltip("Maximum RPM of the engine")] + private float _maxRpm; + [SerializeField] - float[] _AcMax_rTable; + [Tooltip("Engine state (on/off)")] + private bool _isOn; + [SerializeField] - float[] _DcMin_rTable; + [Tooltip("Idle RPM value")] + private float _idleRpm; + [SerializeField] - float[] _DcNormal_rTable; + [Tooltip("Previous frame RPM value")] + private float l_r; + [SerializeField] - float[] _DcMax_rTable; + [Tooltip("Final pitch value after all modifications")] + private float _finalPitch = 1f; + [SerializeField] - bool _nonDecelerateAudiosMode = true; + [Tooltip("Current volume for acceleration sounds")] + private float _finalAccVol = 0; + [SerializeField] - float _rpm; // current engine rpm + [Tooltip("Current volume for deceleration sounds")] + private float _finalDecVol = 0; + #endregion + + #region Audio Processing Tables + [Header("Audio Processing Tables")] + [Space(10)] [SerializeField] - float _load; // current engine load + [Tooltip("Minimum RPM values for acceleration clips")] + private float[] _AcMin_rTable; + [SerializeField] - float _maxRpm; // max rpm of the engine + [Tooltip("Normal RPM values for acceleration clips")] + private float[] _AcNormal_rTable; + [SerializeField] - float _RangeDivider = 1; // scale the range of which an audio clip fades out/in to another one per its audio clip type - accelerating/decelerating - - // used for calculations - bool _isOn = false; //is the car turned on? - float _idleRpm; // used for correcting idle audio volume level - float l_r; // the rpm value in previous frame - float _finalAccVol = 0; // values of audio clips when the vehicle is accelerating - float _finalDecVol = 0; // values of audio clips wheb the vehicle is decelerating - [SerializeField] float _finalPitch = 1f; // final raw pitch value + [Tooltip("Maximum RPM values for acceleration clips")] + private float[] _AcMax_rTable; + + [SerializeField] + [Tooltip("Minimum RPM values for deceleration clips")] + private float[] _DcMin_rTable; + + [SerializeField] + [Tooltip("Normal RPM values for deceleration clips")] + private float[] _DcNormal_rTable; + + [SerializeField] + [Tooltip("Maximum RPM values for deceleration clips")] + private float[] _DcMax_rTable; + + [SerializeField] + [Tooltip("True if no deceleration audio clips are provided")] + private bool _nonDecelerateAudiosMode = true; + + [SerializeField] + [Tooltip("Scale factor for audio clip fade ranges")] + private float _RangeDivider = 1; + #endregion + + #region Audio Sources private List _accelerateAudios; private List _decelerateAudios; - float vol; + private float vol; + #endregion + + #region Public Properties + public float rpm { get; internal set; } + public float load { get; internal set; } + #endregion + public enum MixerType { Intake, @@ -131,7 +265,6 @@ public enum MixerType Transmission, Differential } - internal void Activate(float maxRpm, float idleRpm) { //max rpm of the engine @@ -142,17 +275,17 @@ internal void Activate(float maxRpm, float idleRpm) // one-time process to prepare and load audio clips _nonDecelerateAudiosMode = true; int counter = 0; - _AcNormal_rTable = new float[acceleratingSounds.Length]; - foreach (AudioClip item in acceleratingSounds) + _AcNormal_rTable = new float[acceleratingSounds.Count]; + foreach (EngineAudioClipData item in acceleratingSounds) { - _AcNormal_rTable[counter] = Get_r(item.name); + _AcNormal_rTable[counter] = item.rpmValue; counter++; } counter = 0; - _DcNormal_rTable = new float[deceleratingSounds.Length]; - foreach (AudioClip item in deceleratingSounds) + _DcNormal_rTable = new float[deceleratingSounds.Count]; + foreach (EngineAudioClipData item in deceleratingSounds) { - _DcNormal_rTable[counter] = Get_r(item.name); + _DcNormal_rTable[counter] = item.rpmValue; counter++; } // if no decelerating audio clips are provided - like for vehicle engine and vehicle engine intake sounds - then this changes the script behavior accordingly @@ -186,13 +319,12 @@ internal void Activate(float maxRpm, float idleRpm) Transform T = this.gameObject.transform; - if (acceleratingSounds.Length <= 0) + if (acceleratingSounds.Count <= 0) { throw new System.Exception("No Audios provided!"); } AudioSource carSound; - AudioLowPassFilter aLpf; List ks = new List() { new Keyframe(0,1), @@ -214,7 +346,7 @@ internal void Activate(float maxRpm, float idleRpm) carSound = gameObject.AddComponent(); carSound.playOnAwake = false; carSound.reverbZoneMix = audioSourceTemplate.reverbZoneMix; - carSound.spatialBlend = 1; + carSound.spatialBlend = audioSourceTemplate.spatialBlend; carSound.dopplerLevel = audioSourceTemplate.dopplerLevel; carSound.spread = audioSourceTemplate.spread; carSound.rolloffMode = audioSourceTemplate.rolloffMode; @@ -225,15 +357,13 @@ internal void Activate(float maxRpm, float idleRpm) carSound.transform.parent = T; carSound.volume = 0; carSound.loop = true; - carSound.clip = sound; + carSound.clip = sound.audioClip; if (mixer) carSound.outputAudioMixerGroup = mixer; _accelerateAudios.Add(carSound); - // - aLpf = gameObject.AddComponent(); - aLpf.customCutoffCurve = aC; + AddAudioEffects(carSound); } foreach (var sound in deceleratingSounds) { @@ -242,7 +372,7 @@ internal void Activate(float maxRpm, float idleRpm) carSound = gameObject.AddComponent(); carSound.playOnAwake = false; carSound.reverbZoneMix = audioSourceTemplate.reverbZoneMix; - carSound.spatialBlend = 1; + carSound.spatialBlend = audioSourceTemplate.spatialBlend; carSound.dopplerLevel = audioSourceTemplate.dopplerLevel; carSound.spread = audioSourceTemplate.spread; carSound.rolloffMode = audioSourceTemplate.rolloffMode; @@ -253,18 +383,27 @@ internal void Activate(float maxRpm, float idleRpm) carSound.transform.parent = T; carSound.volume = 0; carSound.loop = true; - carSound.clip = sound; + carSound.clip = sound.audioClip; if (mixer) carSound.outputAudioMixerGroup = mixer; _decelerateAudios.Add(carSound); - // - aLpf = gameObject.AddComponent(); - aLpf.customCutoffCurve = aC; + AddAudioEffects(carSound); } } + private void AddAudioEffects(AudioSource source) + { + // Add Low Pass Filter + AudioLowPassFilter lowPass = source.gameObject.AddComponent(); + lowPass.cutoffFrequency = 22000f; // Start with no filtering + + // Add Distortion + AudioDistortionFilter distortion = source.gameObject.AddComponent(); + distortion.distortionLevel = 0f; + } + internal void TurnOn() { _isOn = true; @@ -275,27 +414,14 @@ internal void TurnOff() _isOn = false; } - // Function to assign each audio clip its correct RPM value based on its file name, always the last "_" charachter would make the component save rpm values. E.g: Some_Name_123_9000.wav would register 9000 as the rpm value assigned to the audio clip - private float Get_r(string name) - { - string num = string.Empty; - foreach (char c in name) - { - if (c == '_') - { - num = ""; - continue; - } - num += c; - } - return float.Parse(num.Replace("_", "")); - } void CalcVolPitchAcDc(float load, bool acDc) { if (_accelerateAudios == null) // If audio sources are not ready yet, ignore doing this function. return; - _finalPitch = Mathf.Lerp(_finalPitch, (_rpm > _idleRpm + rpm_deviation ? (pitchConstant * (Mathf.Pow(((_rpm + 1) / (_maxRpm + 1)), 2) + 0.5f) + (load * pitchRange)) + minPitch : 1f), Time.deltaTime * transitionTime); + float normalizedRPM = Mathf.InverseLerp(_idleRpm, _maxRpm, _rpm); + float pitchMultiplier = pitchCurve.Evaluate(normalizedRPM); + _finalPitch = Mathf.Lerp(_finalPitch, (_rpm > _idleRpm + rpm_deviation ? pitchMultiplier : 1f), Time.deltaTime * transitionTime); if (l_r + 75 < _rpm || _nonDecelerateAudiosMode || load > 0f) { @@ -307,9 +433,9 @@ void CalcVolPitchAcDc(float load, bool acDc) _finalAccVol = Mathf.Lerp(_finalAccVol, 0.0f, Time.deltaTime * transitionTime); _finalDecVol = Mathf.Lerp(_finalDecVol, 1.0f, Time.deltaTime * transitionTime); } + if (_accelerateAudios.Count == 1) // Calculation for when only one audio clip is used { - if (!_isOn || _rpm < 100) { _accelerateAudios[0].pitch = 1; @@ -320,12 +446,14 @@ void CalcVolPitchAcDc(float load, bool acDc) if (!_accelerateAudios[0].isPlaying) _accelerateAudios[0].Play(); + float volumeMultiplier = volumeCurve.Evaluate(normalizedRPM); if (maxVolumeAcc > 0) - _accelerateAudios[0].volume = Mathf.Clamp(MathF.Pow(((_rpm + 100) / _maxRpm), 2), idleAccVolume, maxVolumeAcc) * masterVolume; + _accelerateAudios[0].volume = volumeMultiplier * Mathf.Clamp(volumeMultiplier + idleAccVolume, idleAccVolume, maxVolumeAcc) * masterVolume; else - _accelerateAudios[0].volume = 1 * masterVolume; + _accelerateAudios[0].volume = volumeMultiplier * masterVolume; _accelerateAudios[0].pitch = Mathf.Lerp(_accelerateAudios[0].pitch, _finalPitch + shiftPitch + acPitchTrim, Time.deltaTime * (acPitchTransitionTime)) + rndmPitch; + ApplyAudioEffects(_accelerateAudios[0], normalizedRPM, load); } } else // Calculation for when either both audio clip types are used or more than one accelerating sound clip is used @@ -364,13 +492,15 @@ void CalcVolPitchAcDc(float load, bool acDc) if (_rpm > 0) { _accelerateAudios[i].pitch = Mathf.Lerp(_accelerateAudios[i].pitch, _rpm <= _idleRpm + rpm_deviation ? idlePitch : _finalPitch + shiftPitch + acPitchTrim, Time.deltaTime * (acPitchTransitionTime)) + rndmPitch; + + float volumeMultiplier = volumeCurve.Evaluate(normalizedRPM); if (maxVolumeAcc > 0) { - _accelerateAudios[i].volume = vol * Mathf.Clamp(((_rpm + 100) / _maxRpm) + idleAccVolume, _decelerateAudios.Count == 0 ? (_rpm <= _idleRpm ? idleAccVolume : 0) : 0f, maxVolumeAcc) * masterVolume; + _accelerateAudios[i].volume = vol * Mathf.Clamp(volumeMultiplier + idleAccVolume, _decelerateAudios.Count == 0 ? (_rpm <= _idleRpm ? idleAccVolume : 0f) : 0f, maxVolumeAcc) * masterVolume; } else { - _accelerateAudios[i].volume = vol * masterVolume; + _accelerateAudios[i].volume = vol * volumeMultiplier * masterVolume; } if (!_accelerateAudios[i].isPlaying) _accelerateAudios[i].Play(); @@ -378,6 +508,7 @@ void CalcVolPitchAcDc(float load, bool acDc) else _accelerateAudios[i].volume = 0; } + ApplyAudioEffects(_accelerateAudios[i], normalizedRPM, load); } } } @@ -417,24 +548,29 @@ void CalcVolPitchAcDc(float load, bool acDc) if (_rpm > 0) { _decelerateAudios[i].pitch = Mathf.Lerp(_decelerateAudios[i].pitch, _rpm <= _idleRpm + rpm_deviation ? idlePitch : _finalPitch + shiftPitch + dcPitchTrim, Time.deltaTime * (dcPitchTransitionTime)) + rndmPitch; + + normalizedRPM = Mathf.InverseLerp(_idleRpm, _maxRpm, _rpm); + float volumeMultiplier = volumeCurve.Evaluate(normalizedRPM); + if (maxVolumeDcc > 0) { - _decelerateAudios[i].volume = vol * Mathf.Clamp(((_rpm + 100) / (_maxRpm / 2)) + idleAccVolume, 0, maxVolumeDcc) * masterVolume; + _decelerateAudios[i].volume = vol * Mathf.Clamp(volumeMultiplier + idleAccVolume, 0, maxVolumeDcc) * masterVolume; } else { - _decelerateAudios[i].volume = vol * masterVolume; + _decelerateAudios[i].volume = vol * volumeMultiplier * masterVolume; } + if (!_decelerateAudios[i].isPlaying) _decelerateAudios[i].Play(); } else _decelerateAudios[i].volume = 0; } + ApplyAudioEffects(_accelerateAudios[i], normalizedRPM, load); } } } - // l_r = _rpm; } @@ -465,6 +601,29 @@ IEnumerator CalculateAsync() } } + private void ApplyAudioEffects(AudioSource source, float normalizedRPM, float load) + { + // Get the audio effect components + AudioLowPassFilter lowPass = source.GetComponent(); + AudioDistortionFilter distortion = source.GetComponent(); + + if (lowPass == null || distortion == null) + return; + + // Calculate combined load/RPM factor for effects + float loadFactor = Mathf.Lerp(1f - load, 1f, 1f - mufflingIntensity); + float rpmFactor = normalizedRPM; + float combinedFactor = (loadFactor + rpmFactor) * 0.5f; + + // Apply low pass filter + float cutoffFrequency = lowPassCurve.Evaluate(1f - loadFactor) * lowPassIntensity; + lowPass.cutoffFrequency = cutoffFrequency; + + // Apply distortion + float distortionAmount = distortionCurve.Evaluate(combinedFactor) * distortionIntensity; + distortion.distortionLevel = distortionAmount; + } + private void OnEnable() { StartCoroutine(CalculateAsync()); @@ -476,4 +635,4 @@ private void OnDisable() StopCoroutine(CalculateAsync()); } } -} +} \ No newline at end of file diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs new file mode 100644 index 0000000..661df61 --- /dev/null +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs @@ -0,0 +1,97 @@ +using AroundTheGroundSimulator; +using UnityEngine; +using UnityEngine.UI; + +[RequireComponent(typeof(VehicleNoiseSynthesizer))] +public class AudioGranulatorSimpleUI : MonoBehaviour +{ + private VehicleNoiseSynthesizer synthesizer; + + [Header("UI Controls")] + public Slider rpmSlider; // Reference to RPM UI slider + public Slider loadSlider; // Reference to Load UI slider + public Text rpmText; // Optional: Text to display current RPM + public Text loadText; // Optional: Text to display current Load + + [Header("RPM Settings")] + public float minRPM = 800f; // Minimum RPM value + public float maxRPM = 8000f; // Maximum RPM value + + [Header("Load Settings")] + public float minLoad = 0f; // Minimum Load value + public float maxLoad = 1f; // Maximum Load value + + private void Start() + { + // Get reference to the VehicleNoiseSynthesizer + synthesizer = GetComponent(); + synthesizer._debug = true; + + // Initialize sliders + InitializeSliders(); + + // Add listeners to sliders + rpmSlider.onValueChanged.AddListener(OnRPMChanged); + loadSlider.onValueChanged.AddListener(OnLoadChanged); + } + + private void InitializeSliders() + { + // Setup RPM slider + if (rpmSlider != null) + { + rpmSlider.minValue = minRPM; + rpmSlider.maxValue = maxRPM; + rpmSlider.value = minRPM; + } + + // Setup Load slider + if (loadSlider != null) + { + loadSlider.minValue = minLoad; + loadSlider.maxValue = maxLoad; + loadSlider.value = minLoad; + } + + synthesizer.Activate(maxRPM, minRPM); + synthesizer.TurnOn(); + // Initial update of values + UpdateSynthesizerValues(); + } + + private void OnRPMChanged(float value) + { + UpdateSynthesizerValues(); + UpdateUIText(); + } + + private void OnLoadChanged(float value) + { + UpdateSynthesizerValues(); + UpdateUIText(); + } + + private void UpdateSynthesizerValues() + { + if (synthesizer != null) + { + synthesizer.debug_rpm = rpmSlider.value; + synthesizer.debug_load = loadSlider.value; + } + } + + private void UpdateUIText() + { + // Update RPM text if available + if (rpmText != null) + { + rpmText.text = $"RPM: {rpmSlider.value:F0}"; + } + + // Update Load text if available + if (loadText != null) + { + loadText.text = $"Load: {loadSlider.value:F2}"; + } + } +} \ No newline at end of file diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs.meta b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs.meta new file mode 100644 index 0000000..05a7506 --- /dev/null +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/AudioGranulatorSimpleUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b82487133bf468743b57563216f4dfdc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHDynamicWaterPhysics2.cs b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHDynamicWaterPhysics2.cs index 72ced44..d18e11f 100644 --- a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHDynamicWaterPhysics2.cs +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHDynamicWaterPhysics2.cs @@ -1,3 +1,4 @@ +/**************************************************************************************** Uncomment if NWH Installed using NWH.DWP2; using NWH.DWP2.ShipController; using System; @@ -43,3 +44,4 @@ private void FixedUpdate() } } } +*******************************************************************************************************************/ \ No newline at end of file diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHVehiclePhysics2.cs b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHVehiclePhysics2.cs index 877c651..ec58408 100644 --- a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHVehiclePhysics2.cs +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/Scripts/Inputs/NWH-Physics_IntegrationSample/AudioGranulatorNWHVehiclePhysics2.cs @@ -1,3 +1,4 @@ +/**************************************************************************************** Uncomment if NWH Installed using NWH.VehiclePhysics2; using System.Collections; using System.Collections.Generic; @@ -36,3 +37,4 @@ private void FixedUpdate() } } } +*******************************************************************************************************************/ \ No newline at end of file diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity new file mode 100644 index 0000000..3e6bb99 --- /dev/null +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity @@ -0,0 +1,221 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &552287861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 552287864} + - component: {fileID: 552287863} + - component: {fileID: 552287862} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &552287862 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 552287861} + m_Enabled: 1 +--- !u!20 &552287863 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 552287861} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &552287864 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 552287861} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 552287864} diff --git a/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity.meta b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity.meta new file mode 100644 index 0000000..e785fec --- /dev/null +++ b/The 'Assets' folder of your Unity Prjct/Vehicle Noise Synthesizer/VNS Example UI Simple Scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 41bc609117132e149862c8aa4e6a9ed1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: