Feat : Wwise Integration
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
/*******************************************************************************
|
||||
The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
|
||||
Technology released in source code form as part of the game integration package.
|
||||
The content of this file may not be used without valid licenses to the
|
||||
AUDIOKINETIC Wwise Technology.
|
||||
Note that the use of the game engine is subject to the Unity(R) Terms of
|
||||
Service at https://unity3d.com/legal/terms-of-service
|
||||
|
||||
License Usage
|
||||
|
||||
Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
|
||||
this file in accordance with the end user license agreement provided with the
|
||||
software or, alternatively, in accordance with the terms contained
|
||||
in a written agreement between you and Audiokinetic Inc.
|
||||
Copyright (c) 2026 Audiokinetic Inc.
|
||||
*******************************************************************************/
|
||||
|
||||
public partial class AkUnitySoundEngine
|
||||
{
|
||||
#if UNITY_EDITOR_WIN || (UNITY_STANDALONE_WIN && !UNITY_EDITOR)
|
||||
/// <summary>
|
||||
/// Converts "AkOSChar*" C-strings to C# strings.
|
||||
/// </summary>
|
||||
/// <param name="ptr">"AkOSChar*" memory pointer passed to C# as an IntPtr.</param>
|
||||
/// <returns>Converted string.</returns>
|
||||
public static string StringFromIntPtrOSString(System.IntPtr ptr)
|
||||
{
|
||||
return StringFromIntPtrWString(ptr);
|
||||
}
|
||||
|
||||
public static bool PlatformSupportsDecodeBank()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03848137b5830de4eb86a3ed15714883
|
||||
@@ -0,0 +1,55 @@
|
||||
/*******************************************************************************
|
||||
The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
|
||||
Technology released in source code form as part of the game integration package.
|
||||
The content of this file may not be used without valid licenses to the
|
||||
AUDIOKINETIC Wwise Technology.
|
||||
Note that the use of the game engine is subject to the Unity(R) Terms of
|
||||
Service at https://unity3d.com/legal/terms-of-service
|
||||
|
||||
License Usage
|
||||
|
||||
Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
|
||||
this file in accordance with the end user license agreement provided with the
|
||||
software or, alternatively, in accordance with the terms contained
|
||||
in a written agreement between you and Audiokinetic Inc.
|
||||
Copyright (c) 2026 Audiokinetic Inc.
|
||||
*******************************************************************************/
|
||||
|
||||
#if UNITY_EDITOR_WIN || (UNITY_STANDALONE_WIN && !UNITY_EDITOR)
|
||||
public partial class AkBasePathGetter
|
||||
{
|
||||
static string DefaultPlatformName = "Windows";
|
||||
|
||||
public static void AdjustFullBasePathForPlatform(ref string fullBasePath)
|
||||
{
|
||||
fullBasePath = System.IO.Path.Combine(UnityEngine.Application.streamingAssetsPath, fullBasePath);
|
||||
}
|
||||
|
||||
public static string GetPersistentDataPath()
|
||||
{
|
||||
return UnityEngine.Application.persistentDataPath;
|
||||
}
|
||||
|
||||
public static bool InitBankExists(string tempSoundBankBasePath)
|
||||
{
|
||||
return System.IO.File.Exists(System.IO.Path.Combine(tempSoundBankBasePath, "Init.bnk"));
|
||||
}
|
||||
|
||||
public static string GetDecodedBankPath()
|
||||
{
|
||||
return System.IO.Path.Combine(Instance.SoundBankBasePath, DecodedBankFolder);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UNITY_EDITOR
|
||||
[UnityEditor.InitializeOnLoad]
|
||||
public partial class AkWindowsBasePathGetter
|
||||
{
|
||||
static AkWindowsBasePathGetter()
|
||||
{
|
||||
AkBasePathGetter.AddTargetPlatform(UnityEditor.BuildTarget.StandaloneWindows, "Windows");
|
||||
AkBasePathGetter.AddTargetPlatform(UnityEditor.BuildTarget.StandaloneWindows64, "Windows");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cd7b372b06246d64182e25dd0943d2b2
|
||||
@@ -0,0 +1,113 @@
|
||||
/*******************************************************************************
|
||||
The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
|
||||
Technology released in source code form as part of the game integration package.
|
||||
The content of this file may not be used without valid licenses to the
|
||||
AUDIOKINETIC Wwise Technology.
|
||||
Note that the use of the game engine is subject to the Unity(R) Terms of
|
||||
Service at https://unity3d.com/legal/terms-of-service
|
||||
|
||||
License Usage
|
||||
|
||||
Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
|
||||
this file in accordance with the end user license agreement provided with the
|
||||
software or, alternatively, in accordance with the terms contained
|
||||
in a written agreement between you and Audiokinetic Inc.
|
||||
Copyright (c) 2026 Audiokinetic Inc.
|
||||
*******************************************************************************/
|
||||
|
||||
#if (UNITY_STANDALONE_WIN && !UNITY_EDITOR) || UNITY_EDITOR_WIN
|
||||
|
||||
#if UNITY_STANDALONE_WIN
|
||||
using AK.Wwise.Unity.Logging;
|
||||
#endif
|
||||
|
||||
public partial class AkCommonUserSettings
|
||||
{
|
||||
partial void SetSampleRate(AkPlatformInitSettings settings)
|
||||
{
|
||||
settings.uSampleRate = m_SampleRate;
|
||||
}
|
||||
|
||||
protected partial string GetPluginPath()
|
||||
{
|
||||
#if UNITY_EDITOR_WIN
|
||||
return System.IO.Path.GetFullPath(AkUtilities.GetPathInPackage(@"Runtime\Plugins\Windows\x86_64\DSP"));
|
||||
#elif UNITY_STANDALONE_WIN
|
||||
string potentialPath = System.IO.Path.Combine(UnityEngine.Application.dataPath, "Plugins" + System.IO.Path.DirectorySeparatorChar);
|
||||
string architectureName = "x86";
|
||||
#if UNITY_64
|
||||
architectureName += "_64";
|
||||
#endif
|
||||
if(System.IO.File.Exists(System.IO.Path.Combine(potentialPath, "AkUnitySoundEngine.dll")))
|
||||
{
|
||||
return potentialPath;
|
||||
}
|
||||
else if(System.IO.File.Exists(System.IO.Path.Combine(potentialPath, architectureName, "AkUnitySoundEngine.dll")))
|
||||
{
|
||||
return System.IO.Path.Combine(potentialPath, architectureName);
|
||||
}
|
||||
else
|
||||
{
|
||||
WwiseLogger.Log("Cannot find Wwise plugin path");
|
||||
return null;
|
||||
}
|
||||
#else
|
||||
return System.IO.Path.Combine(UnityEngine.Application.dataPath, "Plugins" + System.IO.Path.DirectorySeparatorChar);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public class AkWindowsSettings : AkWwiseInitializationSettings.PlatformSettings
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[UnityEditor.InitializeOnLoadMethod]
|
||||
private static void AutomaticPlatformRegistration()
|
||||
{
|
||||
if (UnityEditor.AssetDatabase.IsAssetImportWorkerProcess())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
RegisterPlatformSettingsClass<AkWindowsSettings>("Windows");
|
||||
}
|
||||
#endif // UNITY_EDITOR
|
||||
|
||||
protected override AkCommonUserSettings GetUserSettings()
|
||||
{
|
||||
return UserSettings;
|
||||
}
|
||||
|
||||
protected override AkCommonAdvancedSettings GetAdvancedSettings()
|
||||
{
|
||||
return AdvancedSettings;
|
||||
}
|
||||
|
||||
protected override AkCommonCommSettings GetCommsSettings()
|
||||
{
|
||||
return CommsSettings;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class PlatformAdvancedSettings : AkCommonAdvancedSettings
|
||||
{
|
||||
[UnityEngine.Tooltip("Maximum number of System Audio Objects to reserve. Other processes will not be able to use them. Default is 128.")]
|
||||
public uint MaxSystemAudioObjects = 128;
|
||||
|
||||
public override void CopyTo(AkPlatformInitSettings settings)
|
||||
{
|
||||
#if (UNITY_STANDALONE_WIN && !UNITY_EDITOR) || UNITY_EDITOR_WIN
|
||||
settings.uMaxSystemAudioObjects = MaxSystemAudioObjects;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
[UnityEngine.HideInInspector]
|
||||
public AkCommonUserSettings UserSettings;
|
||||
|
||||
[UnityEngine.HideInInspector]
|
||||
public PlatformAdvancedSettings AdvancedSettings;
|
||||
|
||||
[UnityEngine.HideInInspector]
|
||||
public AkCommonCommSettings CommsSettings;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60c68bd91426f234c9ccc932c90b9ddf
|
||||
Reference in New Issue
Block a user