Add FMOD package

dev
Nadine Ganz 2024-10-18 16:04:50 +02:00
parent 6072f839ea
commit 13b8828e02
426 changed files with 40977 additions and 1 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f0c2d10b56efb47cda9cb5d10540760a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 06ae579381df01a4a87bb149dec89954
folderAsset: yes
timeCreated: 1429061260
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3c21d1de218f149a4badd8a149a4f0a4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d044b7162145441589b25d31c064c9fe
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d32cf7c32a3ed8347bac48ef5ed56d82, type: 3}
m_Name: FMODStudioCache
m_EditorClassIdentifier:
EditorBanks: []
EditorEvents: []
EditorParameters: []
MasterBanks: []
StringsBanks: []
cacheTime: 0
cacheVersion: 131620

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fd0ed8fdd39c3446581ca811d8734bd6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,45 @@
{
"name": "FMODUnity",
"references": [
"Unity.Timeline",
"Unity.Addressables",
"Unity.ResourceManager",
"Unity.RenderPipelines.Universal.Runtime"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [
{
"name": "com.unity.timeline",
"expression": "1.0.0",
"define": "UNITY_TIMELINE_EXIST"
},
{
"name": "com.unity.addressables",
"expression": "1.0.0",
"define": "UNITY_ADDRESSABLES_EXIST"
},
{
"name": "com.unity.modules.physics",
"expression": "1.0.0",
"define": "UNITY_PHYSICS_EXIST"
},
{
"name": "com.unity.modules.physics2d",
"expression": "1.0.0",
"define": "UNITY_PHYSICS2D_EXIST"
},
{
"name": "com.unity.urp",
"expression": "1.0.0",
"define": "UNITY_URP_EXIST"
}
],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0c752da273b17c547ae705acf0f2adf2
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,199 @@
 FMOD END USER LICENCE AGREEMENT
===============================
This End User Licence Agreement (EULA) is a legal agreement between you and
Firelight Technologies Pty Ltd (ACN 099 182 448) (us or we) and governs your
use of FMOD Studio and FMOD Engine, together the Software.
1. GRANT OF LICENCE
1.1 FMOD Studio
This EULA grants you the right to use FMOD Studio, being the desktop
application for adaptive audio content creation, for all use, including
Commercial use, subject to the following:
i. FMOD Studio is used to create content for use with the FMOD Engine
only;
ii. FMOD Studio is not redistributed in any form.
1.2 FMOD Engine
This EULA grants you the right to use the FMOD Engine, 'FMOD Ex' or 'FMOD 3'
being the run-time engines for adaptive audio playback, without payment, for
personal (hobbyist), educational (students and teachers) or Non-Commercial use,
subject to the following:
i. FMOD Engine is integrated and redistributed in a software application
(Product) only;
ii. FMOD Engine is not distributed as part of a game engine or tool set;
iii. FMOD Engine is not used in any Commercial enterprise or for any
Commercial production or subcontracting, except for the purposes of
Evaluation or Development of a Commercial Product;
iv. Non-Commercial use does not involve any form of monetisation,
sponsorship or promotion;
v. Product includes attribution in accordance with Clause 3.
This EULA grants you the right to use FMOD Engine, for limited Commercial
use, subject to the following:
i. Development budget of the project is less than $600k USD (Refer to
https://www.fmod.com/licensing#licensing-faq) for information);
ii. Total gross revenue / funding per year for the developer, before
expenses, is less than $200k USD (Refer to
https://www.fmod.com/licensing#licensing-faq for information);
iii. FMOD Engine is integrated and redistributed in a game application
(Product) only;
iv. FMOD Engine is not distributed as part of a game engine or tool set;
v. FMOD Engine is not distributed as part of a Product with the intent
to be commercially exploited by another business or institution;
vi. Project is registered in your profile page at
https://www.fmod.com/profile#projects;
vii. Product includes attribution in accordance with Clause 3.
This EULA does not grant you the right to use 'FMOD Ex' or 'FMOD 3', for
Commercial use. A custom commercial license must be acquired from Firelight
Technologies by contacting sales@fmod.com.
1.3 FMOD SDK
This EULA grants you the right to use the FMOD SDK, interfacing either 'FMOD
Engine', 'FMOD Ex' or 'FMOD 3', comprising the programming interface
specification, documentation and examples subject to the following:
i. FMOD SDK is used to develop a software application using the FMOD
Engine;
ii. FMOD SDK is used to develop an external DSP, Output or Codec plugin;
iii. FMOD SDK files are not be distributed with the exception of the FMOD
Engine run-time libraries (.DLL, .SO for example).
1.4 FMOD example code and media
This EULA grants you the right to use FMOD example code, being all or snippets
of source code files located in the FMOD API examples folder and scripting
examples in the documentation, for all use, including Commercial use, subject
to the following:
i. Media files included in FMOD examples, including wav, ogg, mp3, fsb
and bank files, are not to be redistributed.
2.OTHER USE
For all Commercial use, and any Non Commercial use not permitted by this
license, a separate license is required. Refer to www.fmod.com/licensing for
information.
3. CREDITS
All Products require an in game credit line which must include the words “FMOD”
and “Firelight Technologies Pty Ltd.” Refer to www.fmod.com/attribution for
examples.
4. INTELLECTUAL PROPERTY RIGHTS
We are and remain at all times the owner of the Software (including all
intellectual property rights in or to the Software). For the avoidance of doubt,
nothing in this EULA may be deemed to grant or assign to you any proprietary or
ownership interest or intellectual property rights in or to the Software other
than the rights licensed pursuant to Clause 1.
You acknowledge and agree that you have no right, title or interest in and to
the intellectual property rights in the Software.
5. SECURITY AND RISK
You are responsible for protecting the Software and any related materials at all
times from unauthorised access, use or damage.
6. WARRANTY AND LIMITATION OF LIABILITY
The Software is provided by us “as is” and, to the maximum extent permitted by
law, any express or implied warranties of any kind, including (but not limited
to) all implied warranties of merchantability and fitness for a particular
purpose are disclaimed.
In no event shall we (and our employees, contractors and subcontractors),
developers and contributors be liable for any direct, special, indirect or
consequential damages whatsoever resulting from loss of data or profits, whether
in an action of contract, negligence or other tortious conduct, arising out of
or in connection with the use or performance of the Software.
7. OGG VORBIS CODEC
FMOD uses the Ogg Vorbis codec © 2002, Xiph.Org Foundation.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
i. Redistributions of source code must retain the above copyright notice,
the list of conditions and the following disclaimer.
ii. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other material provided with the distribution.
iii. Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8. RESONANCE AUDIO SDK
FMOD includes Resonance Audio SDK, licensed under the Apache Licence, Version
2.0 (the Licence); you may not use this file except in compliance with the
License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
8. ANDROID PLATFORM CODE
Copyright (C) 2010 The Android Open Source Project All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
9. AUDIOMOTORS DEMO CONTENT
The audiogaming_audiomotors_demo_engine.agp file is provided for evaluation
purposes only and is not to be redistributed. AudioMotors V2 Pro is required to
create your own engine content. Refer to https://lesound.io for information.
---------------------------
Last updated 17th Jun 2024.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1e4f622ce6fb20a46adf465f9497cb04
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
Welcome to FMOD for Unity
This package allows you to easily play back audio events created in FMOD Studio
within your Unity project.
The best place to start is with our online documentation:
https://fmod.com/docs/2.02/unity
If you prefer a more step-by-step guide, try our integration tutorial that
builds on the familiar Karting Microgame:
https://fmod.com/unity-integrate
For support, join the conversation on our Unity forums:
https://qa.fmod.com/c/unity

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 081074d1d9d6ab448b88688c3730e8a1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe9bda3084b52473d92b8bf86afbba83
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,955 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8389073848641795336
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 73549a74f689f0849a8271d9e908c514, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: b7716510a1f36934c87976f3a81dbf3d
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-8325621307076380094
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97ba6cc2660c0ca498540d254701057a, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: 2fea114e74ecf3c4f920e1d5cc1c4c40
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-7414683003663108236
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 335f0a4b26fb46942858ea029e030d2a, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: playInEditor
parentIdentifier:
active: 1
Properties:
LiveUpdate:
Value: 1
HasValue: 1
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 1
HasValue: 1
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 48000
HasValue: 1
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 1024
HasValue: 1
RealChannelCount:
Value: 256
HasValue: 1
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-5972264956151648501
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bc1f51bc35d549941904cf062bae93a3, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: 0f8eb3f400726694eb47beb1a9f94ce8
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-5917363323063281776
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d92d0baf34dae0e4ea032a42bd6107c0, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: 52eb9df5db46521439908db3a29a1bbb
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-4242108444315244083
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3abeb1429547a134480f4f2f1efc7e21, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: c88d16e5272a4e241b0ef0ac2e53b73d
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-3824669306972054606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 93a382382f106584e8f8f62412fee177, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: fd7c55dab0fce234b8c25f6ffca523c1
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-2240176694285433427
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9660e62d6232af242877f0cc2b90c63d, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: 2c5177b11d81d824dbb064f9ac8527da
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &-2052368025225413296
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b87314b32fbe18943af496e4b47136c6, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: 46fbfdf3fc43db0458918377fd40293e
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eef8d824ea7b63742966aaa0e94ac383, type: 3}
m_Name: FMODStudioSettings
m_EditorClassIdentifier:
switchSettingsMigration: 1
HasSourceProject: 1
HasPlatforms: 1
sourceProjectPath:
sourceBankPath:
sourceBankPathUnformatted:
BankRefreshCooldown: 5
ShowBankRefreshWindow: 1
AutomaticEventLoading: 1
BankLoadType: 0
AutomaticSampleLoading: 0
EncryptionKey:
ImportType: 0
TargetAssetPath: FMODBanks
TargetBankFolder:
EventLinkage: 0
LoggingLevel: 2
SpeakerModeSettings: []
SampleRateSettings: []
LiveUpdateSettings: []
OverlaySettings: []
BankDirectorySettings: []
VirtualChannelSettings: []
RealChannelSettings: []
Plugins: []
MasterBanks: []
Banks: []
BanksToLoad: []
LiveUpdatePort: 9264
EnableMemoryTracking: 0
AndroidUseOBB: 0
AndroidPatchBuild: 0
MeterChannelOrdering: 0
StopEventsOutsideMaxDistance: 0
BoltUnitOptionsBuildPending: 0
EnableErrorCallback: 0
SharedLibraryUpdateStage: 0
SharedLibraryTimeSinceStart: 0
CurrentVersion: 131620
HideSetupWizard: 0
LastEventReferenceScanVersion: 131620
Platforms:
- {fileID: -2240176694285433427}
- {fileID: 7717661542428637797}
- {fileID: -4242108444315244083}
- {fileID: -3824669306972054606}
- {fileID: -5972264956151648501}
- {fileID: 7538854346238627463}
- {fileID: -8389073848641795336}
- {fileID: -5917363323063281776}
- {fileID: -8325621307076380094}
- {fileID: -2052368025225413296}
- {fileID: 7915536176090315513}
- {fileID: -7414683003663108236}
MigratedPlatforms: 080000001200000006000000050000000b000000000000000a000000090000000c000000150000000200000001000000
--- !u!114 &7538854346238627463
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8f591a193113347409efedcc618e83d6, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: de700ef3f37a49b58a57ae3addf01ad9
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &7717661542428637797
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 17eea195bdfbf014e91ba7620ee491f8, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: e7a046c753c3c3d4aacc91f6597f310d
parentIdentifier: default
active: 0
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 0
HasValue: 0
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 0
StaticPlugins:
Value: []
HasValue: 0
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers: []
codecChannels:
Value: []
HasValue: 0
--- !u!114 &7915536176090315513
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9587379c972e4a54da1949613f11e1c6, type: 3}
m_Name: FMODStudioSettingsPlatform
m_EditorClassIdentifier:
identifier: default
parentIdentifier:
active: 1
Properties:
LiveUpdate:
Value: 0
HasValue: 0
LiveUpdatePort:
Value: 9264
HasValue: 1
Overlay:
Value: 0
HasValue: 0
OverlayPosition:
Value: 0
HasValue: 0
OverlayFontSize:
Value: 0
HasValue: 0
Logging:
Value: 0
HasValue: 0
SampleRate:
Value: 0
HasValue: 0
BuildDirectory:
Value:
HasValue: 0
SpeakerMode:
Value: 0
HasValue: 0
VirtualChannelCount:
Value: 0
HasValue: 0
RealChannelCount:
Value: 0
HasValue: 0
DSPBufferLength:
Value: 0
HasValue: 0
DSPBufferCount:
Value: 0
HasValue: 0
Plugins:
Value: []
HasValue: 1
StaticPlugins:
Value: []
HasValue: 1
CallbackHandler:
Value: {fileID: 0}
HasValue: 0
OutputTypeName:
threadAffinities:
Value: []
HasValue: 0
displaySortOrder: 0
childIdentifiers:
- 2c5177b11d81d824dbb064f9ac8527da
- e7a046c753c3c3d4aacc91f6597f310d
- c88d16e5272a4e241b0ef0ac2e53b73d
- fd7c55dab0fce234b8c25f6ffca523c1
- 0f8eb3f400726694eb47beb1a9f94ce8
- de700ef3f37a49b58a57ae3addf01ad9
- b7716510a1f36934c87976f3a81dbf3d
- 52eb9df5db46521439908db3a29a1bbb
- 2fea114e74ecf3c4f920e1d5cc1c4c40
- 46fbfdf3fc43db0458918377fd40293e
codecChannels:
Value: []
HasValue: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 28e0b4b3d828d4e41bb2a52650a467ac
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 850b7bf08237b964b8b005fe703774f9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ce39533effc93ba409e337ba540bf789
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 93923a20291353a40809350917bab197
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
{
"name": "FMODUnityResonanceEditor",
"references": [
"FMODUnityResonance"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 194213485063a984b98ce9410892267a
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,122 @@
// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
using UnityEngine;
using UnityEditor;
using System.Collections;
namespace FMODUnityResonance
{
/// A custom editor for properties on the FmodResonanceAudioRoom script. This appears in the
/// Inspector window of a FmodResonanceAudioRoom object.
[CustomEditor(typeof(FmodResonanceAudioRoom))]
[CanEditMultipleObjects]
public class FmodResonanceAudioRoomEditor : Editor
{
private SerializedProperty leftWall = null;
private SerializedProperty rightWall = null;
private SerializedProperty floor = null;
private SerializedProperty ceiling = null;
private SerializedProperty backWall = null;
private SerializedProperty frontWall = null;
private SerializedProperty reflectivity = null;
private SerializedProperty reverbGainDb = null;
private SerializedProperty reverbBrightness = null;
private SerializedProperty reverbTime = null;
private SerializedProperty size = null;
private GUIContent surfaceMaterialsLabel = new GUIContent("Surface Materials",
"Room surface materials to calculate the acoustic properties of the room.");
private GUIContent surfaceMaterialLabel = new GUIContent("Surface Material",
"Surface material used to calculate the acoustic properties of the room.");
private GUIContent reflectivityLabel = new GUIContent("Reflectivity",
"Adjusts what proportion of the direct sound is reflected back by each surface, after an " +
"appropriate delay. Reverberation is unaffected by this setting.");
private GUIContent reverbGainLabel = new GUIContent("Gain (dB)",
"Applies a gain adjustment to the reverberation in the room. The default value will leave " +
"reverb unaffected.");
private GUIContent reverbPropertiesLabel = new GUIContent("Reverb Properties",
"Parameters to adjust the reverb properties of the room.");
private GUIContent reverbBrightnessLabel = new GUIContent("Brightness",
"Adjusts the balance between high and low frequencies in the reverb.");
private GUIContent reverbTimeLabel = new GUIContent("Time",
"Adjusts the overall duration of the reverb by a positive scaling factor.");
private GUIContent sizeLabel = new GUIContent("Size", "Sets the room dimensions.");
private void OnEnable()
{
leftWall = serializedObject.FindProperty("LeftWall");
rightWall = serializedObject.FindProperty("RightWall");
floor = serializedObject.FindProperty("Floor");
ceiling = serializedObject.FindProperty("Ceiling");
backWall = serializedObject.FindProperty("BackWall");
frontWall = serializedObject.FindProperty("FrontWall");
reflectivity = serializedObject.FindProperty("Reflectivity");
reverbGainDb = serializedObject.FindProperty("ReverbGainDb");
reverbBrightness = serializedObject.FindProperty("ReverbBrightness");
reverbTime = serializedObject.FindProperty("ReverbTime");
size = serializedObject.FindProperty("Size");
}
/// @cond
public override void OnInspectorGUI()
{
serializedObject.Update();
// Add clickable script field, as would have been provided by DrawDefaultInspector()
MonoScript script = MonoScript.FromMonoBehaviour(target as MonoBehaviour);
EditorGUI.BeginDisabledGroup(true);
EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false);
EditorGUI.EndDisabledGroup();
EditorGUILayout.LabelField(surfaceMaterialsLabel);
++EditorGUI.indentLevel;
DrawSurfaceMaterial(leftWall);
DrawSurfaceMaterial(rightWall);
DrawSurfaceMaterial(floor);
DrawSurfaceMaterial(ceiling);
DrawSurfaceMaterial(backWall);
DrawSurfaceMaterial(frontWall);
--EditorGUI.indentLevel;
EditorGUILayout.Separator();
EditorGUILayout.Slider(reflectivity, 0.0f, FmodResonanceAudio.MaxReflectivity, reflectivityLabel);
EditorGUILayout.Separator();
EditorGUILayout.LabelField(reverbPropertiesLabel);
++EditorGUI.indentLevel;
EditorGUILayout.Slider(reverbGainDb, FmodResonanceAudio.MinGainDb, FmodResonanceAudio.MaxGainDb,
reverbGainLabel);
EditorGUILayout.Slider(reverbBrightness, FmodResonanceAudio.MinReverbBrightness,
FmodResonanceAudio.MaxReverbBrightness, reverbBrightnessLabel);
EditorGUILayout.Slider(reverbTime, 0.0f, FmodResonanceAudio.MaxReverbTime, reverbTimeLabel);
--EditorGUI.indentLevel;
EditorGUILayout.Separator();
EditorGUILayout.PropertyField(size, sizeLabel);
serializedObject.ApplyModifiedProperties();
}
/// @endcond
private void DrawSurfaceMaterial(SerializedProperty surfaceMaterial)
{
surfaceMaterialLabel.text = surfaceMaterial.displayName;
EditorGUILayout.PropertyField(surfaceMaterial, surfaceMaterialLabel);
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 935c6716e27bd481e97897dd9e1de595
timeCreated: 1511395157
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 05a6a02c28ee77a49b6fcadf67aff3b7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,15 @@
{
"name": "FMODUnityResonance",
"references": [
"FMODUnity"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 44d09cf463b68274884d8a3c8a94e528
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,290 @@
// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using FMODUnity;
namespace FMODUnityResonance
{
/// This is the main Resonance Audio class that communicates with the FMOD Unity integration. Native
/// functions of the system can only be called through this class to preserve the internal system
/// functionality.
public static class FmodResonanceAudio
{
/// Maximum allowed gain value in decibels.
public const float MaxGainDb = 24.0f;
/// Minimum allowed gain value in decibels.
public const float MinGainDb = -24.0f;
/// Maximum allowed reverb brightness modifier value.
public const float MaxReverbBrightness = 1.0f;
/// Minimum allowed reverb brightness modifier value.
public const float MinReverbBrightness = -1.0f;
/// Maximum allowed reverb time modifier value.
public const float MaxReverbTime = 3.0f;
/// Maximum allowed reflectivity multiplier of a room surface material.
public const float MaxReflectivity = 2.0f;
// Right-handed to left-handed matrix converter (and vice versa).
private static readonly Matrix4x4 flipZ = Matrix4x4.Scale(new Vector3(1, 1, -1));
// Get a handle to the Resonance Audio Listener FMOD Plugin.
private static readonly string listenerPluginName = "Resonance Audio Listener";
// Size of |RoomProperties| struct in bytes.
private static readonly int roomPropertiesSize = FMOD.MarshalHelper.SizeOf(typeof(RoomProperties));
// Plugin data parameter index for the room properties.
private static readonly int roomPropertiesIndex = 1;
// Boundaries instance to be used in room detection logic.
private static Bounds bounds = new Bounds(Vector3.zero, Vector3.zero);
// Container to store the currently active rooms in the scene.
private static List<FmodResonanceAudioRoom> enabledRooms = new List<FmodResonanceAudioRoom>();
// Current listener position.
private static FMOD.VECTOR listenerPositionFmod = new FMOD.VECTOR();
// FMOD Resonance Audio Listener Plugin.
private static FMOD.DSP listenerPlugin;
/// Updates the room effects of the environment with given |room| properties.
/// @note This should only be called from the main Unity thread.
public static void UpdateAudioRoom(FmodResonanceAudioRoom room, bool roomEnabled)
{
// Update the enabled rooms list.
if (roomEnabled)
{
if (!enabledRooms.Contains(room))
{
enabledRooms.Add(room);
}
}
else
{
enabledRooms.Remove(room);
}
// Update the current room effects to be applied.
if (enabledRooms.Count > 0)
{
FmodResonanceAudioRoom currentRoom = enabledRooms[enabledRooms.Count - 1];
RoomProperties roomProperties = GetRoomProperties(currentRoom);
// Pass the room properties into a pointer.
IntPtr roomPropertiesPtr = Marshal.AllocHGlobal(roomPropertiesSize);
Marshal.StructureToPtr(roomProperties, roomPropertiesPtr, false);
ListenerPlugin.setParameterData(roomPropertiesIndex, GetBytes(roomPropertiesPtr,
roomPropertiesSize));
Marshal.FreeHGlobal(roomPropertiesPtr);
}
else
{
// Set the room properties to a null room, which will effectively disable the room effects.
ListenerPlugin.setParameterData(roomPropertiesIndex, GetBytes(IntPtr.Zero, 0));
}
}
/// Returns whether the listener is currently inside the given |room| boundaries.
public static bool IsListenerInsideRoom(FmodResonanceAudioRoom room)
{
// Compute the room position relative to the listener.
FMOD.VECTOR unused;
RuntimeManager.CoreSystem.get3DListenerAttributes(0, out listenerPositionFmod, out unused,
out unused, out unused);
Vector3 listenerPosition = new Vector3(listenerPositionFmod.x, listenerPositionFmod.y,
listenerPositionFmod.z);
Vector3 relativePosition = listenerPosition - room.transform.position;
Quaternion rotationInverse = Quaternion.Inverse(room.transform.rotation);
// Set the size of the room as the boundary and return whether the listener is inside.
bounds.size = Vector3.Scale(room.transform.lossyScale, room.Size);
return bounds.Contains(rotationInverse * relativePosition);
}
[StructLayout(LayoutKind.Sequential)]
private struct RoomProperties
{
// Center position of the room in world space.
public float PositionX;
public float PositionY;
public float PositionZ;
// Rotation (quaternion) of the room in world space.
public float RotationX;
public float RotationY;
public float RotationZ;
public float RotationW;
// Size of the shoebox room in world space.
public float DimensionsX;
public float DimensionsY;
public float DimensionsZ;
// Material name of each surface of the shoebox room.
public FmodResonanceAudioRoom.SurfaceMaterial MaterialLeft;
public FmodResonanceAudioRoom.SurfaceMaterial MaterialRight;
public FmodResonanceAudioRoom.SurfaceMaterial MaterialBottom;
public FmodResonanceAudioRoom.SurfaceMaterial MaterialTop;
public FmodResonanceAudioRoom.SurfaceMaterial MaterialFront;
public FmodResonanceAudioRoom.SurfaceMaterial MaterialBack;
// User defined uniform scaling factor for reflectivity. This parameter has no effect when set
// to 1.0f.
public float ReflectionScalar;
// User defined reverb tail gain multiplier. This parameter has no effect when set to 0.0f.
public float ReverbGain;
// Adjusts the reverberation time across all frequency bands. RT60 values are multiplied by this
// factor. Has no effect when set to 1.0f.
public float ReverbTime;
// Controls the slope of a line from the lowest to the highest RT60 values (increases high
// frequency RT60s when positive, decreases when negative). Has no effect when set to 0.0f.
public float ReverbBrightness;
};
// Returns the FMOD Resonance Audio Listener Plugin.
private static FMOD.DSP ListenerPlugin
{
get
{
if (!listenerPlugin.hasHandle())
{
listenerPlugin = Initialize();
}
return listenerPlugin;
}
}
// Converts given |db| value to its amplitude equivalent where 'dB = 20 * log10(amplitude)'.
private static float ConvertAmplitudeFromDb(float db)
{
return Mathf.Pow(10.0f, 0.05f * db);
}
// Converts given |position| and |rotation| from Unity space to audio space.
private static void ConvertAudioTransformFromUnity(ref Vector3 position,
ref Quaternion rotation)
{
// Compose the transformation matrix.
Matrix4x4 transformMatrix = Matrix4x4.TRS(position, rotation, Vector3.one);
// Convert the transformation matrix from left-handed to right-handed.
transformMatrix = flipZ * transformMatrix * flipZ;
// Update |position| and |rotation| respectively.
position = transformMatrix.GetColumn(3);
rotation = Quaternion.LookRotation(transformMatrix.GetColumn(2), transformMatrix.GetColumn(1));
}
// Returns a byte array of |length| created from |ptr|.
private static byte[] GetBytes(IntPtr ptr, int length)
{
if (ptr != IntPtr.Zero)
{
byte[] byteArray = new byte[length];
Marshal.Copy(ptr, byteArray, 0, length);
return byteArray;
}
// Return an empty array if the pointer is null.
return new byte[1];
}
// Returns room properties of the given |room|.
private static RoomProperties GetRoomProperties(FmodResonanceAudioRoom room)
{
RoomProperties roomProperties;
Vector3 position = room.transform.position;
Quaternion rotation = room.transform.rotation;
Vector3 scale = Vector3.Scale(room.transform.lossyScale, room.Size);
ConvertAudioTransformFromUnity(ref position, ref rotation);
roomProperties.PositionX = position.x;
roomProperties.PositionY = position.y;
roomProperties.PositionZ = position.z;
roomProperties.RotationX = rotation.x;
roomProperties.RotationY = rotation.y;
roomProperties.RotationZ = rotation.z;
roomProperties.RotationW = rotation.w;
roomProperties.DimensionsX = scale.x;
roomProperties.DimensionsY = scale.y;
roomProperties.DimensionsZ = scale.z;
roomProperties.MaterialLeft = room.LeftWall;
roomProperties.MaterialRight = room.RightWall;
roomProperties.MaterialBottom = room.Floor;
roomProperties.MaterialTop = room.Ceiling;
roomProperties.MaterialFront = room.FrontWall;
roomProperties.MaterialBack = room.BackWall;
roomProperties.ReverbGain = ConvertAmplitudeFromDb(room.ReverbGainDb);
roomProperties.ReverbTime = room.ReverbTime;
roomProperties.ReverbBrightness = room.ReverbBrightness;
roomProperties.ReflectionScalar = room.Reflectivity;
return roomProperties;
}
// Initializes and returns the FMOD Resonance Audio Listener Plugin.
private static FMOD.DSP Initialize()
{
// Search through all busses on in banks.
int numBanks = 0;
FMOD.DSP dsp = new FMOD.DSP();
FMOD.Studio.Bank[] banks = null;
RuntimeManager.StudioSystem.getBankCount(out numBanks);
RuntimeManager.StudioSystem.getBankList(out banks);
for (int currentBank = 0; currentBank < numBanks; ++currentBank)
{
int numBusses = 0;
FMOD.Studio.Bus[] busses = null;
banks[currentBank].getBusCount(out numBusses);
banks[currentBank].getBusList(out busses);
for (int currentBus = 0; currentBus < numBusses; ++currentBus)
{
// Make sure the channel group of the current bus is assigned properly.
string busPath = null;
busses[currentBus].getPath(out busPath);
RuntimeManager.StudioSystem.getBus(busPath, out busses[currentBus]);
busses[currentBus].lockChannelGroup();
RuntimeManager.StudioSystem.flushCommands();
FMOD.ChannelGroup channelGroup;
busses[currentBus].getChannelGroup(out channelGroup);
if (channelGroup.hasHandle())
{
int numDsps = 0;
channelGroup.getNumDSPs(out numDsps);
for (int currentDsp = 0; currentDsp < numDsps; ++currentDsp)
{
channelGroup.getDSP(currentDsp, out dsp);
string dspNameSb;
int unusedInt = 0;
uint unusedUint = 0;
dsp.getInfo(out dspNameSb, out unusedUint, out unusedInt, out unusedInt, out unusedInt);
if (dspNameSb.ToString().Equals(listenerPluginName) && dsp.hasHandle())
{
return dsp;
}
}
}
busses[currentBus].unlockChannelGroup();
}
}
RuntimeUtils.DebugLogError(listenerPluginName + " not found in the FMOD project.");
return dsp;
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 6794e6301575a445d8588930a0752568
timeCreated: 1511395157
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,121 @@
// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
using UnityEngine;
using UnityEngine.Serialization;
using System.Collections;
namespace FMODUnityResonance
{
/// Resonance Audio room component that simulates environmental effects of a room with respect to
/// the properties of the attached game object.
[AddComponentMenu("ResonanceAudio/FmodResonanceAudioRoom")]
public class FmodResonanceAudioRoom : MonoBehaviour
{
/// Material type that determines the acoustic properties of a room surface.
public enum SurfaceMaterial
{
Transparent = 0, ///< Transparent
AcousticCeilingTiles = 1, ///< Acoustic ceiling tiles
BrickBare = 2, ///< Brick, bare
BrickPainted = 3, ///< Brick, painted
ConcreteBlockCoarse = 4, ///< Concrete block, coarse
ConcreteBlockPainted = 5, ///< Concrete block, painted
CurtainHeavy = 6, ///< Curtain, heavy
FiberglassInsulation = 7, ///< Fiberglass insulation
GlassThin = 8, ///< Glass, thin
GlassThick = 9, ///< Glass, thick
Grass = 10, ///< Grass
LinoleumOnConcrete = 11, ///< Linoleum on concrete
Marble = 12, ///< Marble
Metal = 13, ///< Galvanized sheet metal
ParquetOnConcrete = 14, ///< Parquet on concrete
PlasterRough = 15, ///< Plaster, rough
PlasterSmooth = 16, ///< Plaster, smooth
PlywoodPanel = 17, ///< Plywood panel
PolishedConcreteOrTile = 18, ///< Polished concrete or tile
Sheetrock = 19, ///< Sheetrock
WaterOrIceSurface = 20, ///< Water or ice surface
WoodCeiling = 21, ///< Wood ceiling
WoodPanel = 22 ///< Wood panel
}
/// Room surface material in negative x direction.
[FormerlySerializedAs("leftWall")]
public SurfaceMaterial LeftWall = SurfaceMaterial.ConcreteBlockCoarse;
/// Room surface material in positive x direction.
[FormerlySerializedAs("rightWall")]
public SurfaceMaterial RightWall = SurfaceMaterial.ConcreteBlockCoarse;
/// Room surface material in negative y direction.
[FormerlySerializedAs("floor")]
public SurfaceMaterial Floor = SurfaceMaterial.ParquetOnConcrete;
/// Room surface material in positive y direction.
[FormerlySerializedAs("ceiling")]
public SurfaceMaterial Ceiling = SurfaceMaterial.PlasterRough;
/// Room surface material in negative z direction.
[FormerlySerializedAs("backWall")]
public SurfaceMaterial BackWall = SurfaceMaterial.ConcreteBlockCoarse;
/// Room surface material in positive z direction.
[FormerlySerializedAs("frontWall")]
public SurfaceMaterial FrontWall = SurfaceMaterial.ConcreteBlockCoarse;
/// Reflectivity scalar for each surface of the room.
[FormerlySerializedAs("reflectivity")]
public float Reflectivity = 1.0f;
/// Reverb gain modifier in decibels.
[FormerlySerializedAs("reverbGainDb")]
public float ReverbGainDb = 0.0f;
/// Reverb brightness modifier.
[FormerlySerializedAs("reverbBrightness")]
public float ReverbBrightness = 0.0f;
/// Reverb time modifier.
[FormerlySerializedAs("reverbTime")]
public float ReverbTime = 1.0f;
/// Size of the room (normalized with respect to scale of the game object).
[FormerlySerializedAs("size")]
public Vector3 Size = Vector3.one;
private void OnEnable()
{
FmodResonanceAudio.UpdateAudioRoom(this, FmodResonanceAudio.IsListenerInsideRoom(this));
}
private void OnDisable()
{
FmodResonanceAudio.UpdateAudioRoom(this, false);
}
private void Update()
{
FmodResonanceAudio.UpdateAudioRoom(this, FmodResonanceAudio.IsListenerInsideRoom(this));
}
private void OnDrawGizmosSelected()
{
// Draw shoebox model wireframe of the room.
Gizmos.color = Color.yellow;
Gizmos.matrix = transform.localToWorldMatrix;
Gizmos.DrawWireCube(Vector3.zero, Size);
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 6b0c5e63920ee4f55b7ec5248525af4b
timeCreated: 1511395157
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 27e5eef2bd66ffe429eebdc4579b7231
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 3300e81f02e64924eb7cb7782713b126
timeCreated: 1455151837
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 01c0101f357b9da4ba78b8f58c290f86
timeCreated: 1455161898
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: a7e06068a7215854a84bf5ed8280ed15
timeCreated: 1433208188
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 40848578d1961334d820821bec6175a4
timeCreated: 1455150446
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: c783b763d12874147876e070661b66ab
timeCreated: 1455688158
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: b92803770616fc747bc3c40ffaec0a42
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 6e164dcb85fc8ad4b9ab2f1e883862d2
timeCreated: 1455688729
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 1
linearTexture: 0
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 0
textureType: -1
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

View File

@ -0,0 +1,88 @@
fileFormatVersion: 2
guid: 348d2265b48c67342a4db2a7062813fa
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 196080340db65c44883dd3f599556fb9
timeCreated: 1434604329
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 509563e7079a6ed4cbf3b3240327e702
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: a602f206f9cb31f439c79a2fe23687c5
timeCreated: 1432616010
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -0,0 +1,144 @@
fileFormatVersion: 2
guid: 36e46b3c334e47e41a0b4ff2f26905ea
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: PS4
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -0,0 +1,144 @@
fileFormatVersion: 2
guid: 8fd8ccb8d7e81d943b28ea7975c7185d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: PS4
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 70efeb6d97126f843b30b8ed62d18a4f
timeCreated: 1432621560
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: d2b54e4f7f80b9448a41d3c5985f5672
timeCreated: 1432621574
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: b4d696e5c0be6f44bb2f02aa41320656
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 21e7a3d41a926364a8b9a6704ebe80d8
timeCreated: 1433917421
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 48dc5470d93f669419f294fcd33f7b7c
timeCreated: 1434426551
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 1138ab068176f29499337d7a73dfecd9
timeCreated: 1432798099
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,56 @@
fileFormatVersion: 2
guid: 0793eda432fc5df4ab1291e6baacd771
timeCreated: 1434430906
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 9519043db3741934fa01455c47683e8c
timeCreated: 1434431177
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 1
linearTexture: 0
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 0
textureType: -1
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: 99471facfde9fb84dbe4a81ad570ebce
timeCreated: 1434602090
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 8ce9b717b1bc7564cbe35664f2f178a7
timeCreated: 1455161898
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: cf2bba5fb8be7e64ca39979f18eb372a
timeCreated: 1434600422
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,55 @@
fileFormatVersion: 2
guid: a4edfa5854cdec34b98b1c55f0562bdd
timeCreated: 1434601223
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 8
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

View File

@ -0,0 +1,88 @@
fileFormatVersion: 2
guid: 27533226416c4f549b9bec9c024100f7
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: b0fb832e401d1514a9611735d8d340b1
timeCreated: 1453178387
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 29258b1336a580946bc144df00b74ac1
timeCreated: 1453177025
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: 2d777c9a14189d241aea1afeeeff448c
timeCreated: 1453177025
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: cafa069c15865d543a07375373f0a18e
timeCreated: 1453177025
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: eab53cb0959d1244aadeacf8b76c755c
timeCreated: 1453177025
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 0
linearTexture: 1
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 1
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 2
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

View File

@ -0,0 +1,88 @@
fileFormatVersion: 2
guid: 507cd805ad331e54cb9e9cab5a9270b5
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 2
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,128 @@
#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
static void (*gSuspendCallback)(bool suspend) = nullptr;
static bool gIsSuspended = false;
static bool gNeedsReset = false;
extern "C" void RegisterSuspendCallback(void (*callback)(bool))
{
if (gSuspendCallback || !callback)
{
return;
}
gSuspendCallback = callback;
[[NSNotificationCenter defaultCenter] addObserverForName:AVAudioSessionInterruptionNotification object:nil queue:nil usingBlock:^(NSNotification *notification)
{
AVAudioSessionInterruptionType type = (AVAudioSessionInterruptionType)[[notification.userInfo valueForKey:AVAudioSessionInterruptionTypeKey] unsignedIntegerValue];
if (type == AVAudioSessionInterruptionTypeBegan)
{
NSLog(@"Interruption Began");
// Ignore deprecated warnings regarding AVAudioSessionInterruptionReasonAppWasSuspended and
// AVAudioSessionInterruptionWasSuspendedKey, we protect usage for the versions where they are available
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// If the audio session was deactivated while the app was in the background, the app receives the
// notification when relaunched. Identify this reason for interruption and ignore it.
if (@available(iOS 16.0, tvOS 14.5, *))
{
// Delayed suspend-in-background notifications no longer exist, this must be a real interruption
}
#if !TARGET_OS_TV // tvOS never supported "AVAudioSessionInterruptionReasonAppWasSuspended"
else if (@available(iOS 14.5, *))
{
if ([[notification.userInfo valueForKey:AVAudioSessionInterruptionReasonKey] intValue] == AVAudioSessionInterruptionReasonAppWasSuspended)
{
return; // Ignore delayed suspend-in-background notification
}
}
#endif
else
{
if ([[notification.userInfo valueForKey:AVAudioSessionInterruptionWasSuspendedKey] boolValue])
{
return; // Ignore delayed suspend-in-background notification
}
}
gSuspendCallback(true);
gIsSuspended = true;
#pragma clang diagnostic pop
}
else if (type == AVAudioSessionInterruptionTypeEnded)
{
NSLog(@"Interruption Ended");
NSError *errorMessage = nullptr;
if (![[AVAudioSession sharedInstance] setActive:TRUE error:&errorMessage])
{
// Interruption like Siri can prevent session activation, wait for did-become-active notification
NSLog(@"AVAudioSessionInterruptionNotification: AVAudioSession.setActive() failed: %@", errorMessage);
return;
}
gSuspendCallback(false);
gIsSuspended = false;
}
}];
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification object:nil queue:nil usingBlock:^(NSNotification *notification)
{
// Unity video playback prior to 2022.3 on tvOS breaks FMOD audio, so force a reset
#if TARGET_OS_TV && !UNITY_2022_3_OR_NEWER
gNeedsReset = true;
#endif
if (gNeedsReset)
{
gSuspendCallback(true);
gIsSuspended = true;
}
NSError *errorMessage = nullptr;
if (![[AVAudioSession sharedInstance] setActive:TRUE error:&errorMessage])
{
if ([errorMessage code] == AVAudioSessionErrorCodeCannotStartPlaying)
{
// Interruption like Screen Time can prevent session activation, but will not trigger an interruption-ended notification.
// There is no other callback or trigger to hook into after this point, we are not in the background and there is no other audio playing.
// Our only option is to have a sleep loop until the Audio Session can be activated again.
while (![[AVAudioSession sharedInstance] setActive:TRUE error:nil])
{
usleep(20000);
}
}
else
{
// Interruption like Siri can prevent session activation, wait for interruption-ended notification.
NSLog(@"UIApplicationDidBecomeActiveNotification: AVAudioSession.setActive() failed: %@", errorMessage);
return;
}
}
// It's possible the system missed sending us an interruption end, so recover here
if (gIsSuspended)
{
gSuspendCallback(false);
gNeedsReset = false;
gIsSuspended = false;
}
}];
[[NSNotificationCenter defaultCenter] addObserverForName:AVAudioSessionMediaServicesWereResetNotification object:nil queue:nil usingBlock:^(NSNotification *notification)
{
if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground || gIsSuspended)
{
// Received the reset notification while in the background, need to reset the AudioUnit when we come back to foreground.
gNeedsReset = true;
}
else
{
// In the foregound but something chopped the media services, need to do a reset.
gSuspendCallback(true);
gSuspendCallback(false);
}
}];
}

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: fc7eb3c9194584004bdf04921e5cb057
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
'': Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude OSXUniversal: 1
Exclude VisionOS: 0
Exclude WebGL: 1
Exclude Win: 1
Exclude Win64: 1
Exclude iOS: 0
Exclude tvOS: 0
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
VisionOS: VisionOS
second:
enabled: 1
settings:
AddToEmbeddedBinaries: false
CompileFlags:
CPU: AnyCPU
FrameworkDependencies:
- first:
iPhone: iOS
second:
enabled: 1
settings:
AddToEmbeddedBinaries: false
CPU: AnyCPU
CompileFlags:
FrameworkDependencies:
- first:
tvOS: tvOS
second:
enabled: 1
settings:
CompileFlags:
FrameworkDependencies:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8b617f082dd1f0645bde3b4ff3cbc25a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ca9461535f8115a4fb8293c748bcd2e1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 328160e4bc4e8b74296f830386ae016b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 54305e5cd6046514181f9b21fb0c44ed
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More