now open source with dfvoice removed, and concentus added
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 4f3856b9b63a94ba09a5d20d88932b7a
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 98cf225cd82a54f9c804fb2760b38ead
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
|
@ -1,46 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8282081fda0f8c748be6b2bac3dd784a
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 1024
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: -1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: -1
|
|
||||||
nPOTScale: 1
|
|
||||||
lightmap: 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: -1
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
|
@ -1,46 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 3d4fab423328fda40a2f401406dadb76
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 1024
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: -1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: -1
|
|
||||||
nPOTScale: 1
|
|
||||||
lightmap: 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: -1
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
|
@ -1,46 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: c3c921702b53fea4dae4b146aa818b2a
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 1024
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: -1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: -1
|
|
||||||
nPOTScale: 1
|
|
||||||
lightmap: 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: -1
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
|
@ -1,46 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 24302d8a8ec9ad74fa081d8d8cb2909c
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 1024
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: -1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: -1
|
|
||||||
nPOTScale: 1
|
|
||||||
lightmap: 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: -1
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 4d700a7065bf7964d84cc7de62dbeb91
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 296dd3f5940c8400caf27b6479a8f2c7
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,395 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!29 &1
|
|
||||||
OcclusionCullingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_OcclusionBakeSettings:
|
|
||||||
smallestOccluder: 5
|
|
||||||
smallestHole: 0.25
|
|
||||||
backfaceThreshold: 100
|
|
||||||
m_SceneGUID: 00000000000000000000000000000000
|
|
||||||
m_OcclusionCullingData: {fileID: 0}
|
|
||||||
--- !u!104 &2
|
|
||||||
RenderSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 9
|
|
||||||
m_Fog: 0
|
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
||||||
m_FogMode: 3
|
|
||||||
m_FogDensity: 0.01
|
|
||||||
m_LinearFogStart: 0
|
|
||||||
m_LinearFogEnd: 300
|
|
||||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientIntensity: 1
|
|
||||||
m_AmbientMode: 3
|
|
||||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
|
||||||
m_SkyboxMaterial: {fileID: 0}
|
|
||||||
m_HaloStrength: 0.5
|
|
||||||
m_FlareStrength: 1
|
|
||||||
m_FlareFadeSpeed: 3
|
|
||||||
m_HaloTexture: {fileID: 0}
|
|
||||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
m_DefaultReflectionMode: 0
|
|
||||||
m_DefaultReflectionResolution: 128
|
|
||||||
m_ReflectionBounces: 1
|
|
||||||
m_ReflectionIntensity: 1
|
|
||||||
m_CustomReflection: {fileID: 0}
|
|
||||||
m_Sun: {fileID: 0}
|
|
||||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_UseRadianceAmbientProbe: 0
|
|
||||||
--- !u!157 &4
|
|
||||||
LightmapSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 12
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_GISettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_EnvironmentLightingMode: 0
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_LightmapEditorSettings:
|
|
||||||
serializedVersion: 12
|
|
||||||
m_Resolution: 1
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_AtlasSize: 1024
|
|
||||||
m_AO: 0
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 0
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAmbientOcclusion: 0
|
|
||||||
m_Padding: 2
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 1024
|
|
||||||
m_ReflectionCompression: 2
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_LightingDataAsset: {fileID: 0}
|
|
||||||
m_LightingSettings: {fileID: 4890085278179872738, guid: 6e3468f00aa6f45e99790aaefd8d4a76, type: 2}
|
|
||||||
--- !u!196 &5
|
|
||||||
NavMeshSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_BuildSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
agentTypeID: 0
|
|
||||||
agentRadius: 0.5
|
|
||||||
agentHeight: 2
|
|
||||||
agentSlope: 45
|
|
||||||
agentClimb: 0.4
|
|
||||||
ledgeDropHeight: 0
|
|
||||||
maxJumpAcrossDistance: 0
|
|
||||||
minRegionArea: 2
|
|
||||||
manualCellSize: 0
|
|
||||||
cellSize: 0.16666666
|
|
||||||
manualTileSize: 0
|
|
||||||
tileSize: 256
|
|
||||||
accuratePlacement: 0
|
|
||||||
maxJobWorkers: 0
|
|
||||||
preserveTilesOutsideBounds: 0
|
|
||||||
debug:
|
|
||||||
m_Flags: 0
|
|
||||||
m_NavMeshData: {fileID: 0}
|
|
||||||
--- !u!1 &732922925
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 732922930}
|
|
||||||
- component: {fileID: 732922929}
|
|
||||||
- component: {fileID: 732922927}
|
|
||||||
- component: {fileID: 732922926}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Main Camera
|
|
||||||
m_TagString: MainCamera
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!81 &732922926
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 732922925}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!124 &732922927
|
|
||||||
Behaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 732922925}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &732922929
|
|
||||||
Camera:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 732922925}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ClearFlags: 1
|
|
||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
|
|
||||||
m_projectionMatrixMode: 1
|
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FOVAxisMode: 0
|
|
||||||
m_SensorSize: {x: 36, y: 24}
|
|
||||||
m_LensShift: {x: 0, y: 0}
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_NormalizedViewPortRect:
|
|
||||||
serializedVersion: 2
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
near clip plane: 0.3
|
|
||||||
far clip plane: 1000
|
|
||||||
field of view: 60
|
|
||||||
orthographic: 0
|
|
||||||
orthographic size: 5
|
|
||||||
m_Depth: -1
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingPath: -1
|
|
||||||
m_TargetTexture: {fileID: 0}
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
m_TargetEye: 3
|
|
||||||
m_HDR: 0
|
|
||||||
m_AllowMSAA: 1
|
|
||||||
m_AllowDynamicResolution: 0
|
|
||||||
m_ForceIntoRT: 0
|
|
||||||
m_OcclusionCulling: 1
|
|
||||||
m_StereoConvergence: 10
|
|
||||||
m_StereoSeparation: 0.022
|
|
||||||
--- !u!4 &732922930
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 732922925}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &939624742
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 939624746}
|
|
||||||
- component: {fileID: 939624745}
|
|
||||||
- component: {fileID: 939624743}
|
|
||||||
- component: {fileID: 939624747}
|
|
||||||
- component: {fileID: 939624744}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: VoiceController
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!114 &939624743
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 939624742}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
IsThreeDimensional: 0
|
|
||||||
Equalize: 0
|
|
||||||
EqualizeSpeed: 1
|
|
||||||
TargetEqualizeVolume: 0.75
|
|
||||||
MaxEqualization: 5
|
|
||||||
--- !u!114 &939624744
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 939624742}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
ChunkSize: 640
|
|
||||||
Mode: 1
|
|
||||||
PushToTalk: 0
|
|
||||||
AmplitudeThreshold: 0
|
|
||||||
--- !u!114 &939624745
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 939624742}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 1bb25d2ec38162e44bc48af2fd16b223, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
DebugAudio: 1
|
|
||||||
Mute: 0
|
|
||||||
PacketLoss: 0
|
|
||||||
--- !u!4 &939624746
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 939624742}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!82 &939624747
|
|
||||||
AudioSource:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 939624742}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 4
|
|
||||||
OutputAudioMixerGroup: {fileID: 0}
|
|
||||||
m_audioClip: {fileID: 0}
|
|
||||||
m_PlayOnAwake: 1
|
|
||||||
m_Volume: 1
|
|
||||||
m_Pitch: 1
|
|
||||||
Loop: 0
|
|
||||||
Mute: 0
|
|
||||||
Spatialize: 0
|
|
||||||
SpatializePostEffects: 0
|
|
||||||
Priority: 128
|
|
||||||
DopplerLevel: 1
|
|
||||||
MinDistance: 1
|
|
||||||
MaxDistance: 500
|
|
||||||
Pan2D: 0
|
|
||||||
rolloffMode: 0
|
|
||||||
BypassEffects: 0
|
|
||||||
BypassListenerEffects: 0
|
|
||||||
BypassReverbZones: 0
|
|
||||||
rolloffCustomCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 1
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 0
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 1
|
|
||||||
value: 0
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 0
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
panLevelCustomCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 1
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 0
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
spreadCustomCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 0
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 0
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
reverbZoneMixCustomCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 1
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 0
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ec045c7ca1fe6804db8a47b3e5d727c2
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!850595691 &4890085278179872738
|
|
||||||
LightingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: LocalDemoSettings
|
|
||||||
serializedVersion: 3
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_RealtimeEnvironmentLighting: 1
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_UsingShadowmask: 0
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_LightmapMaxSize: 1024
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_Padding: 2
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_AO: 0
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 0
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAO: 0
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_FilterMode: 1
|
|
||||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_RealtimeResolution: 1
|
|
||||||
m_ForceWhiteAlbedo: 0
|
|
||||||
m_ForceUpdates: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherRayCount: 1024
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVRMinBounces: 2
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 6e3468f00aa6f45e99790aaefd8d4a76
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 4890085278179872738
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 609ba2406c6dd544e82c4888b22e9f80
|
|
||||||
timeCreated: 1431819782
|
|
||||||
licenseType: Store
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8e1a495990ca2b94f9935416b28ae866
|
|
||||||
MonoAssemblyImporter:
|
|
||||||
serializedVersion: 1
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
Copyright (c) 2010, Christoph Fröschl
|
|
||||||
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.
|
|
||||||
|
|
||||||
* Neither the name of Christoph Fröschl 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.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8b324bf9acc257d4e99d29e94a94afcc
|
|
||||||
TextScriptImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 065997cf0ef074461aff052861709a58
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 9cf55d88c91364a4b9d95d4c4687f65d
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 66b2b536e42b51c4f8ca3828abe1aa4f
|
|
||||||
timeCreated: 1431804546
|
|
||||||
licenseType: Store
|
|
||||||
PluginImporter:
|
|
||||||
serializedVersion: 1
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
isPreloaded: 0
|
|
||||||
platformData:
|
|
||||||
Android:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
Any:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
Editor:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: x86_64
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
OS: Windows
|
|
||||||
Linux:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: x86
|
|
||||||
Linux64:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: x86_64
|
|
||||||
LinuxUniversal:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
OSXIntel:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
OSXIntel64:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
OSXUniversal:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
WP8:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
DontProcess: False
|
|
||||||
PlaceholderPath:
|
|
||||||
Win:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
Win64:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
WindowsStoreApps:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
DontProcess: False
|
|
||||||
PlaceholderPath:
|
|
||||||
SDK: AnySDK
|
|
||||||
iOS:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CompileFlags:
|
|
||||||
FrameworkDependencies:
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
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.
|
|
||||||
|
|
||||||
- Neither the name of Internet Society, IETF or IETF Trust, nor the
|
|
||||||
names of specific 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.
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8a0f3e963c6a7b04cb254f46050e85b9
|
|
||||||
timeCreated: 1431821079
|
|
||||||
licenseType: Store
|
|
||||||
TextScriptImporter:
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
Thank you for choosing DaikonForge technology to power your game.
|
|
||||||
When using DaikonForge middleware in a game or application, we allow you to:
|
|
||||||
1.) Display one of the included splash screens on game startup.
|
|
||||||
2.) Display a small logo badge somewhere in your game
|
|
||||||
3.) Add a section on DaikonForge products to your credits
|
|
||||||
|
|
||||||
However, these are all totally optional - if you don't want to, it's entirely up to you.
|
|
||||||
|
|
||||||
SPLASH SCREEN
|
|
||||||
Two such splash screens are included - one with a white background, and one with a black background.
|
|
||||||
The splash screen displays a “Powered By DaikonForge” logo. In addition to this, it includes placeholder copyright text at the bottom of the screen.
|
|
||||||
This placeholder should be replaced with text of the following form:
|
|
||||||
|
|
||||||
This software application includes [used products here]
|
|
||||||
Copyright © 2014 DaikonForge All Rights Reserved
|
|
||||||
|
|
||||||
Where products are separated as such: “X, Y, and Z”
|
|
||||||
|
|
||||||
LOGO BADGE
|
|
||||||
A selection of DaikonForge logo badges can be found in the Badge subfolder of the DFVoice folder. This can be placed anywhere of your choosing in the game.
|
|
||||||
|
|
||||||
END CREDITS
|
|
||||||
When mentioning DaikonForge products in your credits, it should take the following form:
|
|
||||||
|
|
||||||
POWERED BY DAIKONFORGE TECHNOLOGY
|
|
||||||
|
|
||||||
Followed by a list of plugins used. For instance, if your game used DFVoice, it would appear as follows:
|
|
||||||
|
|
||||||
POWERED BY DAIKONFORGE TECHNOLOGY
|
|
||||||
- DFVoice
|
|
||||||
|
|
||||||
EXPERIMENTAL OPUS SUPPORT
|
|
||||||
While the default codec is a managed port of Speex called NSpeex, DFVoice includes experimental support for the successor to Speex, called Opus.
|
|
||||||
To enable this support, import the included "OpusSupport.unitypackage", and reboot Unity in order to enable unsafe compilation.
|
|
||||||
Then, override GetCodec() to the following:
|
|
||||||
|
|
||||||
public override IAudioCodec GetCodec()
|
|
||||||
{
|
|
||||||
AudioUtils.FrequencyProvider = new OpusCodec.FrequencyProvider();
|
|
||||||
return new OpusCodec( 64000 );
|
|
||||||
}
|
|
||||||
|
|
||||||
You'll also probably want to change the chunk size of the Microphone component for best results - I recommend a chunk size of 960 (this is the frame size of the Opus codec internally).
|
|
||||||
|
|
||||||
The Opus codec wrapper takes the desired bitrate as a parameter. 64 kb/s is a good starting point - you can adjust it up if you need more quality, or adjust it down for lower bandwidth.
|
|
||||||
Included are two DLLs - one is a 32-bit version of the native Opus DLL, the other is a 64-bit version. These are Windows only. If you would like to get Opus working on other platforms,
|
|
||||||
you will need to download the Opus source code and compile it for your platform of choice.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: de27eaa9120bcac4c8d8289d0223b9bd
|
|
||||||
TextScriptImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ecd54f10f7b29489da5d976b4f8cc4b6
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 39b94daba09dc44fb8c758ab2d29b39c
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Represents an audio codec
|
|
||||||
/// </summary>
|
|
||||||
public interface IAudioCodec
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Called when new audio data is received from the microphone
|
|
||||||
/// </summary>
|
|
||||||
void OnAudioAvailable( BigArray<float> rawPCM );
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the next encoded frame, or NULL if there isn't one
|
|
||||||
/// </summary>
|
|
||||||
VoicePacketWrapper? GetNextEncodedFrame( int frequency );
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Decode the raw encoded frame into 32-bit float PCM
|
|
||||||
/// </summary>
|
|
||||||
BigArray<float> DecodeFrame( VoicePacketWrapper data );
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Generate filler data for a missing frame
|
|
||||||
/// </summary>
|
|
||||||
BigArray<float> GenerateMissingFrame( int frequency );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,157 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
public class SpeexCodec : IAudioCodec
|
|
||||||
{
|
|
||||||
public class FrequencyProvider : IFrequencyProvider
|
|
||||||
{
|
|
||||||
public int GetFrequency( FrequencyMode mode )
|
|
||||||
{
|
|
||||||
switch( mode )
|
|
||||||
{
|
|
||||||
case FrequencyMode.Narrow:
|
|
||||||
return 8000;
|
|
||||||
case FrequencyMode.Wide:
|
|
||||||
return 16000;
|
|
||||||
case FrequencyMode.UltraWide:
|
|
||||||
return 32000;
|
|
||||||
default:
|
|
||||||
return 16000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private class codecWrapper
|
|
||||||
{
|
|
||||||
public NSpeex.SpeexEncoder encoder;
|
|
||||||
public NSpeex.SpeexDecoder decoder;
|
|
||||||
|
|
||||||
public codecWrapper( NSpeex.BandMode mode, bool vbr )
|
|
||||||
{
|
|
||||||
encoder = new NSpeex.SpeexEncoder( mode );
|
|
||||||
decoder = new NSpeex.SpeexDecoder( mode, false );
|
|
||||||
|
|
||||||
encoder.VBR = vbr;
|
|
||||||
encoder.Quality = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Dictionary<int, codecWrapper> encoders;
|
|
||||||
|
|
||||||
private Dictionary<int, int> frameSizes = new Dictionary<int, int>()
|
|
||||||
{
|
|
||||||
{ 8000, 160 },
|
|
||||||
{ 16000, 320 },
|
|
||||||
{ 32000, 640 },
|
|
||||||
};
|
|
||||||
|
|
||||||
private ChunkBuffer chunkBuffer;
|
|
||||||
private BigArray<float> tempOutputArray;
|
|
||||||
private VoicePacketWrapper tempPacketWrapper;
|
|
||||||
|
|
||||||
public SpeexCodec( bool VBR )
|
|
||||||
{
|
|
||||||
encoders = new Dictionary<int, codecWrapper>()
|
|
||||||
{
|
|
||||||
{ 8000, new codecWrapper( NSpeex.BandMode.Narrow, VBR ) },
|
|
||||||
{ 16000, new codecWrapper( NSpeex.BandMode.Wide, VBR ) },
|
|
||||||
{ 32000, new codecWrapper( NSpeex.BandMode.UltraWide, VBR ) },
|
|
||||||
};
|
|
||||||
|
|
||||||
chunkBuffer = new ChunkBuffer();
|
|
||||||
tempOutputArray = new BigArray<float>( 1024, 0 );
|
|
||||||
tempPacketWrapper = new VoicePacketWrapper( 0, 16, new byte[ 0 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnAudioAvailable( BigArray<float> rawPCM )
|
|
||||||
{
|
|
||||||
chunkBuffer.AddSamples( rawPCM );
|
|
||||||
}
|
|
||||||
|
|
||||||
public VoicePacketWrapper? GetNextEncodedFrame( int frequency )
|
|
||||||
{
|
|
||||||
int frameSize = frameSizes[ frequency ];
|
|
||||||
codecWrapper codec = encoders[ frequency ];
|
|
||||||
|
|
||||||
float[] chunk = TempArray<float>.Obtain( frameSize );
|
|
||||||
bool chunkAvailable = chunkBuffer.RetrieveChunk( chunk );
|
|
||||||
if( !chunkAvailable )
|
|
||||||
{
|
|
||||||
TempArray<float>.Release( chunk );
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
tempPacketWrapper = new VoicePacketWrapper();
|
|
||||||
tempPacketWrapper.Frequency = (byte)( frequency / 1000 );
|
|
||||||
|
|
||||||
short[] audio16bit = TempArray<short>.Obtain( frameSize );
|
|
||||||
for( int i = 0; i < frameSize; i++ )
|
|
||||||
{
|
|
||||||
float val = chunk[ i ] * short.MaxValue;
|
|
||||||
audio16bit[ i ] = (short)val;
|
|
||||||
}
|
|
||||||
TempArray<float>.Release( chunk );
|
|
||||||
|
|
||||||
byte[] buffer = TempArray<byte>.Obtain( audio16bit.Length * 2 );
|
|
||||||
|
|
||||||
int encoded = codec.encoder.Encode( audio16bit, 0, frameSize, buffer, 0, buffer.Length );
|
|
||||||
|
|
||||||
TempArray<short>.Release( audio16bit );
|
|
||||||
|
|
||||||
tempPacketWrapper.RawData = new byte[ encoded ];
|
|
||||||
|
|
||||||
System.Buffer.BlockCopy( buffer, 0, tempPacketWrapper.RawData, 0, encoded );
|
|
||||||
|
|
||||||
TempArray<byte>.Release( buffer );
|
|
||||||
|
|
||||||
return tempPacketWrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigArray<float> DecodeFrame( VoicePacketWrapper data )
|
|
||||||
{
|
|
||||||
int frameSize = frameSizes[ data.Frequency * 1000 ];
|
|
||||||
codecWrapper codec = encoders[ data.Frequency * 1000 ];
|
|
||||||
|
|
||||||
short[] decodedFrame16Bit = TempArray<short>.Obtain( frameSize * 4 );
|
|
||||||
int decoded = codec.decoder.Decode( data.RawData, 0, data.RawData.Length, decodedFrame16Bit, 0, false );
|
|
||||||
|
|
||||||
if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded );
|
|
||||||
|
|
||||||
for( int i = 0; i < decoded; i++ )
|
|
||||||
{
|
|
||||||
float val = (float)decodedFrame16Bit[ i ];
|
|
||||||
val /= short.MaxValue;
|
|
||||||
tempOutputArray[ i ] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
TempArray<short>.Release( decodedFrame16Bit );
|
|
||||||
|
|
||||||
return tempOutputArray;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigArray<float> GenerateMissingFrame( int frequency )
|
|
||||||
{
|
|
||||||
int frameSize = frameSizes[ frequency * 1000 ];
|
|
||||||
codecWrapper codec = encoders[ frequency * 1000 ];
|
|
||||||
|
|
||||||
short[] decodedFrame16Bit = TempArray<short>.Obtain( frameSize * 4 );
|
|
||||||
int decoded = codec.decoder.Decode( null, 0, 0, decodedFrame16Bit, 0, true );
|
|
||||||
|
|
||||||
if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded );
|
|
||||||
|
|
||||||
for( int i = 0; i < decoded; i++ )
|
|
||||||
{
|
|
||||||
float val = (float)decodedFrame16Bit[ i ];
|
|
||||||
val /= short.MaxValue;
|
|
||||||
tempOutputArray[ i ] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
TempArray<short>.Release( decodedFrame16Bit );
|
|
||||||
|
|
||||||
return tempOutputArray;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 09cb945d5f87945dfa3044a5357a0c5e
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class TestLocalVoiceController : VoiceControllerBase
|
|
||||||
{
|
|
||||||
public float PacketLoss = 0.1f;
|
|
||||||
|
|
||||||
protected override void OnAudioDataEncoded( VoicePacketWrapper encodedFrame )
|
|
||||||
{
|
|
||||||
if( Random.Range( 0f, 1f ) <= PacketLoss )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ReceiveAudioData( encodedFrame );
|
|
||||||
}
|
|
||||||
|
|
||||||
public override bool IsLocal
|
|
||||||
{
|
|
||||||
get { return true; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 1bb25d2ec38162e44bc48af2fd16b223
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
using DaikonForge.VoIP;
|
|
||||||
[RequireComponent(typeof(NetworkPlayer))]
|
|
||||||
public class VelVoiceController : VoiceControllerBase
|
|
||||||
{
|
|
||||||
NetworkPlayer player;
|
|
||||||
public override bool IsLocal
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
|
|
||||||
if(player == null)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return player.isLocal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start is called before the first frame update
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
player = GetComponent<NetworkPlayer>();
|
|
||||||
init();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnAudioDataEncoded(VoicePacketWrapper encodedFrame)
|
|
||||||
{
|
|
||||||
byte[] headers = encodedFrame.ObtainHeaders();
|
|
||||||
byte[] data = encodedFrame.RawData;
|
|
||||||
player.sendAudioData(headers, data);
|
|
||||||
//send the headers and data separately
|
|
||||||
encodedFrame.ReleaseHeaders();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void receiveAudioFrame(byte[] headers, byte[] data)
|
|
||||||
{
|
|
||||||
VoicePacketWrapper packet = new VoicePacketWrapper(headers, data);
|
|
||||||
ReceiveAudioData(packet);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,179 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
public abstract class VoiceControllerBase : MonoBehaviour
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets whether this voice controller belongs to the local client or not
|
|
||||||
/// </summary>
|
|
||||||
public abstract bool IsLocal
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the audio input device attached to this voice controller
|
|
||||||
/// </summary>
|
|
||||||
public AudioInputDeviceBase AudioInputDevice
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return this.microphone;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the audio output device attached to this voice controller
|
|
||||||
/// </summary>
|
|
||||||
public IAudioPlayer AudioOutputDevice
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return this.speaker;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If true, play back received audio even if this belongs to the local client
|
|
||||||
/// </summary>
|
|
||||||
public bool DebugAudio = false;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If true, voice controller won't decode and play back received frames
|
|
||||||
/// </summary>
|
|
||||||
public bool Mute = false;
|
|
||||||
|
|
||||||
protected AudioInputDeviceBase microphone;
|
|
||||||
protected IAudioPlayer speaker;
|
|
||||||
protected IAudioCodec codec;
|
|
||||||
|
|
||||||
protected ulong nextFrameIndex = 0;
|
|
||||||
protected ulong nextExpectedIndex = 0;
|
|
||||||
|
|
||||||
protected virtual void init()
|
|
||||||
{
|
|
||||||
codec = GetCodec();
|
|
||||||
|
|
||||||
microphone = GetComponent<AudioInputDeviceBase>();
|
|
||||||
speaker = GetComponent( typeof( IAudioPlayer ) ) as IAudioPlayer;
|
|
||||||
|
|
||||||
if( microphone == null )
|
|
||||||
{
|
|
||||||
Debug.LogError( "No audio input component attached to speaker", this );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( speaker == null )
|
|
||||||
{
|
|
||||||
Debug.LogError( "No audio output component attached to speaker", this );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( IsLocal )
|
|
||||||
{
|
|
||||||
microphone.OnAudioBufferReady += this.OnMicrophoneDataReady;
|
|
||||||
microphone.StartRecording();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void OnDestroy()
|
|
||||||
{
|
|
||||||
if( IsLocal && microphone != null )
|
|
||||||
{
|
|
||||||
microphone.OnAudioBufferReady -= this.OnMicrophoneDataReady;
|
|
||||||
microphone.StopRecording();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Called when a frame of audio is encoded and ready to send
|
|
||||||
/// </summary>
|
|
||||||
protected virtual void OnAudioDataEncoded( VoicePacketWrapper encodedFrame )
|
|
||||||
{
|
|
||||||
// TODO: send audio over network
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Create a new codec
|
|
||||||
/// </summary>
|
|
||||||
protected virtual IAudioCodec GetCodec()
|
|
||||||
{
|
|
||||||
AudioUtils.FrequencyProvider = new SpeexCodec.FrequencyProvider();
|
|
||||||
return new SpeexCodec( true );
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If you need to skip receiving a frame, you should call this function so it can advance the next expected index counter
|
|
||||||
/// </summary>
|
|
||||||
protected void SkipFrame()
|
|
||||||
{
|
|
||||||
nextExpectedIndex++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Decode and play back received audio data
|
|
||||||
/// </summary>
|
|
||||||
protected virtual void ReceiveAudioData( VoicePacketWrapper encodedFrame )
|
|
||||||
{
|
|
||||||
if( !IsLocal || DebugAudio )
|
|
||||||
{
|
|
||||||
// discard old samples
|
|
||||||
if( encodedFrame.Index < nextExpectedIndex ) return;
|
|
||||||
|
|
||||||
// voice controller is muted - don't bother decoding or buffering audio data
|
|
||||||
if( Mute )
|
|
||||||
{
|
|
||||||
nextExpectedIndex = encodedFrame.Index + 1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
speaker.SetSampleRate( encodedFrame.Frequency * 1000 );
|
|
||||||
|
|
||||||
// some frames were lost, generate filler data for them
|
|
||||||
// unless the speaker isn't playing any sound, in which case filler data will only delay the stream further
|
|
||||||
// OR unless nextExpectedIndex is zero, implying that we haven't received any frames yet
|
|
||||||
if( nextExpectedIndex != 0 && encodedFrame.Index != nextExpectedIndex && speaker.PlayingSound )
|
|
||||||
{
|
|
||||||
int numMissingFrames = (int)( encodedFrame.Index - nextExpectedIndex );
|
|
||||||
|
|
||||||
for( int i = 0; i < numMissingFrames; i++ )
|
|
||||||
{
|
|
||||||
BigArray<float> filler = codec.GenerateMissingFrame( encodedFrame.Frequency );
|
|
||||||
speaker.BufferAudio( filler );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BigArray<float> decoded = codec.DecodeFrame( encodedFrame );
|
|
||||||
speaker.BufferAudio( decoded );
|
|
||||||
|
|
||||||
nextExpectedIndex = encodedFrame.Index + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Called when new audio is available from the microphone
|
|
||||||
/// </summary>
|
|
||||||
protected virtual void OnMicrophoneDataReady( BigArray<float> newData, int frequency )
|
|
||||||
{
|
|
||||||
if( !IsLocal ) return;
|
|
||||||
|
|
||||||
codec.OnAudioAvailable( newData );
|
|
||||||
|
|
||||||
VoicePacketWrapper? enc = codec.GetNextEncodedFrame( frequency );
|
|
||||||
while( enc.HasValue )
|
|
||||||
{
|
|
||||||
// assign index
|
|
||||||
VoicePacketWrapper packet = enc.Value;
|
|
||||||
packet.Index = nextFrameIndex++;
|
|
||||||
enc = packet;
|
|
||||||
|
|
||||||
OnAudioDataEncoded( enc.Value );
|
|
||||||
enc = codec.GetNextEncodedFrame( frequency );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: d417da3dc9eadb24793f13fbb74b7e09
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 866c4f5eb18f24923bac66b4807ab6b3
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
using System.Collections;
|
|
||||||
|
|
||||||
public class AudioClipInputDevice : AudioInputDeviceBase
|
|
||||||
{
|
|
||||||
public AudioClip testClip;
|
|
||||||
public FrequencyMode ResampleFrequency = FrequencyMode.Wide;
|
|
||||||
|
|
||||||
public override void StartRecording()
|
|
||||||
{
|
|
||||||
float[] data = new float[ testClip.samples * testClip.channels ];
|
|
||||||
testClip.GetData( data, 0 );
|
|
||||||
|
|
||||||
BigArray<float> d = new BigArray<float>( data.Length, 0 );
|
|
||||||
d.Resize( data.Length );
|
|
||||||
d.CopyFrom( data, 0, 0, data.Length * 4 );
|
|
||||||
|
|
||||||
//AudioUtils.Resample( d, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) );
|
|
||||||
|
|
||||||
//bufferReady( d, AudioUtils.GetFrequency( ResampleFrequency ) );
|
|
||||||
StartCoroutine( yieldChunks( d, testClip.frequency, 1f ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
private IEnumerator yieldChunks( BigArray<float> data, int chunkSize, float chunkDuration )
|
|
||||||
{
|
|
||||||
int readHead = 0;
|
|
||||||
|
|
||||||
while( readHead < data.Length )
|
|
||||||
{
|
|
||||||
int remainder = chunkSize;
|
|
||||||
if( readHead + chunkSize >= data.Length )
|
|
||||||
{
|
|
||||||
remainder = data.Length - readHead;
|
|
||||||
}
|
|
||||||
|
|
||||||
BigArray<float> temp = new BigArray<float>( remainder, 0 );
|
|
||||||
temp.Resize( remainder );
|
|
||||||
temp.CopyFrom( data.Items, readHead * 4, 0, remainder * 4 );
|
|
||||||
AudioUtils.Resample( temp, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) );
|
|
||||||
|
|
||||||
bufferReady( temp, AudioUtils.GetFrequency( ResampleFrequency ) );
|
|
||||||
|
|
||||||
readHead += remainder;
|
|
||||||
|
|
||||||
yield return new WaitForSeconds( chunkDuration );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void StopRecording()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 9967234445f1b0f4189095bb0ac74468
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Event handler for when new audio data becomes available
|
|
||||||
/// </summary>
|
|
||||||
public delegate void AudioBufferReadyHandler( BigArray<float> newData, int frequency );
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Base class for audio input devices
|
|
||||||
/// </summary>
|
|
||||||
public abstract class AudioInputDeviceBase : MonoBehaviour
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Called when new audio data becomes available
|
|
||||||
/// </summary>
|
|
||||||
public event AudioBufferReadyHandler OnAudioBufferReady;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Start recording audio data
|
|
||||||
/// </summary>
|
|
||||||
public abstract void StartRecording();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Stop recording audio data
|
|
||||||
/// </summary>
|
|
||||||
public abstract void StopRecording();
|
|
||||||
|
|
||||||
protected void bufferReady( BigArray<float> newData, int frequency )
|
|
||||||
{
|
|
||||||
if( OnAudioBufferReady != null )
|
|
||||||
OnAudioBufferReady( newData, frequency );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 51a1dfa85ff93f340aaff134a7a5cb88
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Interface for classes which can play received audio
|
|
||||||
/// </summary>
|
|
||||||
public interface IAudioPlayer
|
|
||||||
{
|
|
||||||
bool PlayingSound { get; }
|
|
||||||
void SetSampleRate( int sampleRate );
|
|
||||||
void BufferAudio( BigArray<float> audioData );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 02df04439ff9f7444bc43a4154e5af15
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,174 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
[AddComponentMenu( "DFVoice/Microphone Input Device" )]
|
|
||||||
public class MicrophoneInputDevice : AudioInputDeviceBase
|
|
||||||
{
|
|
||||||
public static string DefaultMicrophone = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the device that is actively being used to record audio
|
|
||||||
/// </summary>
|
|
||||||
public string ActiveDevice
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return device;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int ChunkSize = 640;
|
|
||||||
public FrequencyMode Mode = FrequencyMode.Wide;
|
|
||||||
|
|
||||||
public KeyCode PushToTalk = KeyCode.None;
|
|
||||||
|
|
||||||
public float AmplitudeThreshold = 0f;
|
|
||||||
|
|
||||||
private AudioClip recordedAudio;
|
|
||||||
private int prevReadPosition = 0;
|
|
||||||
private BigArray<float> resampleBuffer;
|
|
||||||
|
|
||||||
private string device = null;
|
|
||||||
private int recordingFrequency;
|
|
||||||
|
|
||||||
private float pushToTalkTimer = 0f;
|
|
||||||
|
|
||||||
public override void StartRecording()
|
|
||||||
{
|
|
||||||
if( !Application.HasUserAuthorization( UserAuthorization.Microphone ) )
|
|
||||||
{
|
|
||||||
Debug.LogWarning( "StartRecording(): Webplayer microphone access denied" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
device = DefaultMicrophone;
|
|
||||||
|
|
||||||
prevReadPosition = 0;
|
|
||||||
|
|
||||||
this.recordingFrequency = AudioUtils.GetFrequency( Mode );
|
|
||||||
|
|
||||||
int min, max;
|
|
||||||
Microphone.GetDeviceCaps( device, out min, out max );
|
|
||||||
|
|
||||||
if( max == 0 ) max = 48000;
|
|
||||||
//if( max == 0 ) max = 16000;
|
|
||||||
|
|
||||||
int frequency = Mathf.Clamp( this.recordingFrequency, min, max );
|
|
||||||
|
|
||||||
resampleBuffer = new BigArray<float>( ChunkSize, 0 );
|
|
||||||
recordedAudio = Microphone.Start( device, true, 5, frequency );
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void StopRecording()
|
|
||||||
{
|
|
||||||
Microphone.End( device );
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Switch over to a new device
|
|
||||||
/// </summary>
|
|
||||||
public void ChangeMicrophoneDevice( string newDevice )
|
|
||||||
{
|
|
||||||
StopRecording();
|
|
||||||
|
|
||||||
DefaultMicrophone = newDevice;
|
|
||||||
|
|
||||||
StartRecording();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if( !Microphone.IsRecording( device ) || recordedAudio == null )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
float[] tempArray = TempArray<float>.Obtain( ChunkSize );
|
|
||||||
|
|
||||||
// in case of recompile
|
|
||||||
if( resampleBuffer == null )
|
|
||||||
{
|
|
||||||
resampleBuffer = new BigArray<float>( ChunkSize, 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
int readPosition = Microphone.GetPosition( device );
|
|
||||||
|
|
||||||
if( readPosition >= ( prevReadPosition + ChunkSize ) )
|
|
||||||
{
|
|
||||||
while( readPosition >= ( prevReadPosition + ChunkSize ) )
|
|
||||||
{
|
|
||||||
if( canTalk() )
|
|
||||||
{
|
|
||||||
recordedAudio.GetData( tempArray, prevReadPosition );
|
|
||||||
if( exceedsVolumeThreshold( tempArray ) )
|
|
||||||
{
|
|
||||||
resample( tempArray );
|
|
||||||
bufferReady( resampleBuffer, this.recordingFrequency );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
prevReadPosition += ChunkSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( prevReadPosition > readPosition )
|
|
||||||
{
|
|
||||||
var endReadPos = readPosition + recordedAudio.samples;
|
|
||||||
var diff = endReadPos - prevReadPosition;
|
|
||||||
while( diff >= ChunkSize )
|
|
||||||
{
|
|
||||||
if( canTalk() )
|
|
||||||
{
|
|
||||||
recordedAudio.GetData( tempArray, prevReadPosition );
|
|
||||||
if( exceedsVolumeThreshold( tempArray ) )
|
|
||||||
{
|
|
||||||
resample( tempArray );
|
|
||||||
bufferReady( resampleBuffer, this.recordingFrequency );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
prevReadPosition += ChunkSize;
|
|
||||||
if( prevReadPosition >= recordedAudio.samples )
|
|
||||||
{
|
|
||||||
prevReadPosition -= recordedAudio.samples;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
endReadPos = readPosition + recordedAudio.samples;
|
|
||||||
diff = endReadPos - prevReadPosition;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TempArray<float>.Release( tempArray );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool exceedsVolumeThreshold( float[] data )
|
|
||||||
{
|
|
||||||
if( AmplitudeThreshold == 0f )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
var max = Mathf.Max( data );
|
|
||||||
return max >= AmplitudeThreshold;
|
|
||||||
}
|
|
||||||
|
|
||||||
void resample( float[] tempArray )
|
|
||||||
{
|
|
||||||
//resampleBuffer = new BigArray<float>( tempArray.Length, tempArray.Length );
|
|
||||||
resampleBuffer.Resize( tempArray.Length );
|
|
||||||
resampleBuffer.CopyFrom( tempArray, 0, 0, tempArray.Length * 4 );
|
|
||||||
//Debug.Log( "Resampling from: " + recordedAudio.frequency + ", to: " + this.recordingFrequency );
|
|
||||||
AudioUtils.Resample( resampleBuffer, recordedAudio.frequency, this.recordingFrequency );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool canTalk()
|
|
||||||
{
|
|
||||||
if( PushToTalk == KeyCode.None ) return true;
|
|
||||||
if( Input.GetKey( PushToTalk ) ) pushToTalkTimer = 0.2f;
|
|
||||||
|
|
||||||
pushToTalkTimer -= Time.deltaTime;
|
|
||||||
return pushToTalkTimer > 0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ca697a6f27a261442a2c082beee1b411
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,145 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Implements an audio player which writes to a streaming audio clip
|
|
||||||
/// </summary>
|
|
||||||
[AddComponentMenu( "DFVoice/Unity Audio Player" )]
|
|
||||||
[RequireComponent( typeof( AudioSource ) )]
|
|
||||||
public class UnityAudioPlayer : MonoBehaviour, IAudioPlayer
|
|
||||||
{
|
|
||||||
public bool PlayingSound
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return GetComponent<AudioSource>().isPlaying;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsThreeDimensional = false;
|
|
||||||
|
|
||||||
public bool Equalize = false;
|
|
||||||
public float EqualizeSpeed = 1f;
|
|
||||||
public float TargetEqualizeVolume = 0.75f;
|
|
||||||
public float MaxEqualization = 5f;
|
|
||||||
|
|
||||||
private int frequency = 16000;
|
|
||||||
|
|
||||||
private int writeHead = 0;
|
|
||||||
private int totalWritten = 0;
|
|
||||||
private AudioClip playClip;
|
|
||||||
|
|
||||||
private int delayForFrames = 0;
|
|
||||||
private int lastTime = 0;
|
|
||||||
private int played = 0;
|
|
||||||
|
|
||||||
private float currentGain = 1f;
|
|
||||||
private float targetGain = 1f;
|
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false );
|
|
||||||
|
|
||||||
// backwards compatibility
|
|
||||||
if( GetComponent<AudioSource>() == null )
|
|
||||||
gameObject.AddComponent<AudioSource>();
|
|
||||||
|
|
||||||
GetComponent<AudioSource>().clip = playClip;
|
|
||||||
GetComponent<AudioSource>().Stop();
|
|
||||||
GetComponent<AudioSource>().loop = true;
|
|
||||||
GetComponent<AudioSource>().spatialBlend = IsThreeDimensional ? 1f : 0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if( GetComponent<AudioSource>().isPlaying )
|
|
||||||
{
|
|
||||||
if( lastTime > GetComponent<AudioSource>().timeSamples )
|
|
||||||
{
|
|
||||||
played += GetComponent<AudioSource>().clip.samples;
|
|
||||||
}
|
|
||||||
|
|
||||||
lastTime = GetComponent<AudioSource>().timeSamples;
|
|
||||||
|
|
||||||
currentGain = Mathf.MoveTowards( currentGain, targetGain, Time.deltaTime * EqualizeSpeed );
|
|
||||||
|
|
||||||
if( played + GetComponent<AudioSource>().timeSamples >= totalWritten )
|
|
||||||
{
|
|
||||||
GetComponent<AudioSource>().Pause();
|
|
||||||
delayForFrames = 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDestroy()
|
|
||||||
{
|
|
||||||
Destroy( GetComponent<AudioSource>().clip );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetSampleRate( int sampleRate )
|
|
||||||
{
|
|
||||||
if( GetComponent<AudioSource>() == null ) return;
|
|
||||||
|
|
||||||
if( GetComponent<AudioSource>().clip != null && GetComponent<AudioSource>().clip.frequency == sampleRate ) return;
|
|
||||||
|
|
||||||
this.frequency = sampleRate;
|
|
||||||
|
|
||||||
if( GetComponent<AudioSource>().clip != null )
|
|
||||||
Destroy( GetComponent<AudioSource>().clip );
|
|
||||||
|
|
||||||
playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false );
|
|
||||||
GetComponent<AudioSource>().clip = playClip;
|
|
||||||
GetComponent<AudioSource>().Stop();
|
|
||||||
GetComponent<AudioSource>().loop = true;
|
|
||||||
|
|
||||||
writeHead = 0;
|
|
||||||
totalWritten = 0;
|
|
||||||
delayForFrames = 0;
|
|
||||||
lastTime = 0;
|
|
||||||
played = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void BufferAudio( BigArray<float> audioData )
|
|
||||||
{
|
|
||||||
if( GetComponent<AudioSource>() == null ) return;
|
|
||||||
|
|
||||||
float[] temp = TempArray<float>.Obtain( audioData.Length );
|
|
||||||
audioData.CopyTo( 0, temp, 0, audioData.Length * 4 );
|
|
||||||
|
|
||||||
if( Equalize )
|
|
||||||
{
|
|
||||||
float maxAmp = AudioUtils.GetMaxAmplitude( temp );
|
|
||||||
targetGain = TargetEqualizeVolume / maxAmp;
|
|
||||||
|
|
||||||
if( targetGain > MaxEqualization )
|
|
||||||
targetGain = MaxEqualization;
|
|
||||||
|
|
||||||
if( targetGain < currentGain )
|
|
||||||
{
|
|
||||||
currentGain = targetGain;
|
|
||||||
}
|
|
||||||
|
|
||||||
AudioUtils.ApplyGain( temp, currentGain );
|
|
||||||
}
|
|
||||||
|
|
||||||
playClip.SetData( temp, writeHead );
|
|
||||||
TempArray<float>.Release( temp );
|
|
||||||
|
|
||||||
writeHead += audioData.Length;
|
|
||||||
totalWritten += audioData.Length;
|
|
||||||
writeHead %= playClip.samples;
|
|
||||||
|
|
||||||
if( !GetComponent<AudioSource>().isPlaying )
|
|
||||||
{
|
|
||||||
delayForFrames--;
|
|
||||||
if( delayForFrames <= 0 )
|
|
||||||
{
|
|
||||||
GetComponent<AudioSource>().Play();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 6e00d42098a712e4bb865682007cfe50
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 076de0d8431e648998dd44e88ea74a9b
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
public struct VoicePacketWrapper
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The index of this voice packet (used to detect lost frames)
|
|
||||||
/// </summary>
|
|
||||||
public ulong Index;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The frequency (audio frequency = freqID * 1000)
|
|
||||||
/// </summary>
|
|
||||||
public byte Frequency;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The raw data which was sent
|
|
||||||
/// </summary>
|
|
||||||
public byte[] RawData;
|
|
||||||
|
|
||||||
private byte[] tempHeaderData;
|
|
||||||
|
|
||||||
public VoicePacketWrapper( ulong Index, int Frequency, byte[] RawData )
|
|
||||||
{
|
|
||||||
tempHeaderData = null;
|
|
||||||
|
|
||||||
this.Index = Index;
|
|
||||||
this.Frequency = (byte)( Frequency / 1000 );
|
|
||||||
this.RawData = RawData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VoicePacketWrapper( ulong Index, byte Frequency, byte[] RawData )
|
|
||||||
{
|
|
||||||
tempHeaderData = null;
|
|
||||||
|
|
||||||
this.Index = Index;
|
|
||||||
this.Frequency = Frequency;
|
|
||||||
this.RawData = RawData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VoicePacketWrapper( byte[] headers, byte[] rawData )
|
|
||||||
{
|
|
||||||
tempHeaderData = null;
|
|
||||||
|
|
||||||
this.Index = System.BitConverter.ToUInt64( headers, 0 );
|
|
||||||
this.Frequency = headers[ 8 ];
|
|
||||||
this.RawData = rawData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ObtainHeaders()
|
|
||||||
{
|
|
||||||
tempHeaderData = TempArray<byte>.Obtain( 9 ); // 8 bytes for ulong + 1 byte
|
|
||||||
|
|
||||||
// extract bytes from ulong
|
|
||||||
byte b0 = (byte)( Index & 0x00000000000000ff );
|
|
||||||
byte b1 = (byte)( ( Index & 0x000000000000ff00 ) >> 8 );
|
|
||||||
byte b2 = (byte)( ( Index & 0x0000000000ff0000 ) >> 16 );
|
|
||||||
byte b3 = (byte)( ( Index & 0x00000000ff000000 ) >> 24 );
|
|
||||||
byte b4 = (byte)( ( Index & 0x000000ff00000000 ) >> 32 );
|
|
||||||
byte b5 = (byte)( ( Index & 0x0000ff0000000000 ) >> 40 );
|
|
||||||
byte b6 = (byte)( ( Index & 0x00ff000000000000 ) >> 48 );
|
|
||||||
byte b7 = (byte)( ( Index & 0xff00000000000000 ) >> 56 );
|
|
||||||
|
|
||||||
tempHeaderData[ 0 ] = b0;
|
|
||||||
tempHeaderData[ 1 ] = b1;
|
|
||||||
tempHeaderData[ 2 ] = b2;
|
|
||||||
tempHeaderData[ 3 ] = b3;
|
|
||||||
tempHeaderData[ 4 ] = b4;
|
|
||||||
tempHeaderData[ 5 ] = b5;
|
|
||||||
tempHeaderData[ 6 ] = b6;
|
|
||||||
tempHeaderData[ 7 ] = b7;
|
|
||||||
|
|
||||||
tempHeaderData[ 8 ] = Frequency;
|
|
||||||
|
|
||||||
return tempHeaderData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ReleaseHeaders()
|
|
||||||
{
|
|
||||||
TempArray<byte>.Release( tempHeaderData );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 1309269c62ff78d4b9929415ee7f18ac
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: e2149cce48a874a54bad45ecb828158a
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public enum FrequencyMode
|
|
||||||
{
|
|
||||||
Narrow,
|
|
||||||
Wide,
|
|
||||||
UltraWide
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IFrequencyProvider
|
|
||||||
{
|
|
||||||
int GetFrequency( FrequencyMode mode );
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AudioUtils
|
|
||||||
{
|
|
||||||
public static IFrequencyProvider FrequencyProvider = new SpeexCodec.FrequencyProvider();
|
|
||||||
private static FastList<float> temp = new FastList<float>();
|
|
||||||
|
|
||||||
public static int GetFrequency( FrequencyMode mode )
|
|
||||||
{
|
|
||||||
return FrequencyProvider.GetFrequency( mode );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Resample( BigArray<float> samples, int oldFrequency, int newFrequency )
|
|
||||||
{
|
|
||||||
if( oldFrequency == newFrequency ) return;
|
|
||||||
|
|
||||||
temp.Clear();
|
|
||||||
float ratio = (float)oldFrequency / (float)newFrequency;
|
|
||||||
int outSample = 0;
|
|
||||||
while( true )
|
|
||||||
{
|
|
||||||
int inBufferIndex = (int)( outSample++ * ratio );
|
|
||||||
if( inBufferIndex < samples.Length )
|
|
||||||
temp.Add( samples[ inBufferIndex ] );
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
samples.Resize( temp.Count );
|
|
||||||
samples.CopyFrom( temp.Items, 0, 0, temp.Count * 4 );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ApplyGain( float[] samples, float gain )
|
|
||||||
{
|
|
||||||
for( int i = 0; i < samples.Length; i++ )
|
|
||||||
samples[ i ] *= gain;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static float GetMaxAmplitude( float[] samples )
|
|
||||||
{
|
|
||||||
float max = 0f;
|
|
||||||
for( int i = 0; i < samples.Length; i++ )
|
|
||||||
max = Mathf.Max( max, Mathf.Abs( samples[ i ] ) );
|
|
||||||
return max;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 3c02370e0d553ba4abc46b1410180db4
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
public class BigArray<T>
|
|
||||||
{
|
|
||||||
private T[] items;
|
|
||||||
private int count;
|
|
||||||
|
|
||||||
public BigArray( int capacity, int count )
|
|
||||||
{
|
|
||||||
items = new T[ capacity ];
|
|
||||||
this.count = count;
|
|
||||||
}
|
|
||||||
|
|
||||||
public T this[ int index ]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if( index >= count )
|
|
||||||
throw new System.IndexOutOfRangeException();
|
|
||||||
|
|
||||||
return items[ index ];
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if( index >= count )
|
|
||||||
throw new System.IndexOutOfRangeException();
|
|
||||||
|
|
||||||
items[ index ] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int Length
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public T[] Items
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Resize( int newSize )
|
|
||||||
{
|
|
||||||
this.count = newSize;
|
|
||||||
if( this.items.Length < newSize )
|
|
||||||
{
|
|
||||||
System.Array.Resize<T>( ref this.items, newSize * 2 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CopyTo( int startIndex, BigArray<T> destination, int destIndex, int count )
|
|
||||||
{
|
|
||||||
System.Buffer.BlockCopy( items, startIndex, destination.items, destIndex, count );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CopyTo( int startIndex, T[] destination, int destIndex, int count )
|
|
||||||
{
|
|
||||||
System.Buffer.BlockCopy( items, startIndex, destination, destIndex, count );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CopyFrom( T[] source, int sourceIndex, int destIndex, int count )
|
|
||||||
{
|
|
||||||
System.Buffer.BlockCopy( source, sourceIndex, this.items, destIndex, count );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ba3ab656ee82c4f43884683c0e1c7cf5
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Helper class for separating input microphone data into chunks of a certain number of samples
|
|
||||||
/// </summary>
|
|
||||||
public class ChunkBuffer
|
|
||||||
{
|
|
||||||
//private List<float> samples = new List<float>();
|
|
||||||
private FastList<float> samples = new FastList<float>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Add incoming samples to the buffer
|
|
||||||
/// </summary>
|
|
||||||
public void AddSamples( BigArray<float> incomingSamples )
|
|
||||||
{
|
|
||||||
int writeIndex = samples.Count * 4;
|
|
||||||
int newLength = samples.Count + incomingSamples.Length;
|
|
||||||
int writeBytes = incomingSamples.Length * 4;
|
|
||||||
samples.EnsureCapacity( newLength );
|
|
||||||
samples.ForceCount( newLength );
|
|
||||||
incomingSamples.CopyTo( 0, samples.Items, writeIndex, writeBytes );
|
|
||||||
|
|
||||||
//for( int i = 0; i < incomingSamples.Length; i++ )
|
|
||||||
//{
|
|
||||||
// samples[ writeIndex + i ] = incomingSamples[ i ];
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Retrieve a chunk of the given size and fill destination array with samples
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>True if a chunk is available, false otherwise</returns>
|
|
||||||
public bool RetrieveChunk( float[] destination )
|
|
||||||
{
|
|
||||||
if( samples.Count < destination.Length ) return false;
|
|
||||||
for( int i = 0; i < destination.Length; i++ )
|
|
||||||
{
|
|
||||||
destination[ i ] = samples[ i ];
|
|
||||||
}
|
|
||||||
samples.RemoveRange( 0, destination.Length );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: f9a6d1b38ea00c44d93f1b0d1dc2ab83
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 502cfd4e9701ec9468330d30344ded39
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Helper class for working with pooled arrays
|
|
||||||
/// </summary>
|
|
||||||
public class TempArray<T>
|
|
||||||
{
|
|
||||||
private static Dictionary<int, Queue<T[]>> pool = new Dictionary<int, Queue<T[]>>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Obtain an array of the given length
|
|
||||||
/// </summary>
|
|
||||||
public static T[] Obtain( int length )
|
|
||||||
{
|
|
||||||
Queue<T[]> pool = getPool( length );
|
|
||||||
if( pool.Count > 0 )
|
|
||||||
{
|
|
||||||
return pool.Dequeue();
|
|
||||||
}
|
|
||||||
return new T[ length ];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Release an array back to the pool
|
|
||||||
/// </summary>
|
|
||||||
public static void Release( T[] array )
|
|
||||||
{
|
|
||||||
pool[ array.Length ].Enqueue( array );
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Queue<T[]> getPool( int length )
|
|
||||||
{
|
|
||||||
if( !pool.ContainsKey( length ) )
|
|
||||||
{
|
|
||||||
pool[ length ] = new Queue<T[]>();
|
|
||||||
}
|
|
||||||
return pool[ length ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 5da0784531b4e9a43b5dccfe281696a9
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Helper class for when you need a fast way to iterate voice controllers in the scene
|
|
||||||
/// </summary>
|
|
||||||
public class VoiceControllerCollection<T> where T : VoiceControllerBase
|
|
||||||
{
|
|
||||||
public static List<T> VoiceControllers = new List<T>();
|
|
||||||
|
|
||||||
public static void RegisterVoiceController( T controller )
|
|
||||||
{
|
|
||||||
VoiceControllers.Add( controller );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void UnregisterVoiceController( T controller )
|
|
||||||
{
|
|
||||||
VoiceControllers.Remove( controller );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: fc9c446086ab0d940ba525da4590eb6a
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
namespace DaikonForge.VoIP
|
|
||||||
{
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Helper class for when you need a way to index voice controllers by some key
|
|
||||||
/// </summary>
|
|
||||||
public class VoiceControllerKeyedCollection<K,T> where T : VoiceControllerBase
|
|
||||||
{
|
|
||||||
protected static Dictionary<K, T> voiceControllers = new Dictionary<K, T>();
|
|
||||||
|
|
||||||
public static void RegisterVoiceController( K key, T controller )
|
|
||||||
{
|
|
||||||
voiceControllers.Add( key, controller );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void UnregisterVoiceController( K key )
|
|
||||||
{
|
|
||||||
voiceControllers.Remove( key );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static T GetVoiceController( K key )
|
|
||||||
{
|
|
||||||
if( !voiceControllers.ContainsKey( key ) )
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return voiceControllers[ key ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 81d7f79eb5e8efe48ab96ea5fa969640
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 0d2777c77749140b4b09dee8aab0afce
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 7ea8801e741bc4a41a6b010771fb9a39
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!91 &9100000
|
|
||||||
AnimatorController:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Fader
|
|
||||||
serializedVersion: 5
|
|
||||||
m_AnimatorParameters: []
|
|
||||||
m_AnimatorLayers:
|
|
||||||
- serializedVersion: 5
|
|
||||||
m_Name: Base Layer
|
|
||||||
m_StateMachine: {fileID: 110700000}
|
|
||||||
m_Mask: {fileID: 0}
|
|
||||||
m_Motions: []
|
|
||||||
m_Behaviours: []
|
|
||||||
m_BlendingMode: 0
|
|
||||||
m_SyncedLayerIndex: -1
|
|
||||||
m_DefaultWeight: 0
|
|
||||||
m_IKPass: 0
|
|
||||||
m_SyncedLayerAffectsTiming: 0
|
|
||||||
m_Controller: {fileID: 9100000}
|
|
||||||
--- !u!1102 &110200000
|
|
||||||
AnimatorState:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: SplashFader
|
|
||||||
m_Speed: 1
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_Transitions: []
|
|
||||||
m_StateMachineBehaviours: []
|
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
|
||||||
m_IKOnFeet: 0
|
|
||||||
m_WriteDefaultValues: 1
|
|
||||||
m_Mirror: 0
|
|
||||||
m_SpeedParameterActive: 0
|
|
||||||
m_MirrorParameterActive: 0
|
|
||||||
m_CycleOffsetParameterActive: 0
|
|
||||||
m_TimeParameterActive: 0
|
|
||||||
m_Motion: {fileID: 7400000, guid: f366061147b28d3408ad5877385e8da9, type: 2}
|
|
||||||
m_Tag:
|
|
||||||
m_SpeedParameter:
|
|
||||||
m_MirrorParameter:
|
|
||||||
m_CycleOffsetParameter:
|
|
||||||
m_TimeParameter:
|
|
||||||
--- !u!1107 &110700000
|
|
||||||
AnimatorStateMachine:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Base Layer
|
|
||||||
m_ChildStates:
|
|
||||||
- serializedVersion: 1
|
|
||||||
m_State: {fileID: 110200000}
|
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
|
||||||
m_ChildStateMachines: []
|
|
||||||
m_AnyStateTransitions: []
|
|
||||||
m_EntryTransitions: []
|
|
||||||
m_StateMachineTransitions: {}
|
|
||||||
m_StateMachineBehaviours: []
|
|
||||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
|
||||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
|
||||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
|
||||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
|
||||||
m_DefaultState: {fileID: 110200000}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: a06ead484ad59b74b902fcf8e7c3fae8
|
|
||||||
NativeFormatImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!74 &7400000
|
|
||||||
AnimationClip:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: SplashFader
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Legacy: 0
|
|
||||||
m_Compressed: 0
|
|
||||||
m_UseHighQualityCurve: 1
|
|
||||||
m_RotationCurves: []
|
|
||||||
m_CompressedRotationCurves: []
|
|
||||||
m_EulerCurves: []
|
|
||||||
m_PositionCurves: []
|
|
||||||
m_ScaleCurves: []
|
|
||||||
m_FloatCurves:
|
|
||||||
- curve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 0.5
|
|
||||||
inSlope: -1
|
|
||||||
outSlope: -1
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0.5
|
|
||||||
value: 0
|
|
||||||
inSlope: -0.5
|
|
||||||
outSlope: -0.5
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 3
|
|
||||||
value: 0
|
|
||||||
inSlope: 0.5
|
|
||||||
outSlope: 0.5
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 3.5
|
|
||||||
value: 0.5
|
|
||||||
inSlope: 1
|
|
||||||
outSlope: 1
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
attribute: m_Color.a
|
|
||||||
path:
|
|
||||||
classID: 131
|
|
||||||
script: {fileID: 0}
|
|
||||||
m_PPtrCurves: []
|
|
||||||
m_SampleRate: 60
|
|
||||||
m_WrapMode: 0
|
|
||||||
m_Bounds:
|
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
|
||||||
m_Extent: {x: 0, y: 0, z: 0}
|
|
||||||
m_ClipBindingConstant:
|
|
||||||
genericBindings:
|
|
||||||
- serializedVersion: 2
|
|
||||||
path: 0
|
|
||||||
attribute: 304273561
|
|
||||||
script: {fileID: 0}
|
|
||||||
typeID: 131
|
|
||||||
customType: 0
|
|
||||||
isPPtrCurve: 0
|
|
||||||
pptrCurveMapping: []
|
|
||||||
m_AnimationClipSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
|
||||||
m_AdditiveReferencePoseTime: 0
|
|
||||||
m_StartTime: 0
|
|
||||||
m_StopTime: 3.5
|
|
||||||
m_OrientationOffsetY: 0
|
|
||||||
m_Level: 0
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_HasAdditiveReferencePose: 0
|
|
||||||
m_LoopTime: 0
|
|
||||||
m_LoopBlend: 0
|
|
||||||
m_LoopBlendOrientation: 0
|
|
||||||
m_LoopBlendPositionY: 0
|
|
||||||
m_LoopBlendPositionXZ: 0
|
|
||||||
m_KeepOriginalOrientation: 0
|
|
||||||
m_KeepOriginalPositionY: 1
|
|
||||||
m_KeepOriginalPositionXZ: 0
|
|
||||||
m_HeightFromFeet: 0
|
|
||||||
m_Mirror: 0
|
|
||||||
m_EditorCurves:
|
|
||||||
- curve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve:
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0
|
|
||||||
value: 0.5
|
|
||||||
inSlope: -1
|
|
||||||
outSlope: -1
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 0.5
|
|
||||||
value: 0
|
|
||||||
inSlope: -0.5
|
|
||||||
outSlope: -0.5
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 3
|
|
||||||
value: 0
|
|
||||||
inSlope: 0.5
|
|
||||||
outSlope: 0.5
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 3.5
|
|
||||||
value: 0.5
|
|
||||||
inSlope: 1
|
|
||||||
outSlope: 1
|
|
||||||
tangentMode: 34
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
attribute: m_Color.a
|
|
||||||
path:
|
|
||||||
classID: 131
|
|
||||||
script: {fileID: 0}
|
|
||||||
m_EulerEditorCurves: []
|
|
||||||
m_HasGenericRootTransform: 0
|
|
||||||
m_HasMotionFloatCurves: 0
|
|
||||||
m_Events: []
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: f366061147b28d3408ad5877385e8da9
|
|
||||||
NativeFormatImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,472 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!29 &1
|
|
||||||
OcclusionCullingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_OcclusionBakeSettings:
|
|
||||||
smallestOccluder: 5
|
|
||||||
smallestHole: 0.25
|
|
||||||
backfaceThreshold: 100
|
|
||||||
m_SceneGUID: 00000000000000000000000000000000
|
|
||||||
m_OcclusionCullingData: {fileID: 0}
|
|
||||||
--- !u!104 &2
|
|
||||||
RenderSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 9
|
|
||||||
m_Fog: 0
|
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
||||||
m_FogMode: 3
|
|
||||||
m_FogDensity: 0.01
|
|
||||||
m_LinearFogStart: 0
|
|
||||||
m_LinearFogEnd: 300
|
|
||||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientIntensity: 1
|
|
||||||
m_AmbientMode: 3
|
|
||||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
|
||||||
m_SkyboxMaterial: {fileID: 0}
|
|
||||||
m_HaloStrength: 0.5
|
|
||||||
m_FlareStrength: 1
|
|
||||||
m_FlareFadeSpeed: 3
|
|
||||||
m_HaloTexture: {fileID: 0}
|
|
||||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
m_DefaultReflectionMode: 0
|
|
||||||
m_DefaultReflectionResolution: 128
|
|
||||||
m_ReflectionBounces: 1
|
|
||||||
m_ReflectionIntensity: 1
|
|
||||||
m_CustomReflection: {fileID: 0}
|
|
||||||
m_Sun: {fileID: 0}
|
|
||||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_UseRadianceAmbientProbe: 0
|
|
||||||
--- !u!157 &4
|
|
||||||
LightmapSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 12
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_GISettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_EnvironmentLightingMode: 0
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_LightmapEditorSettings:
|
|
||||||
serializedVersion: 12
|
|
||||||
m_Resolution: 1
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_AtlasSize: 1024
|
|
||||||
m_AO: 1
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 1
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAmbientOcclusion: 0
|
|
||||||
m_Padding: 2
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_ReflectionCompression: 2
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_LightingDataAsset: {fileID: 0}
|
|
||||||
m_LightingSettings: {fileID: 4890085278179872738, guid: ad1b9dd66372b4442b5578f789961f98, type: 2}
|
|
||||||
--- !u!196 &5
|
|
||||||
NavMeshSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_BuildSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
agentTypeID: 0
|
|
||||||
agentRadius: 0.5
|
|
||||||
agentHeight: 2
|
|
||||||
agentSlope: 45
|
|
||||||
agentClimb: 0.4
|
|
||||||
ledgeDropHeight: 0
|
|
||||||
maxJumpAcrossDistance: 0
|
|
||||||
minRegionArea: 2
|
|
||||||
manualCellSize: 0
|
|
||||||
cellSize: 0.16666666
|
|
||||||
manualTileSize: 0
|
|
||||||
tileSize: 256
|
|
||||||
accuratePlacement: 0
|
|
||||||
maxJobWorkers: 0
|
|
||||||
preserveTilesOutsideBounds: 0
|
|
||||||
debug:
|
|
||||||
m_Flags: 0
|
|
||||||
m_NavMeshData: {fileID: 0}
|
|
||||||
--- !u!1 &4596545
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4596546}
|
|
||||||
- component: {fileID: 4596547}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: splash
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &4596546
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4596545}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 14510493}
|
|
||||||
- {fileID: 648983241}
|
|
||||||
- {fileID: 1182347998}
|
|
||||||
- {fileID: 609945526}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &4596547
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4596545}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
SplashDuration: 3.5
|
|
||||||
LoadScene:
|
|
||||||
--- !u!1 &14510491
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 14510493}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: copyright
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &14510493
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 14510491}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.05, z: 1}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &609945522
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 609945526}
|
|
||||||
- component: {fileID: 609945525}
|
|
||||||
- component: {fileID: 609945524}
|
|
||||||
- component: {fileID: 609945523}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: splashImage
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!23 &609945523
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 1
|
|
||||||
m_ReceiveShadows: 1
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 0
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 8ad9f8ccfc7201d4daa411af2aa69af6, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!64 &609945524
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 4
|
|
||||||
m_Convex: 0
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!33 &609945525
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!4 &609945526
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1.778, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &648983238
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 648983241}
|
|
||||||
- component: {fileID: 648983239}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Fader
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!95 &648983239
|
|
||||||
Animator:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 648983238}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_Avatar: {fileID: 0}
|
|
||||||
m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2}
|
|
||||||
m_CullingMode: 0
|
|
||||||
m_UpdateMode: 0
|
|
||||||
m_ApplyRootMotion: 0
|
|
||||||
m_LinearVelocityBlending: 0
|
|
||||||
m_WarningMessage:
|
|
||||||
m_HasTransformHierarchy: 1
|
|
||||||
m_AllowConstantClipSamplingOptimization: 1
|
|
||||||
m_KeepAnimatorControllerStateOnDisable: 0
|
|
||||||
--- !u!4 &648983241
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 648983238}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.5, z: 2}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &960060042
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 960060047}
|
|
||||||
- component: {fileID: 960060046}
|
|
||||||
- component: {fileID: 960060044}
|
|
||||||
- component: {fileID: 960060043}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Main Camera
|
|
||||||
m_TagString: MainCamera
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!81 &960060043
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!124 &960060044
|
|
||||||
Behaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &960060046
|
|
||||||
Camera:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ClearFlags: 1
|
|
||||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844}
|
|
||||||
m_projectionMatrixMode: 1
|
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FOVAxisMode: 0
|
|
||||||
m_SensorSize: {x: 36, y: 24}
|
|
||||||
m_LensShift: {x: 0, y: 0}
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_NormalizedViewPortRect:
|
|
||||||
serializedVersion: 2
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
near clip plane: 0.3
|
|
||||||
far clip plane: 1000
|
|
||||||
field of view: 60
|
|
||||||
orthographic: 1
|
|
||||||
orthographic size: 0.5
|
|
||||||
m_Depth: -1
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingPath: -1
|
|
||||||
m_TargetTexture: {fileID: 0}
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
m_TargetEye: 3
|
|
||||||
m_HDR: 0
|
|
||||||
m_AllowMSAA: 1
|
|
||||||
m_AllowDynamicResolution: 0
|
|
||||||
m_ForceIntoRT: 0
|
|
||||||
m_OcclusionCulling: 1
|
|
||||||
m_StereoConvergence: 10
|
|
||||||
m_StereoSeparation: 0.022
|
|
||||||
--- !u!4 &960060047
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &1182347996
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1182347998}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: productList
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1182347998
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1182347996}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.05, z: 1}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 50420d3b4e87ebf43b617739dbefc8ae
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!850595691 &4890085278179872738
|
|
||||||
LightingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: DFSplashDarkSettings
|
|
||||||
serializedVersion: 3
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_RealtimeEnvironmentLighting: 1
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_UsingShadowmask: 0
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_LightmapMaxSize: 1024
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_Padding: 2
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_AO: 1
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 1
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAO: 0
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_FilterMode: 1
|
|
||||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_RealtimeResolution: 1
|
|
||||||
m_ForceWhiteAlbedo: 0
|
|
||||||
m_ForceUpdates: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVRMinBounces: 2
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ad1b9dd66372b4442b5578f789961f98
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 4890085278179872738
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,472 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!29 &1
|
|
||||||
OcclusionCullingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_OcclusionBakeSettings:
|
|
||||||
smallestOccluder: 5
|
|
||||||
smallestHole: 0.25
|
|
||||||
backfaceThreshold: 100
|
|
||||||
m_SceneGUID: 00000000000000000000000000000000
|
|
||||||
m_OcclusionCullingData: {fileID: 0}
|
|
||||||
--- !u!104 &2
|
|
||||||
RenderSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 9
|
|
||||||
m_Fog: 0
|
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
||||||
m_FogMode: 3
|
|
||||||
m_FogDensity: 0.01
|
|
||||||
m_LinearFogStart: 0
|
|
||||||
m_LinearFogEnd: 300
|
|
||||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
|
||||||
m_AmbientIntensity: 1
|
|
||||||
m_AmbientMode: 3
|
|
||||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
|
||||||
m_SkyboxMaterial: {fileID: 0}
|
|
||||||
m_HaloStrength: 0.5
|
|
||||||
m_FlareStrength: 1
|
|
||||||
m_FlareFadeSpeed: 3
|
|
||||||
m_HaloTexture: {fileID: 0}
|
|
||||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
m_DefaultReflectionMode: 0
|
|
||||||
m_DefaultReflectionResolution: 128
|
|
||||||
m_ReflectionBounces: 1
|
|
||||||
m_ReflectionIntensity: 1
|
|
||||||
m_CustomReflection: {fileID: 0}
|
|
||||||
m_Sun: {fileID: 0}
|
|
||||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_UseRadianceAmbientProbe: 0
|
|
||||||
--- !u!157 &4
|
|
||||||
LightmapSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 12
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_GISettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_EnvironmentLightingMode: 0
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_LightmapEditorSettings:
|
|
||||||
serializedVersion: 12
|
|
||||||
m_Resolution: 1
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_AtlasSize: 1024
|
|
||||||
m_AO: 1
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 1
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAmbientOcclusion: 0
|
|
||||||
m_Padding: 2
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_ReflectionCompression: 2
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_LightingDataAsset: {fileID: 0}
|
|
||||||
m_LightingSettings: {fileID: 4890085278179872738, guid: 2d3c86df094c441378837533d6b7dcb6, type: 2}
|
|
||||||
--- !u!196 &5
|
|
||||||
NavMeshSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_BuildSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
agentTypeID: 0
|
|
||||||
agentRadius: 0.5
|
|
||||||
agentHeight: 2
|
|
||||||
agentSlope: 45
|
|
||||||
agentClimb: 0.4
|
|
||||||
ledgeDropHeight: 0
|
|
||||||
maxJumpAcrossDistance: 0
|
|
||||||
minRegionArea: 2
|
|
||||||
manualCellSize: 0
|
|
||||||
cellSize: 0.16666666
|
|
||||||
manualTileSize: 0
|
|
||||||
tileSize: 256
|
|
||||||
accuratePlacement: 0
|
|
||||||
maxJobWorkers: 0
|
|
||||||
preserveTilesOutsideBounds: 0
|
|
||||||
debug:
|
|
||||||
m_Flags: 0
|
|
||||||
m_NavMeshData: {fileID: 0}
|
|
||||||
--- !u!1 &4596545
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4596546}
|
|
||||||
- component: {fileID: 4596547}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: splash
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &4596546
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4596545}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 14510493}
|
|
||||||
- {fileID: 648983241}
|
|
||||||
- {fileID: 1182347998}
|
|
||||||
- {fileID: 609945526}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &4596547
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4596545}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
SplashDuration: 3.5
|
|
||||||
LoadScene:
|
|
||||||
--- !u!1 &14510491
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 14510493}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: copyright
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &14510493
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 14510491}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.05, z: 1}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &609945522
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 609945526}
|
|
||||||
- component: {fileID: 609945525}
|
|
||||||
- component: {fileID: 609945524}
|
|
||||||
- component: {fileID: 609945523}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: splashImage
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!23 &609945523
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 1
|
|
||||||
m_ReceiveShadows: 1
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 0
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 226e4c6d02e72d945bc9cccc8b6615c1, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!64 &609945524
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 4
|
|
||||||
m_Convex: 0
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!33 &609945525
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!4 &609945526
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 609945522}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1.778, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &648983238
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 648983241}
|
|
||||||
- component: {fileID: 648983239}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Fader
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!95 &648983239
|
|
||||||
Animator:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 648983238}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_Avatar: {fileID: 0}
|
|
||||||
m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2}
|
|
||||||
m_CullingMode: 0
|
|
||||||
m_UpdateMode: 0
|
|
||||||
m_ApplyRootMotion: 0
|
|
||||||
m_LinearVelocityBlending: 0
|
|
||||||
m_WarningMessage:
|
|
||||||
m_HasTransformHierarchy: 1
|
|
||||||
m_AllowConstantClipSamplingOptimization: 1
|
|
||||||
m_KeepAnimatorControllerStateOnDisable: 0
|
|
||||||
--- !u!4 &648983241
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 648983238}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.5, z: 2}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &960060042
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 960060047}
|
|
||||||
- component: {fileID: 960060046}
|
|
||||||
- component: {fileID: 960060044}
|
|
||||||
- component: {fileID: 960060043}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Main Camera
|
|
||||||
m_TagString: MainCamera
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!81 &960060043
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!124 &960060044
|
|
||||||
Behaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &960060046
|
|
||||||
Camera:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ClearFlags: 1
|
|
||||||
m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0.019607844}
|
|
||||||
m_projectionMatrixMode: 1
|
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FOVAxisMode: 0
|
|
||||||
m_SensorSize: {x: 36, y: 24}
|
|
||||||
m_LensShift: {x: 0, y: 0}
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_NormalizedViewPortRect:
|
|
||||||
serializedVersion: 2
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
near clip plane: 0.3
|
|
||||||
far clip plane: 1000
|
|
||||||
field of view: 60
|
|
||||||
orthographic: 1
|
|
||||||
orthographic size: 0.5
|
|
||||||
m_Depth: -1
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingPath: -1
|
|
||||||
m_TargetTexture: {fileID: 0}
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
m_TargetEye: 3
|
|
||||||
m_HDR: 0
|
|
||||||
m_AllowMSAA: 1
|
|
||||||
m_AllowDynamicResolution: 0
|
|
||||||
m_ForceIntoRT: 0
|
|
||||||
m_OcclusionCulling: 1
|
|
||||||
m_StereoConvergence: 10
|
|
||||||
m_StereoSeparation: 0.022
|
|
||||||
--- !u!4 &960060047
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 960060042}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &1182347996
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1182347998}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: productList
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1182347998
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1182347996}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0.5, y: 0.05, z: 1}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 4596546}
|
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: c07532603a0e02149afb018e380d6bb6
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!850595691 &4890085278179872738
|
|
||||||
LightingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: DFSplashLightSettings
|
|
||||||
serializedVersion: 3
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_RealtimeEnvironmentLighting: 1
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_UsingShadowmask: 0
|
|
||||||
m_BakeBackend: 0
|
|
||||||
m_LightmapMaxSize: 1024
|
|
||||||
m_BakeResolution: 50
|
|
||||||
m_Padding: 2
|
|
||||||
m_TextureCompression: 0
|
|
||||||
m_AO: 1
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 1
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAO: 0
|
|
||||||
m_MixedBakeMode: 1
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_FilterMode: 1
|
|
||||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_RealtimeResolution: 1
|
|
||||||
m_ForceWhiteAlbedo: 0
|
|
||||||
m_ForceUpdates: 0
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVREnvironmentSampleCount: 512
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVRMinBounces: 2
|
|
||||||
m_PVREnvironmentMIS: 0
|
|
||||||
m_PVRFilteringMode: 0
|
|
||||||
m_PVRDenoiserTypeDirect: 0
|
|
||||||
m_PVRDenoiserTypeIndirect: 0
|
|
||||||
m_PVRDenoiserTypeAO: 0
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 2d3c86df094c441378837533d6b7dcb6
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 4890085278179872738
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: b1316d48c2f8545edb5331a6428f277c
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!21 &2100000
|
|
||||||
Material:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: SplashDark
|
|
||||||
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_ShaderKeywords:
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _MainTex:
|
|
||||||
m_Texture: {fileID: 2800000, guid: b1f1de25cd92b234f9ac044291736bce, type: 3}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Floats: []
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8ad9f8ccfc7201d4daa411af2aa69af6
|
|
||||||
NativeFormatImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!21 &2100000
|
|
||||||
Material:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: SplashLight
|
|
||||||
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_ShaderKeywords:
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _MainTex:
|
|
||||||
m_Texture: {fileID: 2800000, guid: ff8dd18f2f10d284ab6434824157a6fb, type: 3}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Floats: []
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 226e4c6d02e72d945bc9cccc8b6615c1
|
|
||||||
NativeFormatImporter:
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 5412c26a53d5b459eb88dd284f716800
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
/* Copyright (C) 2014 DaikonForge */
|
|
||||||
|
|
||||||
using UnityEngine;
|
|
||||||
using System.Collections;
|
|
||||||
|
|
||||||
namespace DaikonForge
|
|
||||||
{
|
|
||||||
public class SplashScreen : MonoBehaviour
|
|
||||||
{
|
|
||||||
public float SplashDuration = 3.5f;
|
|
||||||
public string LoadScene = "";
|
|
||||||
|
|
||||||
IEnumerator Start()
|
|
||||||
{
|
|
||||||
if( string.IsNullOrEmpty( LoadScene ) )
|
|
||||||
{
|
|
||||||
Debug.LogWarning( "SplashScreen: Load scene not set" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
yield return new WaitForSeconds( SplashDuration );
|
|
||||||
Application.LoadLevel( LoadScene );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 4d03e230922d32a4085e4e8f8ff663b7
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: d8caead97e402431ca08662289d2bea6
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 17 KiB |
|
|
@ -1,45 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: f57f8c038f00f934782c10c54e9fb8c5
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 1024
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: -1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: -1
|
|
||||||
nPOTScale: 1
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 0
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: .5, y: .5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
alphaIsTransparency: 0
|
|
||||||
textureType: -1
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
Before Width: | Height: | Size: 46 KiB |
|
|
@ -1,45 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: b1f1de25cd92b234f9ac044291736bce
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: 1
|
|
||||||
nPOTScale: 2
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 0
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: .5, y: .5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
alphaIsTransparency: 0
|
|
||||||
textureType: 5
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
Before Width: | Height: | Size: 39 KiB |
|
|
@ -1,45 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ff8dd18f2f10d284ab6434824157a6fb
|
|
||||||
TextureImporter:
|
|
||||||
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
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: -1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
filterMode: -1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: -1
|
|
||||||
wrapMode: 1
|
|
||||||
nPOTScale: 2
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 0
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: .5, y: .5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
alphaIsTransparency: 0
|
|
||||||
textureType: 5
|
|
||||||
buildTargetSettings: []
|
|
||||||
spriteSheet:
|
|
||||||
sprites: []
|
|
||||||
spritePackingTag:
|
|
||||||
userData:
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
public class FixedArray
|
||||||
|
{
|
||||||
|
|
||||||
|
public byte[] array;
|
||||||
|
public int count;
|
||||||
|
|
||||||
|
public FixedArray(int max)
|
||||||
|
{
|
||||||
|
array = new byte[max];
|
||||||
|
count = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 88ee76310a60b4cacb8c0451a7cb444a
|
guid: f944d0dfd77614440ac63de40d533bbe
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||