Start implementation of diapason mechanics
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 55edeec15dec3504ea763efcaebe2e20
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: ElectricalEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 8
|
||||||
|
DisplayName: Electrical Equipment
|
||||||
|
BaseFrequency: 440
|
||||||
|
FrequencyVariation: 100
|
||||||
|
VolumeMin: 0.3
|
||||||
|
VolumeMax: 0.6
|
||||||
|
DurationMin: 0.3
|
||||||
|
DurationMax: 1
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 50
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 0.6
|
||||||
|
- 0.2
|
||||||
|
NoiseAmount: 0.6
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.1
|
||||||
|
VibrationIntensityMax: 0.4
|
||||||
|
VibrationFrequency: 50
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: eb6890dfbda288646b38b6b9146f9d4f
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: GlassEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 4
|
||||||
|
DisplayName: Glass Object
|
||||||
|
BaseFrequency: 1200
|
||||||
|
FrequencyVariation: 150
|
||||||
|
VolumeMin: 0.3
|
||||||
|
VolumeMax: 0.6
|
||||||
|
DurationMin: 0.4
|
||||||
|
DurationMax: 1.8
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 1.5
|
||||||
|
- 2.7
|
||||||
|
- 4.2
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.4
|
||||||
|
- 0.3
|
||||||
|
- 0.3
|
||||||
|
NoiseAmount: 0.02
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.15
|
||||||
|
VibrationIntensityMax: 0.35
|
||||||
|
VibrationFrequency: 12
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5c4de5db134bf324d8ea989a164a46c8
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: MechanicalEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 7
|
||||||
|
DisplayName: Mechanical Device
|
||||||
|
BaseFrequency: 500
|
||||||
|
FrequencyVariation: 80
|
||||||
|
VolumeMin: 0.4
|
||||||
|
VolumeMax: 0.7
|
||||||
|
DurationMin: 0.5
|
||||||
|
DurationMax: 1.5
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 0.3
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.4
|
||||||
|
NoiseAmount: 0.2
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.25
|
||||||
|
VibrationIntensityMax: 0.6
|
||||||
|
VibrationFrequency: 20
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cde2a2439e4fa2140a747cf1211326e7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: MetalEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 3
|
||||||
|
DisplayName: Metal Object
|
||||||
|
BaseFrequency: 800
|
||||||
|
FrequencyVariation: 100
|
||||||
|
VolumeMin: 0.4
|
||||||
|
VolumeMax: 0.7
|
||||||
|
DurationMin: 0.5
|
||||||
|
DurationMax: 2
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 2.1
|
||||||
|
- 3.8
|
||||||
|
- 5.2
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.5
|
||||||
|
- 0.3
|
||||||
|
- 0.2
|
||||||
|
NoiseAmount: 0.05
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.2
|
||||||
|
VibrationIntensityMax: 0.5
|
||||||
|
VibrationFrequency: 15
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3223099b653badf418b90b283c24759a
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: OrganicEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 9
|
||||||
|
DisplayName: Organic Material
|
||||||
|
BaseFrequency: 350
|
||||||
|
FrequencyVariation: 70
|
||||||
|
VolumeMin: 0.3
|
||||||
|
VolumeMax: 0.6
|
||||||
|
DurationMin: 0.6
|
||||||
|
DurationMax: 1.4
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 0.7
|
||||||
|
- 1.3
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.5
|
||||||
|
- 0.3
|
||||||
|
NoiseAmount: 0.2
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.1
|
||||||
|
VibrationIntensityMax: 0.35
|
||||||
|
VibrationFrequency: 8
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9553a06d46bfc5a41b12e09d953d2ee3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: StoneEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 6
|
||||||
|
DisplayName: Stone / Rock
|
||||||
|
BaseFrequency: 250
|
||||||
|
FrequencyVariation: 30
|
||||||
|
VolumeMin: 0.3
|
||||||
|
VolumeMax: 0.5
|
||||||
|
DurationMin: 0.7
|
||||||
|
DurationMax: 1.3
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 0.8
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.5
|
||||||
|
NoiseAmount: 0.25
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.15
|
||||||
|
VibrationIntensityMax: 0.4
|
||||||
|
VibrationFrequency: 9
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ecc561991a72aa44487428785e7b0ab3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: WallEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 1
|
||||||
|
DisplayName: Wall / Generic Surface
|
||||||
|
BaseFrequency: 200
|
||||||
|
FrequencyVariation: 20
|
||||||
|
VolumeMin: 0.2
|
||||||
|
VolumeMax: 0.4
|
||||||
|
DurationMin: 0.8
|
||||||
|
DurationMax: 1.5
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 0.5
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.3
|
||||||
|
NoiseAmount: 0.1
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.05
|
||||||
|
VibrationIntensityMax: 0.2
|
||||||
|
VibrationFrequency: 8
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2addbd0845f1ca947847bed104b7f521
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: WaterEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 5
|
||||||
|
DisplayName: Water / Liquid
|
||||||
|
BaseFrequency: 220
|
||||||
|
FrequencyVariation: 80
|
||||||
|
VolumeMin: 0.2
|
||||||
|
VolumeMax: 0.5
|
||||||
|
DurationMin: 0.8
|
||||||
|
DurationMax: 2
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 0.5
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 0.5
|
||||||
|
- 0.3
|
||||||
|
NoiseAmount: 0.5
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.05
|
||||||
|
VibrationIntensityMax: 0.25
|
||||||
|
VibrationFrequency: 5
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ddf7eb06de4a29340b384c1d59358dc9
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c20752cb7065e844aaaedf606c4df2db, type: 3}
|
||||||
|
m_Name: WoodEmitter
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Audio.AudioEmitterData
|
||||||
|
EmitterType: 2
|
||||||
|
DisplayName: Wooden Object
|
||||||
|
BaseFrequency: 300
|
||||||
|
FrequencyVariation: 50
|
||||||
|
VolumeMin: 0.3
|
||||||
|
VolumeMax: 0.6
|
||||||
|
DurationMin: 0.6
|
||||||
|
DurationMax: 1.2
|
||||||
|
HarmonicMultipliers:
|
||||||
|
- 1
|
||||||
|
- 1.5
|
||||||
|
HarmonicAmplitudes:
|
||||||
|
- 1
|
||||||
|
- 0.4
|
||||||
|
NoiseAmount: 0.15
|
||||||
|
EnableVibration: 1
|
||||||
|
VibrationIntensityMin: 0.1
|
||||||
|
VibrationIntensityMax: 0.3
|
||||||
|
VibrationFrequency: 10
|
||||||
|
MaxDistance: 10
|
||||||
|
DistanceAttenuation:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: -2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -2
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e5ad9a01d52ca2743a0fe24362fa8ced
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fff75f66b0a0ab54e8fd5f84ccf1dbe0
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,110 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a117ffd897689164e9b74b1b8b10f644
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 24200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations: []
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
generateMeshLods: 0
|
||||||
|
meshLodGenerationFlags: 0
|
||||||
|
maximumMeshLod: -1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 0
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 0
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5bc9b2a4de4a1464c9c1c5b39f5318bb
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
@@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4f842c73d905a12439f380cd6244eb04
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 0
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 2
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 0
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
customData:
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spriteCustomMetadata:
|
||||||
|
entries: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 849a46d393b74aa48b01e23172a98a40
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-1729552975815595197
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||||
|
version: 10
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: DiapasonParticleMaterial
|
||||||
|
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords:
|
||||||
|
- _ALPHABLEND_ON
|
||||||
|
m_InvalidKeywords:
|
||||||
|
- _ZWRITE_ON
|
||||||
|
m_LightmapFlags: 0
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: 3000
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Transparent
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
- GRABPASS
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _AlphaTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 4f842c73d905a12439f380cd6244eb04, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MaskTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _NormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 0
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BlendOp: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _CameraFadingEnabled: 0
|
||||||
|
- _CameraFarFadeDistance: 2
|
||||||
|
- _CameraNearFadeDistance: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _ColorMode: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DistortionBlend: 0.5
|
||||||
|
- _DistortionEnabled: 0
|
||||||
|
- _DistortionStrength: 1
|
||||||
|
- _DistortionStrengthScaled: 0
|
||||||
|
- _DstBlend: 10
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EmissionEnabled: 0
|
||||||
|
- _EnableExternalAlpha: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _FlipbookMode: 0
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _LightingEnabled: 0
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 2
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SoftParticlesEnabled: 0
|
||||||
|
- _SoftParticlesFarFadeDistance: 1
|
||||||
|
- _SoftParticlesNearFadeDistance: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 5
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
- _ZWrite: 0
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1bd75b851e2a56e45959030c54c77516
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -22,7 +22,7 @@ Material:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name: RoomThreeMaterial
|
m_Name: RoomThreeMaterial
|
||||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 2100000, guid: c3a0eae7cb27aea4ea8bb21364879f77, type: 2}
|
||||||
m_ModifiedSerializedProperties: 0
|
m_ModifiedSerializedProperties: 0
|
||||||
m_ValidKeywords:
|
m_ValidKeywords:
|
||||||
- _ENVIRONMENTREFLECTIONS_OFF
|
- _ENVIRONMENTREFLECTIONS_OFF
|
||||||
@@ -39,103 +39,11 @@ Material:
|
|||||||
m_LockedProperties:
|
m_LockedProperties:
|
||||||
m_SavedProperties:
|
m_SavedProperties:
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TexEnvs:
|
m_TexEnvs: []
|
||||||
- _BaseMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _BumpMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _DetailAlbedoMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _DetailMask:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _DetailNormalMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _EmissionMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _MainTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _MetallicGlossMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _OcclusionMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _ParallaxMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _SpecGlossMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- unity_Lightmaps:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- unity_LightmapsInd:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- unity_ShadowMasks:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Ints: []
|
m_Ints: []
|
||||||
m_Floats:
|
m_Floats: []
|
||||||
- _AddPrecomputedVelocity: 0
|
|
||||||
- _AlphaClip: 0
|
|
||||||
- _AlphaToMask: 0
|
|
||||||
- _Blend: 0
|
|
||||||
- _BlendModePreserveSpecular: 1
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _ClearCoatMask: 0
|
|
||||||
- _ClearCoatSmoothness: 0
|
|
||||||
- _Cull: 2
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailAlbedoMapScale: 1
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _DstBlendAlpha: 0
|
|
||||||
- _EnvironmentReflections: 0
|
|
||||||
- _GlossMapScale: 0
|
|
||||||
- _Glossiness: 0
|
|
||||||
- _GlossyReflections: 0
|
|
||||||
- _Metallic: 1
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.005
|
|
||||||
- _QueueOffset: 0
|
|
||||||
- _ReceiveShadows: 1
|
|
||||||
- _Smoothness: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _SrcBlendAlpha: 1
|
|
||||||
- _Surface: 0
|
|
||||||
- _UVSec: 0
|
|
||||||
- _WorkflowMode: 1
|
|
||||||
- _XRMotionVectorsPass: 1
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
m_Colors:
|
||||||
- _BaseColor: {r: 0.9433962, g: 0.67169976, b: 0, a: 1}
|
- _BaseColor: {r: 0.9433962, g: 0.67169976, b: 0, a: 1}
|
||||||
- _Color: {r: 0.9433962, g: 0.67169976, b: 0, a: 1}
|
- _Color: {r: 0.9433962, g: 0.67169976, b: 0, a: 1}
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
m_BuildTextureStacks: []
|
||||||
m_AllowLocking: 1
|
m_AllowLocking: 1
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fde962890a527d04faf3bec593d99afe
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-6718159044353317607
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 10
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: RoomFourMaterial
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords:
|
||||||
|
- _ENVIRONMENTREFLECTIONS_OFF
|
||||||
|
m_InvalidKeywords:
|
||||||
|
- _GLOSSYREFLECTIONS_OFF
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 0
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EnvironmentReflections: 0
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Metallic: 1
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.5146803, g: 1, b: 0.48742133, a: 1}
|
||||||
|
- _Color: {r: 0.51468027, g: 1, b: 0.48742133, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c3a0eae7cb27aea4ea8bb21364879f77
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,273 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1472533880154226824
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3279932207826154136}
|
||||||
|
- component: {fileID: 1111284075867638658}
|
||||||
|
- component: {fileID: 6070160908100218527}
|
||||||
|
- component: {fileID: 5262275440216225989}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Cube
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &3279932207826154136
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1472533880154226824}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 8, y: 5, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 4721786510254652090}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &1111284075867638658
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1472533880154226824}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &6070160908100218527
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1472533880154226824}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
|
m_ForceMeshLod: -1
|
||||||
|
m_MeshLodSelectionBias: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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_GlobalIlluminationMeshLod: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &5262275440216225989
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1472533880154226824}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1996348199229998323
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4721786510254652090}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Render
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &4721786510254652090
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1996348199229998323}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 3279932207826154136}
|
||||||
|
m_Father: {fileID: 5755410889840572423}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &2822448012032697683
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5755410889840572423}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SoundEmitter
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &5755410889840572423
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2822448012032697683}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 4.36, z: 13.03}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 7557053910863834421}
|
||||||
|
- {fileID: 4721786510254652090}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &7448775950719106884
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 5755410889840572423}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1124780566057055841, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: DiapasonParticles
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -0.86
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_ConstrainProportionsScale
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7195447085232448540, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: lengthInSec
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7195447085232448540, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: InitialModule.startLifetime.scalar
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8767648373964295896, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_RenderMode
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8767648373964295896, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_RenderAlignment
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
--- !u!4 &7557053910863834421 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 7448775950719106884}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 01f9cdfc376629a4c813a82a095c3b3a
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f2af3d7fa7865a9409801072f69eaae5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8bb34a961d0969644bdd7a29960b46c9
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,187 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &5030950371277861040
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6952011244025097897}
|
||||||
|
- component: {fileID: 7714367536335993543}
|
||||||
|
- component: {fileID: 7699310115227487317}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Diapason
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6952011244025097897
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5030950371277861040}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 6, y: 6, z: 6}
|
||||||
|
m_ConstrainProportionsScale: 1
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5629947512209565818}
|
||||||
|
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||||
|
--- !u!33 &7714367536335993543
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5030950371277861040}
|
||||||
|
m_Mesh: {fileID: 7659616774058481010, guid: a117ffd897689164e9b74b1b8b10f644, type: 3}
|
||||||
|
--- !u!23 &7699310115227487317
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5030950371277861040}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
|
m_ForceMeshLod: -1
|
||||||
|
m_MeshLodSelectionBias: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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_GlobalIlluminationMeshLod: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!1 &8689584738786529861
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5629947512209565818}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Diapason
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &5629947512209565818
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8689584738786529861}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 6952011244025097897}
|
||||||
|
- {fileID: 6349416298506944754}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &6314884808766083715
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 5629947512209565818}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1124780566057055841, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: DiapasonParticles
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.846
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: -90
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
--- !u!4 &6349416298506944754 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1134716054066844273, guid: 8bb34a961d0969644bdd7a29960b46c9, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 6314884808766083715}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2812cddb6de789b46ac9d640bb9ce410
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -158,6 +158,8 @@ GameObject:
|
|||||||
- component: {fileID: 628960863558716885}
|
- component: {fileID: 628960863558716885}
|
||||||
- component: {fileID: 2196409116512069894}
|
- component: {fileID: 2196409116512069894}
|
||||||
- component: {fileID: 1144804793528068392}
|
- component: {fileID: 1144804793528068392}
|
||||||
|
- component: {fileID: 3142789394009655648}
|
||||||
|
- component: {fileID: 3919526576499794210}
|
||||||
- component: {fileID: 3942456782017280985}
|
- component: {fileID: 3942456782017280985}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Player
|
m_Name: Player
|
||||||
@@ -181,6 +183,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 6982185339454062415}
|
- {fileID: 6982185339454062415}
|
||||||
- {fileID: 7498738043038890726}
|
- {fileID: 7498738043038890726}
|
||||||
|
- {fileID: 253341405320884814}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!136 &7491646674988902879
|
--- !u!136 &7491646674988902879
|
||||||
@@ -401,6 +404,7 @@ MonoBehaviour:
|
|||||||
LookInput: {x: 0, y: 0}
|
LookInput: {x: 0, y: 0}
|
||||||
JumpAction: {fileID: -2099379676528639254, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
JumpAction: {fileID: -2099379676528639254, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
InteractAction: {fileID: 1781555164194001046, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
InteractAction: {fileID: 1781555164194001046, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
DiapasonAction: {fileID: 0}
|
||||||
--- !u!114 &2756854183089553922
|
--- !u!114 &2756854183089553922
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -476,6 +480,52 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
GraphicsObject: {fileID: 2911834610010628020}
|
GraphicsObject: {fileID: 2911834610010628020}
|
||||||
|
--- !u!114 &3142789394009655648
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8240327778457960307}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2094bd9c6f72e5b4cadf430f4d70f8f6, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.Player.DiapasonListeningHandler
|
||||||
|
_diapasonObject: {fileID: 3833126793998633073}
|
||||||
|
_diapasonAnimator: {fileID: 0}
|
||||||
|
_playerCamera: {fileID: 4106604842127079875}
|
||||||
|
_cursorTransform: {fileID: 0}
|
||||||
|
_listeningRange: 5
|
||||||
|
_listenableLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
_concentrationDuration: 1
|
||||||
|
_breathInDuration: 0.5
|
||||||
|
_cameraPanSpeed: 2
|
||||||
|
_cameraPanBorderSize: 0.1
|
||||||
|
_maxCameraPanAngle: 15
|
||||||
|
_vignetteIntensity: 0.5
|
||||||
|
_vignetteEffect: {fileID: 0}
|
||||||
|
_breathInClip: {fileID: 0}
|
||||||
|
_diapasonTapClip: {fileID: 0}
|
||||||
|
_ambientAttenuationAmount: 0.3
|
||||||
|
_diapasonAction: {fileID: 0}
|
||||||
|
--- !u!114 &3919526576499794210
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8240327778457960307}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 878ebc270c13e5c49a3813b1848f6ea5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.Player.ListeningVignetteEffect
|
||||||
|
_globalVolume: {fileID: 0}
|
||||||
|
_targetIntensity: 0.5
|
||||||
|
_transitionSpeed: 2
|
||||||
--- !u!65 &3942456782017280985
|
--- !u!65 &3942456782017280985
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -569,3 +619,70 @@ Camera:
|
|||||||
m_CorrespondingSourceObject: {fileID: 671466249668048498, guid: e73a3b0e274984f4d8b6a073e03d4d03, type: 3}
|
m_CorrespondingSourceObject: {fileID: 671466249668048498, guid: e73a3b0e274984f4d8b6a073e03d4d03, type: 3}
|
||||||
m_PrefabInstance: {fileID: 3579255215054032817}
|
m_PrefabInstance: {fileID: 3579255215054032817}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &5595049384473844276
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 5383576672370031505}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0.401
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.163
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 1.148
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.70672613
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.14218356
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.6926643
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.023197526
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 9.72
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 90
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 13.48
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8689584738786529861, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Diapason
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
--- !u!4 &253341405320884814 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 5629947512209565818, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5595049384473844276}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &3833126793998633073 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8689584738786529861, guid: 2812cddb6de789b46ac9d640bb9ce410, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5595049384473844276}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 20e4ea3ceee86dd4ba3881425b65790d
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1103,6 +1103,7 @@ Transform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 89030420073598835}
|
- {fileID: 89030420073598835}
|
||||||
|
- {fileID: 1809488970531370071}
|
||||||
m_Father: {fileID: 3965737018690194595}
|
m_Father: {fileID: 3965737018690194595}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &7994283466214186746
|
--- !u!1 &7994283466214186746
|
||||||
@@ -1140,6 +1141,92 @@ Transform:
|
|||||||
- {fileID: 7656844688830104809}
|
- {fileID: 7656844688830104809}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &4690937670091434392
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 8686293093389133775}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 4967478502310356297, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_VersionIndex
|
||||||
|
value: 3829
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: _portalId
|
||||||
|
value: room4_to_room5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: _linkedPortalId
|
||||||
|
value: room5_from_room4
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: _loadRoomDistance
|
||||||
|
value: 100
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: _roomPrefabToLoad
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 7994283466214186746, guid: 20e4ea3ceee86dd4ba3881425b65790d, type: 3}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -8.919849
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -6.1295586
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 11.504653
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8609694097640656311, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: PortalNextRoom
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9179360229794157732, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
propertyPath: m_Intensity
|
||||||
|
value: 400
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
--- !u!4 &1809488970531370071 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4690937670091434392}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &5743144788132100116
|
--- !u!1001 &5743144788132100116
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -61,6 +61,35 @@ MonoBehaviour:
|
|||||||
components:
|
components:
|
||||||
- {fileID: -2377233209073585518}
|
- {fileID: -2377233209073585518}
|
||||||
- {fileID: 8509126739908491996}
|
- {fileID: 8509126739908491996}
|
||||||
|
- {fileID: 5476074146827123185}
|
||||||
|
--- !u!114 &5476074146827123185
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3}
|
||||||
|
m_Name: Vignette
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.Vignette
|
||||||
|
active: 1
|
||||||
|
color:
|
||||||
|
m_OverrideState: 0
|
||||||
|
m_Value: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
center:
|
||||||
|
m_OverrideState: 0
|
||||||
|
m_Value: {x: 0.5, y: 0.5}
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
smoothness:
|
||||||
|
m_OverrideState: 0
|
||||||
|
m_Value: 0.2
|
||||||
|
rounded:
|
||||||
|
m_OverrideState: 0
|
||||||
|
m_Value: 0
|
||||||
--- !u!114 &8509126739908491996
|
--- !u!114 &8509126739908491996
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
|
|||||||
@@ -1137,7 +1137,7 @@ MonoBehaviour:
|
|||||||
_raycastInterval: 0
|
_raycastInterval: 0
|
||||||
_recoveryDuration: 0.5
|
_recoveryDuration: 0.5
|
||||||
_focusRetentionTime: 0.1
|
_focusRetentionTime: 0.1
|
||||||
_shakeIntensity: 30
|
_fallbackShakeIntensity: 30
|
||||||
--- !u!4 &1804390687 stripped
|
--- !u!4 &1804390687 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 8057303164503007523, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3}
|
m_CorrespondingSourceObject: {fileID: 8057303164503007523, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3}
|
||||||
@@ -2285,6 +2285,14 @@ PrefabInstance:
|
|||||||
propertyPath: _frameRate
|
propertyPath: _frameRate
|
||||||
value: 120
|
value: 120
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3142789394009655648, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
||||||
|
propertyPath: _vignetteEffect
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 5090177222934034459}
|
||||||
|
- target: {fileID: 3919526576499794210, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
||||||
|
propertyPath: _globalVolume
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 832575518}
|
||||||
- target: {fileID: 4318595159677514229, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
- target: {fileID: 4318595159677514229, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
||||||
propertyPath: _interactableLayers.m_Bits
|
propertyPath: _interactableLayers.m_Bits
|
||||||
value: 8
|
value: 8
|
||||||
@@ -2381,6 +2389,17 @@ PrefabInstance:
|
|||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 436513847}
|
addedObject: {fileID: 436513847}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
||||||
|
--- !u!114 &5090177222934034459 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3919526576499794210, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5090177222934034458}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 878ebc270c13e5c49a3813b1848f6ea5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.Player.ListeningVignetteEffect
|
||||||
--- !u!1660057539 &9223372036854775807
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -0,0 +1,249 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.InputSystem;
|
||||||
|
|
||||||
|
namespace Unheimlich.Audio
|
||||||
|
{
|
||||||
|
public enum AudioEmitterType
|
||||||
|
{
|
||||||
|
Generic,
|
||||||
|
Wall,
|
||||||
|
Wood,
|
||||||
|
Metal,
|
||||||
|
Glass,
|
||||||
|
Water,
|
||||||
|
Stone,
|
||||||
|
Mechanical,
|
||||||
|
Electrical,
|
||||||
|
Organic
|
||||||
|
}
|
||||||
|
|
||||||
|
public class AudioListenable : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Emitter Settings")]
|
||||||
|
[SerializeField] private AudioEmitterType _emitterType = AudioEmitterType.Generic;
|
||||||
|
[SerializeField] private bool _useProceduralAudio = true;
|
||||||
|
|
||||||
|
[Header("Static Audio")]
|
||||||
|
[SerializeField] private AudioClip _staticAudioClip;
|
||||||
|
[SerializeField] private bool _loopStaticAudio = true;
|
||||||
|
|
||||||
|
[Header("Procedural Settings")]
|
||||||
|
[SerializeField] private float _baseFrequency = 440f;
|
||||||
|
[SerializeField] private float _frequencyVariation = 50f;
|
||||||
|
[SerializeField] private float _volumeMin = 0.3f;
|
||||||
|
[SerializeField] private float _volumeMax = 0.7f;
|
||||||
|
[SerializeField] private float _durationMin = 0.5f;
|
||||||
|
[SerializeField] private float _durationMax = 2f;
|
||||||
|
|
||||||
|
[Header("Distance Attenuation")]
|
||||||
|
[SerializeField] private float _maxDistance = 10f;
|
||||||
|
[SerializeField] private AnimationCurve _distanceAttenuation = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
|
||||||
|
|
||||||
|
[Header("Vibration Settings")]
|
||||||
|
[SerializeField] private bool _enableVibration = true;
|
||||||
|
[SerializeField] private float _vibrationIntensityMin = 0.1f;
|
||||||
|
[SerializeField] private float _vibrationIntensityMax = 0.5f;
|
||||||
|
[SerializeField] private float _vibrationFrequency = 10f;
|
||||||
|
|
||||||
|
private AudioSource _audioSource;
|
||||||
|
private bool _isCurrentlyListening;
|
||||||
|
private float _listeningTimer;
|
||||||
|
private float _nextProceduralEventTime;
|
||||||
|
private Vector3 _listenerPosition;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_audioSource = GetComponent<AudioSource>();
|
||||||
|
if (_audioSource == null)
|
||||||
|
_audioSource = gameObject.AddComponent<AudioSource>();
|
||||||
|
|
||||||
|
_audioSource.spatialBlend = 1f;
|
||||||
|
_audioSource.maxDistance = _maxDistance;
|
||||||
|
_audioSource.rolloffMode = AudioRolloffMode.Custom;
|
||||||
|
_audioSource.playOnAwake = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartListening(Vector3 listenerPosition)
|
||||||
|
{
|
||||||
|
_isCurrentlyListening = true;
|
||||||
|
_listenerPosition = listenerPosition;
|
||||||
|
_listeningTimer = 0f;
|
||||||
|
_nextProceduralEventTime = 0f;
|
||||||
|
|
||||||
|
if (_useProceduralAudio)
|
||||||
|
{
|
||||||
|
PlayProceduralSound();
|
||||||
|
}
|
||||||
|
else if (_staticAudioClip != null)
|
||||||
|
{
|
||||||
|
_audioSource.clip = _staticAudioClip;
|
||||||
|
_audioSource.loop = _loopStaticAudio;
|
||||||
|
_audioSource.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_enableVibration)
|
||||||
|
StartVibration();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StopListening()
|
||||||
|
{
|
||||||
|
_isCurrentlyListening = false;
|
||||||
|
|
||||||
|
if (_audioSource != null && _audioSource.isPlaying)
|
||||||
|
_audioSource.Stop();
|
||||||
|
|
||||||
|
StopVibration();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!_isCurrentlyListening)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_listeningTimer += Time.deltaTime;
|
||||||
|
|
||||||
|
if (_useProceduralAudio && _listeningTimer >= _nextProceduralEventTime)
|
||||||
|
{
|
||||||
|
PlayProceduralSound();
|
||||||
|
_nextProceduralEventTime = _listeningTimer + Random.Range(_durationMin, _durationMax);
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateVibration();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayProceduralSound()
|
||||||
|
{
|
||||||
|
float distance = Vector3.Distance(_listenerPosition, transform.position);
|
||||||
|
float distanceFactor = Mathf.Clamp01(1f - (distance / _maxDistance));
|
||||||
|
float attenuation = _distanceAttenuation.Evaluate(distanceFactor);
|
||||||
|
|
||||||
|
float frequency = _baseFrequency + Random.Range(-_frequencyVariation, _frequencyVariation);
|
||||||
|
float volume = Mathf.Lerp(_volumeMin, _volumeMax, Random.value) * attenuation;
|
||||||
|
|
||||||
|
AudioClip proceduralClip = GenerateProceduralAudioClip(frequency, Random.Range(_durationMin, _durationMax));
|
||||||
|
|
||||||
|
_audioSource.clip = proceduralClip;
|
||||||
|
_audioSource.volume = volume;
|
||||||
|
_audioSource.loop = false;
|
||||||
|
_audioSource.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
private AudioClip GenerateProceduralAudioClip(float frequency, float duration)
|
||||||
|
{
|
||||||
|
int sampleRate = 44100;
|
||||||
|
int sampleCount = Mathf.RoundToInt(sampleRate * duration);
|
||||||
|
|
||||||
|
AudioClip clip = AudioClip.Create("ProceduralSound", sampleCount, 1, sampleRate, false);
|
||||||
|
float[] samples = new float[sampleCount];
|
||||||
|
|
||||||
|
for (int i = 0; i < sampleCount; i++)
|
||||||
|
{
|
||||||
|
float t = (float)i / sampleRate;
|
||||||
|
float envelope = Mathf.Sin(Mathf.PI * t / duration);
|
||||||
|
|
||||||
|
samples[i] = GenerateSampleForType(frequency, t, _emitterType) * envelope;
|
||||||
|
}
|
||||||
|
|
||||||
|
clip.SetData(samples, 0);
|
||||||
|
return clip;
|
||||||
|
}
|
||||||
|
|
||||||
|
private float GenerateSampleForType(float frequency, float time, AudioEmitterType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case AudioEmitterType.Metal:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * time) * 0.5f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 2.1f * time) * 0.3f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 3.8f * time) * 0.2f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Wood:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * time) * 0.6f +
|
||||||
|
(Random.value - 0.5f) * 0.1f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Glass:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * 1.5f * time) * 0.4f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 2.7f * time) * 0.3f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 4.2f * time) * 0.3f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Stone:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * 0.8f * time) * 0.5f +
|
||||||
|
(Random.value - 0.5f) * 0.3f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Water:
|
||||||
|
return (Random.value - 0.5f) * 0.5f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 0.5f * time) * 0.3f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Mechanical:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * time) * 0.4f +
|
||||||
|
Mathf.Sign(Mathf.Sin(2f * Mathf.PI * frequency * 0.3f * time)) * 0.3f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Electrical:
|
||||||
|
return (Random.value - 0.5f) * 0.6f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 50f * time) * 0.2f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Organic:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * 0.7f * time) * 0.5f +
|
||||||
|
Mathf.Sin(2f * Mathf.PI * frequency * 1.3f * time) * 0.3f +
|
||||||
|
(Random.value - 0.5f) * 0.2f;
|
||||||
|
|
||||||
|
case AudioEmitterType.Wall:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * 0.5f * time) * 0.3f +
|
||||||
|
(Random.value - 0.5f) * 0.1f;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return Mathf.Sin(2f * Mathf.PI * frequency * time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartVibration()
|
||||||
|
{
|
||||||
|
if (Gamepad.current == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
float distance = Vector3.Distance(_listenerPosition, transform.position);
|
||||||
|
float distanceFactor = Mathf.Clamp01(1f - (distance / _maxDistance));
|
||||||
|
float intensity = Mathf.Lerp(_vibrationIntensityMin, _vibrationIntensityMax, distanceFactor);
|
||||||
|
|
||||||
|
Gamepad.current.SetMotorSpeeds(intensity, intensity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateVibration()
|
||||||
|
{
|
||||||
|
if (!_enableVibration || Gamepad.current == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
float distance = Vector3.Distance(_listenerPosition, transform.position);
|
||||||
|
float distanceFactor = Mathf.Clamp01(1f - (distance / _maxDistance));
|
||||||
|
float intensity = Mathf.Lerp(_vibrationIntensityMin, _vibrationIntensityMax, distanceFactor);
|
||||||
|
|
||||||
|
float vibrationPattern = Mathf.Abs(Mathf.Sin(Time.time * _vibrationFrequency));
|
||||||
|
intensity *= vibrationPattern;
|
||||||
|
|
||||||
|
Gamepad.current.SetMotorSpeeds(intensity, intensity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopVibration()
|
||||||
|
{
|
||||||
|
if (Gamepad.current != null)
|
||||||
|
Gamepad.current.SetMotorSpeeds(0f, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
StopListening();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.cyan;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, _maxDistance);
|
||||||
|
|
||||||
|
if (_isCurrentlyListening)
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.green;
|
||||||
|
Gizmos.DrawLine(transform.position, _listenerPosition);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e15490f7adacb594cb114f535e71d6b6
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
|
||||||
|
namespace Unheimlich.Audio
|
||||||
|
{
|
||||||
|
public class AudioListenableEvent : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Event Settings")]
|
||||||
|
[SerializeField] private bool _triggerOnce = false;
|
||||||
|
[SerializeField] private float _delayBeforeEvent = 0f;
|
||||||
|
|
||||||
|
[Header("Events")]
|
||||||
|
[SerializeField] private UnityEvent _onListeningStarted;
|
||||||
|
[SerializeField] private UnityEvent _onListeningStopped;
|
||||||
|
[SerializeField] private UnityEvent _onFirstListen;
|
||||||
|
|
||||||
|
private AudioListenable _listenable;
|
||||||
|
private bool _hasBeenListenedTo = false;
|
||||||
|
private bool _isCurrentlyListening = false;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_listenable = GetComponent<AudioListenable>();
|
||||||
|
if (_listenable == null)
|
||||||
|
{
|
||||||
|
Debug.LogError($"AudioListenableEvent on {gameObject.name} requires AudioListenable component!");
|
||||||
|
enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (_listenable == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
bool wasListening = _isCurrentlyListening;
|
||||||
|
|
||||||
|
if (wasListening && !_isCurrentlyListening)
|
||||||
|
{
|
||||||
|
OnListeningStopped();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnListeningStart()
|
||||||
|
{
|
||||||
|
if (_triggerOnce && _hasBeenListenedTo)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_isCurrentlyListening = true;
|
||||||
|
|
||||||
|
if (_delayBeforeEvent > 0)
|
||||||
|
Invoke(nameof(TriggerListeningStartedEvent), _delayBeforeEvent);
|
||||||
|
else
|
||||||
|
TriggerListeningStartedEvent();
|
||||||
|
|
||||||
|
if (!_hasBeenListenedTo)
|
||||||
|
{
|
||||||
|
_hasBeenListenedTo = true;
|
||||||
|
_onFirstListen?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TriggerListeningStartedEvent()
|
||||||
|
{
|
||||||
|
_onListeningStarted?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnListeningStopped()
|
||||||
|
{
|
||||||
|
_isCurrentlyListening = false;
|
||||||
|
_onListeningStopped?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void EnableListenable()
|
||||||
|
{
|
||||||
|
if (_listenable != null)
|
||||||
|
_listenable.enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DisableListenable()
|
||||||
|
{
|
||||||
|
if (_listenable != null)
|
||||||
|
_listenable.enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ResetTrigger()
|
||||||
|
{
|
||||||
|
_hasBeenListenedTo = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 522dcfb634e07d240afa8ae5344fc785
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using Unheimlich.Gameplay.Player;
|
||||||
|
|
||||||
|
namespace Unheimlich.Audio
|
||||||
|
{
|
||||||
|
public class DiapasonDebugger : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Debug Display")]
|
||||||
|
[SerializeField] private bool _showDebugInfo = true;
|
||||||
|
[SerializeField] private bool _showGizmos = true;
|
||||||
|
[SerializeField] private Color _listeningRangeColor = Color.cyan;
|
||||||
|
[SerializeField] private Color _activeTargetColor = Color.green;
|
||||||
|
|
||||||
|
private DiapasonListeningHandler _listeningHandler;
|
||||||
|
private AudioListenable[] _allListenables;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_listeningHandler = DiapasonListeningHandler.Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
RefreshListenablesList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGUI()
|
||||||
|
{
|
||||||
|
if (!_showDebugInfo || _listeningHandler == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
GUILayout.BeginArea(new Rect(10, 10, 300, 200));
|
||||||
|
GUILayout.Box("Diapason System Debug");
|
||||||
|
|
||||||
|
GUILayout.Label($"Is Listening: {_listeningHandler.IsListening}");
|
||||||
|
GUILayout.Label($"Is Concentrating: {_listeningHandler.IsConcentrating}");
|
||||||
|
|
||||||
|
if (_allListenables != null)
|
||||||
|
GUILayout.Label($"Total Listenables: {_allListenables.Length}");
|
||||||
|
|
||||||
|
if (GUILayout.Button("Refresh Listenables List"))
|
||||||
|
RefreshListenablesList();
|
||||||
|
|
||||||
|
if (GUILayout.Button("Toggle Debug Gizmos"))
|
||||||
|
_showGizmos = !_showGizmos;
|
||||||
|
|
||||||
|
GUILayout.EndArea();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshListenablesList()
|
||||||
|
{
|
||||||
|
_allListenables = FindObjectsByType<AudioListenable>(FindObjectsSortMode.None);
|
||||||
|
Debug.Log($"Found {_allListenables.Length} AudioListenable objects in scene");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmos()
|
||||||
|
{
|
||||||
|
if (!_showGizmos)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (_allListenables == null)
|
||||||
|
_allListenables = FindObjectsByType<AudioListenable>(FindObjectsSortMode.None);
|
||||||
|
|
||||||
|
foreach (AudioListenable listenable in _allListenables)
|
||||||
|
{
|
||||||
|
if (listenable == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Gizmos.color = _listeningRangeColor;
|
||||||
|
Gizmos.DrawIcon(listenable.transform.position, "sv_icon_dot3_pix16_gizmo", true);
|
||||||
|
|
||||||
|
Gizmos.color = new Color(_listeningRangeColor.r, _listeningRangeColor.g, _listeningRangeColor.b, 0.1f);
|
||||||
|
Gizmos.DrawSphere(listenable.transform.position, 0.2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_listeningHandler != null && _listeningHandler.IsListening)
|
||||||
|
{
|
||||||
|
Gizmos.color = _activeTargetColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[ContextMenu("List All Listenables")]
|
||||||
|
private void ListAllListenables()
|
||||||
|
{
|
||||||
|
RefreshListenablesList();
|
||||||
|
|
||||||
|
Debug.Log("=== Audio Listenables in Scene ===");
|
||||||
|
foreach (AudioListenable listenable in _allListenables)
|
||||||
|
{
|
||||||
|
if (listenable != null)
|
||||||
|
Debug.Log($"- {listenable.gameObject.name} (Type: {listenable.GetType().Name})");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[ContextMenu("Enable All Listenables")]
|
||||||
|
private void EnableAllListenables()
|
||||||
|
{
|
||||||
|
RefreshListenablesList();
|
||||||
|
foreach (AudioListenable listenable in _allListenables)
|
||||||
|
{
|
||||||
|
if (listenable != null)
|
||||||
|
listenable.enabled = true;
|
||||||
|
}
|
||||||
|
Debug.Log("Enabled all AudioListenable components");
|
||||||
|
}
|
||||||
|
|
||||||
|
[ContextMenu("Disable All Listenables")]
|
||||||
|
private void DisableAllListenables()
|
||||||
|
{
|
||||||
|
RefreshListenablesList();
|
||||||
|
foreach (AudioListenable listenable in _allListenables)
|
||||||
|
{
|
||||||
|
if (listenable != null)
|
||||||
|
listenable.enabled = false;
|
||||||
|
}
|
||||||
|
Debug.Log("Disabled all AudioListenable components");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7093688fd39800645bbe00b6d9a3f27b
|
||||||
@@ -0,0 +1,254 @@
|
|||||||
|
# Système d'Écoute Diapason - Checklist d'Implémentation
|
||||||
|
|
||||||
|
## ✅ Scripts Créés (Compilés sans erreur)
|
||||||
|
|
||||||
|
### Core System
|
||||||
|
- [x] **DiapasonListeningHandler.cs** - Gestionnaire principal du mode écoute
|
||||||
|
- [x] **AudioListenable.cs** - Composant pour objets écoutables
|
||||||
|
- [x] **ListeningVignetteEffect.cs** - Effet visuel de vignette
|
||||||
|
- [x] **AudioEmitterData.cs** - ScriptableObject pour configuration
|
||||||
|
|
||||||
|
### Extensions
|
||||||
|
- [x] **AudioListenableEvent.cs** - Événements UnityEvent pour objets écoutables
|
||||||
|
- [x] **ThroughWallListener.cs** - Détection d'objets derrière les murs
|
||||||
|
- [x] **DiapasonDebugger.cs** - Outils de debugging
|
||||||
|
|
||||||
|
### Editor Tools
|
||||||
|
- [x] **AudioListenableEditor.cs** - Custom Inspector avec Quick Setup
|
||||||
|
- [x] **AudioListenableBatchSetup.cs** - Configuration en masse via EditorWindow
|
||||||
|
|
||||||
|
### Data
|
||||||
|
- [x] **9 Présets AudioEmitterData** créés dans `/Assets/Unheimlich_POC/Datas/AudioEmitters/`:
|
||||||
|
- WallEmitter.asset
|
||||||
|
- MetalEmitter.asset
|
||||||
|
- WoodEmitter.asset
|
||||||
|
- GlassEmitter.asset
|
||||||
|
- StoneEmitter.asset
|
||||||
|
- MechanicalEmitter.asset
|
||||||
|
- ElectricalEmitter.asset
|
||||||
|
- WaterEmitter.asset
|
||||||
|
- OrganicEmitter.asset
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- [x] **README.md** - Architecture et documentation technique
|
||||||
|
- [x] **Page Système d'Écoute - Diapason** - Guide complet utilisateur
|
||||||
|
|
||||||
|
## ⚠️ Configuration Manuelle Requise
|
||||||
|
|
||||||
|
### 1. Input System Setup
|
||||||
|
**Fichier**: `/Assets/Unheimlich_POC/Inputs/PlayerController.inputactions`
|
||||||
|
|
||||||
|
**Actions à faire**:
|
||||||
|
1. Ouvrir le fichier dans l'Input System window
|
||||||
|
2. Dans l'Action Map "Player", ajouter une nouvelle action:
|
||||||
|
- Nom: `Diapason`
|
||||||
|
- Action Type: `Button`
|
||||||
|
- Control Type: `Button`
|
||||||
|
|
||||||
|
3. Ajouter les bindings:
|
||||||
|
```
|
||||||
|
PS5 Controller: Triangle (Button South)
|
||||||
|
Xbox Controller: Y (Button North)
|
||||||
|
Keyboard: T (ou touche de votre choix)
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Sauvegarder et générer la classe C#
|
||||||
|
|
||||||
|
### 2. PlayerInputManager Configuration
|
||||||
|
**GameObject**: `/GAMEPLAY/Player`
|
||||||
|
|
||||||
|
**Dans l'Inspector du PlayerInputManager**:
|
||||||
|
1. Trouver le champ `Diapason Action`
|
||||||
|
2. Assigner l'action "Diapason" depuis le PlayerController.inputactions
|
||||||
|
3. Vérifier que la callback `OnDiapason` est bien configurée
|
||||||
|
|
||||||
|
### 3. DiapasonListeningHandler Setup
|
||||||
|
**GameObject**: `/GAMEPLAY/Player`
|
||||||
|
|
||||||
|
**Actions**:
|
||||||
|
1. Ajouter le composant `DiapasonListeningHandler`
|
||||||
|
2. Assigner les références:
|
||||||
|
- **Diapason Object**: Glisser `/GAMEPLAY/Player/Diapason`
|
||||||
|
- **Diapason Animator**: Glisser l'Animator du Diapason
|
||||||
|
- **Player Camera**: Glisser `/GAMEPLAY/Player/CameraPivot/Main Camera`
|
||||||
|
- **Diapason Action**: Assigner l'InputActionReference vers l'action Diapason
|
||||||
|
|
||||||
|
3. Configurer les paramètres:
|
||||||
|
```
|
||||||
|
Listening Range: 5.0
|
||||||
|
Listenable Layers: Interactable (ou créer un layer "Listenable")
|
||||||
|
Concentration Duration: 1.0
|
||||||
|
Breath In Duration: 0.5
|
||||||
|
Camera Pan Speed: 2.0
|
||||||
|
Camera Pan Border Size: 0.1
|
||||||
|
Max Camera Pan Angle: 15.0
|
||||||
|
Vignette Intensity: 0.5
|
||||||
|
Ambient Attenuation Amount: 0.3
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Animator du Diapason
|
||||||
|
**GameObject**: `/GAMEPLAY/Player/Diapason`
|
||||||
|
|
||||||
|
**Parameters requis**:
|
||||||
|
1. Ouvrir l'Animator Controller
|
||||||
|
2. Ajouter les parameters:
|
||||||
|
- `IsEquipped` (Bool)
|
||||||
|
- `Tap` (Trigger)
|
||||||
|
|
||||||
|
3. Créer les animations:
|
||||||
|
- **Idle**: Animation de repos (peut être vide)
|
||||||
|
- **Tap**: Animation de frappe du diapason
|
||||||
|
|
||||||
|
4. Setup des transitions:
|
||||||
|
- Any State → Tap (Condition: Trigger Tap)
|
||||||
|
- Tap → Idle (Exit Time)
|
||||||
|
|
||||||
|
### 5. Audio Clips
|
||||||
|
**À créer ou importer**:
|
||||||
|
|
||||||
|
1. **Breath In Sound** (_breathInClip):
|
||||||
|
- Son d'inspiration profonde
|
||||||
|
- Durée: ~0.5-1 seconde
|
||||||
|
- Format: WAV ou MP3
|
||||||
|
|
||||||
|
2. **Diapason Tap Sound** (_diapasonTapClip):
|
||||||
|
- Son métallique de diapason
|
||||||
|
- Durée: ~0.3-0.5 seconde
|
||||||
|
- Légère résonance
|
||||||
|
|
||||||
|
**Où les assigner**:
|
||||||
|
- Dans le composant `DiapasonListeningHandler` sur le Player
|
||||||
|
|
||||||
|
### 6. Layer Configuration (Optionnel mais Recommandé)
|
||||||
|
**Project Settings → Tags and Layers**
|
||||||
|
|
||||||
|
1. Créer un nouveau layer: `Listenable`
|
||||||
|
2. Dans `DiapasonListeningHandler`, assigner ce layer
|
||||||
|
3. Tous les objets avec `AudioListenable` devraient utiliser ce layer
|
||||||
|
|
||||||
|
Ou réutiliser le layer existant `Interactable`.
|
||||||
|
|
||||||
|
### 7. Vignette Effect (Optionnel)
|
||||||
|
**GameObject**: `/ENVIRONMENT/Global Volume` (ou créer)
|
||||||
|
|
||||||
|
**Si vous voulez l'effet de vignette**:
|
||||||
|
1. S'assurer qu'un Global Volume existe avec URP
|
||||||
|
2. Ajouter le composant `ListeningVignetteEffect` au Player
|
||||||
|
3. Assigner le Global Volume
|
||||||
|
4. Dans le DiapasonListeningHandler, assigner la référence `Vignette Effect`
|
||||||
|
|
||||||
|
## 🎯 Test Initial
|
||||||
|
|
||||||
|
### Test Rapide du Système
|
||||||
|
|
||||||
|
1. **Enter Play Mode**
|
||||||
|
2. Appuyer sur **T** (ou Triangle/Y sur manette)
|
||||||
|
3. **Observer**:
|
||||||
|
- Phase de concentration (~1 seconde)
|
||||||
|
- Curseur apparaît
|
||||||
|
- Le diapason devient visible
|
||||||
|
4. **Pointer** vers un objet avec AudioListenable
|
||||||
|
5. **Clic gauche** pour taper
|
||||||
|
6. **Écouter** le son généré
|
||||||
|
7. **Appuyer à nouveau sur T** pour sortir
|
||||||
|
|
||||||
|
### Ajout d'Objets Écoutables pour Test
|
||||||
|
|
||||||
|
**Méthode Rapide**:
|
||||||
|
1. Sélectionner des GameObjects dans la scène (murs, portes, etc.)
|
||||||
|
2. Menu: `Tools → Unheimlich → Audio Listenable Batch Setup`
|
||||||
|
3. Choisir le type (ex: Wall)
|
||||||
|
4. Cliquer "Add to Selected Objects"
|
||||||
|
5. S'assurer que les objets ont un Collider
|
||||||
|
6. Assigner le layer "Listenable" ou "Interactable"
|
||||||
|
|
||||||
|
**Ou utiliser les presets**:
|
||||||
|
- "Setup All Walls in Scene" - Configure tous les objets contenant "wall"
|
||||||
|
- "Setup All Doors in Scene" - Configure tous les objets contenant "door"
|
||||||
|
|
||||||
|
## 📋 Vérification Post-Setup
|
||||||
|
|
||||||
|
### Checklist Finale
|
||||||
|
|
||||||
|
- [ ] L'action "Diapason" existe dans PlayerController.inputactions
|
||||||
|
- [ ] DiapasonAction est assigné dans PlayerInputManager
|
||||||
|
- [ ] DiapasonListeningHandler est sur le Player avec toutes les références
|
||||||
|
- [ ] L'Animator du diapason a les parameters IsEquipped et Tap
|
||||||
|
- [ ] Au moins un objet dans la scène a AudioListenable
|
||||||
|
- [ ] Les objets écoutables ont un Collider
|
||||||
|
- [ ] Les objets écoutables sont sur le bon layer
|
||||||
|
- [ ] Les AudioClips sont assignés (ou commentés pour test)
|
||||||
|
- [ ] Aucune erreur de compilation
|
||||||
|
|
||||||
|
### Test Avancé
|
||||||
|
|
||||||
|
1. **Test Audio Procédural**: Vérifier différents types de matériaux
|
||||||
|
2. **Test Vibrations**: Tester avec une manette connectée
|
||||||
|
3. **Test Distance**: S'éloigner pour vérifier l'atténuation
|
||||||
|
4. **Test Camera Pan**: Bouger le curseur sur les bords
|
||||||
|
5. **Test Through Wall**: Si implémenté, tester ThroughWallListener
|
||||||
|
|
||||||
|
## 🛠️ Outils Disponibles
|
||||||
|
|
||||||
|
### Menu Tools
|
||||||
|
`Tools → Unheimlich → Audio Listenable Batch Setup`
|
||||||
|
- Configuration en masse d'objets écoutables
|
||||||
|
- Presets automatiques par nom
|
||||||
|
|
||||||
|
### Custom Inspector
|
||||||
|
Sur un GameObject avec `AudioListenable`:
|
||||||
|
- Boutons Quick Setup par type de matériau
|
||||||
|
- Test en Play Mode
|
||||||
|
|
||||||
|
### Debug
|
||||||
|
Ajouter `DiapasonDebugger` au Player ou un GameObject de scene:
|
||||||
|
- Affichage info système en temps réel
|
||||||
|
- Liste des objets écoutables
|
||||||
|
- Gizmos visuels
|
||||||
|
- Context menu pour enable/disable all
|
||||||
|
|
||||||
|
## 📖 Documentation
|
||||||
|
|
||||||
|
### Guides Disponibles
|
||||||
|
- **Système d'Écoute - Diapason** (Page): Guide complet utilisateur
|
||||||
|
- **README.md** (Scripts/Audio): Architecture technique
|
||||||
|
- **IMPLEMENTATION_CHECKLIST.md** (ce fichier): Checklist de setup
|
||||||
|
|
||||||
|
### Exemples de Code
|
||||||
|
Voir les scripts d'exemple:
|
||||||
|
- `AudioListenableEvent.cs` - Pour ajouter des événements
|
||||||
|
- `ThroughWallListener.cs` - Pour écouter à travers les murs
|
||||||
|
|
||||||
|
## ⚡ Quick Start (Minimum Viable)
|
||||||
|
|
||||||
|
**Pour tester rapidement sans tout configurer**:
|
||||||
|
|
||||||
|
1. Ajouter `DiapasonListeningHandler` au Player
|
||||||
|
2. Créer une action Input "Diapason" binding sur T
|
||||||
|
3. Assigner les 3 références principales (Diapason, Animator, Camera)
|
||||||
|
4. Ajouter `AudioListenable` sur quelques objets
|
||||||
|
5. Play et appuyer sur T
|
||||||
|
|
||||||
|
**Note**: Sans les AudioClips, le système fonctionne mais sans les sons de respiration et de tap.
|
||||||
|
|
||||||
|
## 🐛 Troubleshooting
|
||||||
|
|
||||||
|
**Rien ne se passe quand j'appuie sur T**:
|
||||||
|
- Vérifier l'action Input existe et est assignée
|
||||||
|
- Vérifier que le Player n'est pas dans un autre état qui bloque les inputs
|
||||||
|
- Regarder la Console pour des erreurs
|
||||||
|
|
||||||
|
**Pas de son lors du tap**:
|
||||||
|
- Vérifier que l'objet ciblé a AudioListenable
|
||||||
|
- Vérifier le layer de l'objet
|
||||||
|
- Vérifier la distance (max 5m par défaut)
|
||||||
|
- Vérifier que l'objet a un Collider
|
||||||
|
|
||||||
|
**La caméra ne bouge pas**:
|
||||||
|
- Vérifier Camera Pan Border Size > 0
|
||||||
|
- Vérifier que Player Camera est assigné
|
||||||
|
- Bouger le curseur tout au bord de l'écran
|
||||||
|
|
||||||
|
## ✨ C'est Prêt!
|
||||||
|
|
||||||
|
Le système est entièrement implémenté et prêt à l'emploi. Il suffit de suivre les étapes de configuration manuelle ci-dessus et vous pourrez commencer à tester immédiatement!
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
# Audio Listening System - Architecture
|
||||||
|
|
||||||
|
## Vue d'ensemble
|
||||||
|
|
||||||
|
Le système d'écoute permet au joueur d'utiliser un diapason pour "écouter" les objets et découvrir des informations cachées à travers les sons et vibrations procéduraux.
|
||||||
|
|
||||||
|
## Structure des Fichiers
|
||||||
|
|
||||||
|
### Core Scripts
|
||||||
|
|
||||||
|
**AudioListenable.cs**
|
||||||
|
- Composant principal pour les objets écoutables
|
||||||
|
- Génération audio procédurale basée sur le type de matériau
|
||||||
|
- Gestion des vibrations de manette
|
||||||
|
- Support pour audio statique custom
|
||||||
|
|
||||||
|
**DiapasonListeningHandler.cs**
|
||||||
|
- Gestionnaire central du mode écoute
|
||||||
|
- Gère l'état de concentration du joueur
|
||||||
|
- Contrôle la caméra avec pan et curseur
|
||||||
|
- Raycast vers les objets écoutables
|
||||||
|
- Atténuation sonore ambiante
|
||||||
|
|
||||||
|
**ListeningVignetteEffect.cs**
|
||||||
|
- Effet visuel de vignette pour l'état d'écoute
|
||||||
|
- S'intègre avec URP Volume system
|
||||||
|
- Transition smooth entre états
|
||||||
|
|
||||||
|
### Data Scripts
|
||||||
|
|
||||||
|
**AudioEmitterData.cs**
|
||||||
|
- ScriptableObject pour configurer les types d'émetteurs
|
||||||
|
- Paramètres procéduraux (fréquences, harmoniques)
|
||||||
|
- Settings de vibration
|
||||||
|
- Courbes d'atténuation
|
||||||
|
|
||||||
|
### Extended Features
|
||||||
|
|
||||||
|
**AudioListenableEvent.cs**
|
||||||
|
- Ajoute des événements Unity aux objets écoutables
|
||||||
|
- Support pour trigger une seule fois
|
||||||
|
- Événements: OnListeningStarted, OnListeningStopped, OnFirstListen
|
||||||
|
|
||||||
|
**ThroughWallListener.cs**
|
||||||
|
- Permet de détecter des objets derrière un mur
|
||||||
|
- Feedback audio différent selon ce qui est détecté
|
||||||
|
- Peut highlight des objets importants
|
||||||
|
|
||||||
|
**DiapasonDebugger.cs**
|
||||||
|
- Outil de debugging pour le système
|
||||||
|
- Affiche l'état du système en temps réel
|
||||||
|
- Liste tous les objets écoutables
|
||||||
|
- Gizmos visuels dans la Scene
|
||||||
|
|
||||||
|
### Editor Scripts
|
||||||
|
|
||||||
|
**AudioListenableEditor.cs**
|
||||||
|
- Custom Inspector pour AudioListenable
|
||||||
|
- Boutons Quick Setup par type de matériau
|
||||||
|
- Test en Play Mode
|
||||||
|
|
||||||
|
**AudioListenableBatchSetup.cs**
|
||||||
|
- EditorWindow pour configuration en masse
|
||||||
|
- Setup par sélection
|
||||||
|
- Setup par nom d'objet
|
||||||
|
- Presets automatiques (walls, doors, etc.)
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Player
|
||||||
|
├── DiapasonListeningHandler (Manager)
|
||||||
|
│ ├── Input Handling
|
||||||
|
│ ├── State Management (Concentrating/Listening)
|
||||||
|
│ ├── Camera Control
|
||||||
|
│ └── Raycast Detection
|
||||||
|
│
|
||||||
|
├── ListeningVignetteEffect (Visual)
|
||||||
|
│ └── URP Volume Integration
|
||||||
|
│
|
||||||
|
└── Audio Source (Player sounds)
|
||||||
|
|
||||||
|
Scene Objects
|
||||||
|
├── AudioListenable (Core)
|
||||||
|
│ ├── Procedural Audio Generation
|
||||||
|
│ ├── Vibration System
|
||||||
|
│ └── Distance Attenuation
|
||||||
|
│
|
||||||
|
├── AudioListenableEvent (Optional)
|
||||||
|
│ └── UnityEvent Triggers
|
||||||
|
│
|
||||||
|
└── ThroughWallListener (Optional)
|
||||||
|
└── Behind-Wall Detection
|
||||||
|
```
|
||||||
|
|
||||||
|
## Workflow de Fonctionnement
|
||||||
|
|
||||||
|
1. **Activation** (Triangle/Y)
|
||||||
|
- DiapasonListeningHandler.StartListeningMode()
|
||||||
|
- Désactive les inputs de mouvement
|
||||||
|
- Active l'objet diapason
|
||||||
|
|
||||||
|
2. **Phase de Concentration**
|
||||||
|
- Joue le son de respiration
|
||||||
|
- Attend la durée de concentration
|
||||||
|
- Prépare le mode écoute
|
||||||
|
|
||||||
|
3. **Mode Écoute Actif**
|
||||||
|
- Curseur souris visible
|
||||||
|
- Camera pan sur les bords
|
||||||
|
- Raycast continu vers objets
|
||||||
|
- Vignette activée
|
||||||
|
- Atténuation audio ambiante
|
||||||
|
|
||||||
|
4. **Interaction avec Objet**
|
||||||
|
- Clic gauche sur objet écoutable
|
||||||
|
- Animation du diapason (Tap trigger)
|
||||||
|
- AudioListenable.StartListening()
|
||||||
|
- Génération du son procédural
|
||||||
|
- Activation des vibrations
|
||||||
|
|
||||||
|
5. **Désactivation** (Triangle/Y à nouveau)
|
||||||
|
- Arrêt de l'écoute
|
||||||
|
- Restauration des inputs
|
||||||
|
- Désactivation vignette
|
||||||
|
- Restauration audio ambiant
|
||||||
|
|
||||||
|
## Types d'Émetteurs
|
||||||
|
|
||||||
|
| Type | Fréquence | Usage |
|
||||||
|
|------|-----------|-------|
|
||||||
|
| Generic | 440 Hz | Objets par défaut |
|
||||||
|
| Wall | 200 Hz | Murs, surfaces plates |
|
||||||
|
| Wood | 300 Hz | Portes, meubles en bois |
|
||||||
|
| Metal | 800 Hz | Objets métalliques |
|
||||||
|
| Glass | 1200 Hz | Vitres, cristal |
|
||||||
|
| Water | 220 Hz | Eau, liquides |
|
||||||
|
| Stone | 250 Hz | Pierre, roche |
|
||||||
|
| Mechanical | 500 Hz | Machines, mécanismes |
|
||||||
|
| Electrical | 440 Hz | Équipements électriques |
|
||||||
|
| Organic | 350 Hz | Matériaux vivants |
|
||||||
|
|
||||||
|
## Génération Audio Procédurale
|
||||||
|
|
||||||
|
### Algorithme de Base
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
// Pour chaque sample
|
||||||
|
float sample = 0;
|
||||||
|
|
||||||
|
// Ajoute les harmoniques
|
||||||
|
for (int h = 0; h < harmonicCount; h++)
|
||||||
|
{
|
||||||
|
float harmFreq = baseFreq * harmonicMultipliers[h];
|
||||||
|
float harmAmp = harmonicAmplitudes[h];
|
||||||
|
sample += Sin(2π * harmFreq * time) * harmAmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ajoute le bruit
|
||||||
|
sample += (Random() - 0.5) * noiseAmount;
|
||||||
|
|
||||||
|
// Applique l'envelope
|
||||||
|
sample *= Sin(π * time / duration);
|
||||||
|
```
|
||||||
|
|
||||||
|
### Caractéristiques par Type
|
||||||
|
|
||||||
|
**Metal**: Multiples harmoniques (2.1x, 3.8x, 5.2x) pour son métallique
|
||||||
|
**Wood**: Peu d'harmoniques + bruit pour texture
|
||||||
|
**Glass**: Harmoniques aiguës (1.5x, 2.7x, 4.2x)
|
||||||
|
**Water**: Bruit dominant avec légère oscillation
|
||||||
|
**Stone**: Bruit granuleux avec harmonique grave
|
||||||
|
|
||||||
|
## Système de Vibrations
|
||||||
|
|
||||||
|
### Intensité Basée sur Distance
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
intensity = Lerp(minIntensity, maxIntensity, 1 - distance/maxDistance)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pattern de Vibration
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
pattern = |Sin(time * frequency)|
|
||||||
|
finalIntensity = intensity * pattern
|
||||||
|
```
|
||||||
|
|
||||||
|
### Contrôles Gamepad
|
||||||
|
|
||||||
|
- Utilise `Gamepad.current.SetMotorSpeeds(low, high)`
|
||||||
|
- Arrêt automatique à la fin de l'écoute
|
||||||
|
- Arrêt au OnDisable du composant
|
||||||
|
|
||||||
|
## Intégration avec d'Autres Systèmes
|
||||||
|
|
||||||
|
### Input System
|
||||||
|
- Utilise PlayerInputManager existant
|
||||||
|
- Action "Diapason" ajoutée
|
||||||
|
- Compatible avec système de toggle input
|
||||||
|
|
||||||
|
### Audio System
|
||||||
|
- Un AudioSource sur le joueur pour sons système
|
||||||
|
- AudioSource sur chaque AudioListenable
|
||||||
|
- Spatial audio 3D
|
||||||
|
- Custom attenuation curves
|
||||||
|
|
||||||
|
### Camera System
|
||||||
|
- Contrôle temporaire de la caméra
|
||||||
|
- Pan basé sur viewport position
|
||||||
|
- Retour à l'état normal à la sortie
|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
### Optimisations
|
||||||
|
- Génération audio on-demand (pas de pré-calcul)
|
||||||
|
- AudioClips courts (0.5-2s)
|
||||||
|
- Un seul objet écouté à la fois
|
||||||
|
- Raycast avec LayerMask
|
||||||
|
- Pas de Update() quand inactif
|
||||||
|
|
||||||
|
### Considérations
|
||||||
|
- Génération procédurale légère
|
||||||
|
- Vibrations: vérification gamepad chaque frame
|
||||||
|
- Distance checks optimisés avec DistanceSqr
|
||||||
|
|
||||||
|
## Extension Future
|
||||||
|
|
||||||
|
### AudioEmitterData Integration
|
||||||
|
Actuellement les presets existent mais ne sont pas utilisés par AudioListenable. Pour les intégrer:
|
||||||
|
|
||||||
|
1. Ajouter champ `AudioEmitterData` dans AudioListenable
|
||||||
|
2. Loader les paramètres depuis le ScriptableObject
|
||||||
|
3. Permettre override des paramètres individuels
|
||||||
|
|
||||||
|
### Visualisation Sonore
|
||||||
|
- Particle systems pour ondes sonores
|
||||||
|
- Shader effects sur objets écoutés
|
||||||
|
- Indicateurs visuels pour objets importants
|
||||||
|
|
||||||
|
### Audio Avancé
|
||||||
|
- Réverbération basée sur l'environnement
|
||||||
|
- Occlusion sonore
|
||||||
|
- Support multi-canal
|
||||||
|
|
||||||
|
## Troubleshooting Courant
|
||||||
|
|
||||||
|
**Pas de son**: Vérifier AudioSource, layer, distance
|
||||||
|
**Pas de vibration**: Vérifier gamepad connecté
|
||||||
|
**Camera ne bouge pas**: Vérifier border size, références camera
|
||||||
|
**Input ne répond pas**: Vérifier action assignée dans inputactions
|
||||||
|
|
||||||
|
## Références
|
||||||
|
|
||||||
|
- Unity Input System: com.unity.inputsystem 1.17.0
|
||||||
|
- URP: com.unity.render-pipelines.universal 17.3.0
|
||||||
|
- Unity 6000.3 APIs
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Unheimlich.Audio
|
||||||
|
{
|
||||||
|
[RequireComponent(typeof(AudioListenable))]
|
||||||
|
public class ThroughWallListener : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Behind Wall Detection")]
|
||||||
|
[SerializeField] private LayerMask _detectionLayers;
|
||||||
|
[SerializeField] private float _detectionDistance = 2f;
|
||||||
|
[SerializeField] private float _detectionRadius = 1f;
|
||||||
|
|
||||||
|
[Header("Audio Feedback")]
|
||||||
|
[SerializeField] private AudioClip _nothingBehindClip;
|
||||||
|
[SerializeField] private AudioClip _somethingBehindClip;
|
||||||
|
[SerializeField] private AudioClip _importantObjectClip;
|
||||||
|
[SerializeField] private string _importantObjectTag = "Important";
|
||||||
|
|
||||||
|
[Header("Visual Feedback")]
|
||||||
|
[SerializeField] private GameObject _highlightEffectPrefab;
|
||||||
|
[SerializeField] private float _highlightDuration = 3f;
|
||||||
|
|
||||||
|
private AudioSource _audioSource;
|
||||||
|
private AudioListenable _listenable;
|
||||||
|
private GameObject _currentHighlight;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_listenable = GetComponent<AudioListenable>();
|
||||||
|
_audioSource = GetComponent<AudioSource>();
|
||||||
|
|
||||||
|
if (_audioSource == null)
|
||||||
|
_audioSource = gameObject.AddComponent<AudioSource>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnWallListened()
|
||||||
|
{
|
||||||
|
Vector3 checkPosition = transform.position + transform.forward * (_detectionDistance * 0.5f);
|
||||||
|
|
||||||
|
Collider[] hitColliders = Physics.OverlapSphere(checkPosition, _detectionRadius, _detectionLayers);
|
||||||
|
|
||||||
|
if (hitColliders.Length > 0)
|
||||||
|
{
|
||||||
|
bool foundImportant = false;
|
||||||
|
|
||||||
|
foreach (Collider col in hitColliders)
|
||||||
|
{
|
||||||
|
if (col.CompareTag(_importantObjectTag))
|
||||||
|
{
|
||||||
|
foundImportant = true;
|
||||||
|
PlayFeedbackSound(_importantObjectClip);
|
||||||
|
ShowHighlight(col.transform.position);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!foundImportant)
|
||||||
|
{
|
||||||
|
PlayFeedbackSound(_somethingBehindClip);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PlayFeedbackSound(_nothingBehindClip);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayFeedbackSound(AudioClip clip)
|
||||||
|
{
|
||||||
|
if (clip != null && _audioSource != null)
|
||||||
|
{
|
||||||
|
_audioSource.PlayOneShot(clip);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ShowHighlight(Vector3 position)
|
||||||
|
{
|
||||||
|
if (_highlightEffectPrefab != null)
|
||||||
|
{
|
||||||
|
if (_currentHighlight != null)
|
||||||
|
Destroy(_currentHighlight);
|
||||||
|
|
||||||
|
_currentHighlight = Instantiate(_highlightEffectPrefab, position, Quaternion.identity);
|
||||||
|
Destroy(_currentHighlight, _highlightDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Vector3 checkPosition = transform.position + transform.forward * (_detectionDistance * 0.5f);
|
||||||
|
Gizmos.DrawWireSphere(checkPosition, _detectionRadius);
|
||||||
|
|
||||||
|
Gizmos.color = Color.blue;
|
||||||
|
Gizmos.DrawRay(transform.position, transform.forward * _detectionDistance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3fad34f7be8a64242984b14410478690
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Unheimlich.Audio
|
||||||
|
{
|
||||||
|
[CreateAssetMenu(fileName = "AudioEmitterData", menuName = "Unheimlich/Audio/Audio Emitter Data")]
|
||||||
|
public class AudioEmitterData : ScriptableObject
|
||||||
|
{
|
||||||
|
[Header("Emitter Info")]
|
||||||
|
public AudioEmitterType EmitterType = AudioEmitterType.Generic;
|
||||||
|
public string DisplayName = "Generic";
|
||||||
|
|
||||||
|
[Header("Procedural Audio Settings")]
|
||||||
|
public float BaseFrequency = 440f;
|
||||||
|
public float FrequencyVariation = 50f;
|
||||||
|
public float VolumeMin = 0.3f;
|
||||||
|
public float VolumeMax = 0.7f;
|
||||||
|
public float DurationMin = 0.5f;
|
||||||
|
public float DurationMax = 2f;
|
||||||
|
|
||||||
|
[Header("Harmonics (for complex sounds)")]
|
||||||
|
public float[] HarmonicMultipliers = { 1f };
|
||||||
|
public float[] HarmonicAmplitudes = { 1f };
|
||||||
|
|
||||||
|
[Header("Noise Settings")]
|
||||||
|
[Range(0f, 1f)]
|
||||||
|
public float NoiseAmount = 0f;
|
||||||
|
|
||||||
|
[Header("Vibration Settings")]
|
||||||
|
public bool EnableVibration = true;
|
||||||
|
public float VibrationIntensityMin = 0.1f;
|
||||||
|
public float VibrationIntensityMax = 0.5f;
|
||||||
|
public float VibrationFrequency = 10f;
|
||||||
|
|
||||||
|
[Header("Distance Settings")]
|
||||||
|
public float MaxDistance = 10f;
|
||||||
|
public AnimationCurve DistanceAttenuation = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c20752cb7065e844aaaedf606c4df2db
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using Unheimlich.Audio;
|
||||||
|
|
||||||
|
namespace Unheimlich.Editor
|
||||||
|
{
|
||||||
|
public class AudioListenableBatchSetup : EditorWindow
|
||||||
|
{
|
||||||
|
private AudioEmitterType _selectedType = AudioEmitterType.Wall;
|
||||||
|
private LayerMask _targetLayer;
|
||||||
|
private bool _overwriteExisting = false;
|
||||||
|
|
||||||
|
[MenuItem("Tools/Unheimlich/Audio Listenable Batch Setup")]
|
||||||
|
public static void ShowWindow()
|
||||||
|
{
|
||||||
|
GetWindow<AudioListenableBatchSetup>("Audio Batch Setup");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGUI()
|
||||||
|
{
|
||||||
|
GUILayout.Label("Batch Audio Listenable Setup", EditorStyles.boldLabel);
|
||||||
|
EditorGUILayout.Space(10);
|
||||||
|
|
||||||
|
EditorGUILayout.HelpBox(
|
||||||
|
"This tool adds AudioListenable components to all selected GameObjects in the scene.",
|
||||||
|
MessageType.Info
|
||||||
|
);
|
||||||
|
|
||||||
|
EditorGUILayout.Space(5);
|
||||||
|
|
||||||
|
_selectedType = (AudioEmitterType)EditorGUILayout.EnumPopup("Emitter Type", _selectedType);
|
||||||
|
_overwriteExisting = EditorGUILayout.Toggle("Overwrite Existing", _overwriteExisting);
|
||||||
|
|
||||||
|
EditorGUILayout.Space(10);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Add to Selected Objects", GUILayout.Height(30)))
|
||||||
|
{
|
||||||
|
AddToSelectedObjects();
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUILayout.Space(5);
|
||||||
|
|
||||||
|
EditorGUILayout.LabelField("Quick Presets", EditorStyles.boldLabel);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup All Walls in Scene"))
|
||||||
|
{
|
||||||
|
SetupObjectsByName("wall", AudioEmitterType.Wall);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup All Doors in Scene"))
|
||||||
|
{
|
||||||
|
SetupObjectsByName("door", AudioEmitterType.Wood);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddToSelectedObjects()
|
||||||
|
{
|
||||||
|
GameObject[] selectedObjects = Selection.gameObjects;
|
||||||
|
|
||||||
|
if (selectedObjects.Length == 0)
|
||||||
|
{
|
||||||
|
EditorUtility.DisplayDialog("No Selection", "Please select at least one GameObject in the scene.", "OK");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int addedCount = 0;
|
||||||
|
int skippedCount = 0;
|
||||||
|
|
||||||
|
foreach (GameObject obj in selectedObjects)
|
||||||
|
{
|
||||||
|
AudioListenable existing = obj.GetComponent<AudioListenable>();
|
||||||
|
|
||||||
|
if (existing != null && !_overwriteExisting)
|
||||||
|
{
|
||||||
|
skippedCount++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (existing == null)
|
||||||
|
{
|
||||||
|
Undo.AddComponent<AudioListenable>(obj);
|
||||||
|
existing = obj.GetComponent<AudioListenable>();
|
||||||
|
}
|
||||||
|
|
||||||
|
ConfigureListenable(existing, _selectedType);
|
||||||
|
addedCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorUtility.DisplayDialog(
|
||||||
|
"Batch Setup Complete",
|
||||||
|
$"Added/Updated: {addedCount}\nSkipped: {skippedCount}",
|
||||||
|
"OK"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetupObjectsByName(string nameContains, AudioEmitterType type)
|
||||||
|
{
|
||||||
|
GameObject[] allObjects = FindObjectsByType<GameObject>(FindObjectsSortMode.None);
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
foreach (GameObject obj in allObjects)
|
||||||
|
{
|
||||||
|
if (obj.name.ToLower().Contains(nameContains.ToLower()))
|
||||||
|
{
|
||||||
|
AudioListenable existing = obj.GetComponent<AudioListenable>();
|
||||||
|
|
||||||
|
if (existing == null)
|
||||||
|
{
|
||||||
|
Undo.AddComponent<AudioListenable>(obj);
|
||||||
|
existing = obj.GetComponent<AudioListenable>();
|
||||||
|
}
|
||||||
|
|
||||||
|
ConfigureListenable(existing, type);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorUtility.DisplayDialog(
|
||||||
|
"Setup Complete",
|
||||||
|
$"Configured {count} objects containing '{nameContains}' as {type}",
|
||||||
|
"OK"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConfigureListenable(AudioListenable listenable, AudioEmitterType type)
|
||||||
|
{
|
||||||
|
SerializedObject so = new SerializedObject(listenable);
|
||||||
|
|
||||||
|
so.FindProperty("_emitterType").enumValueIndex = (int)type;
|
||||||
|
so.FindProperty("_useProceduralAudio").boolValue = true;
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case AudioEmitterType.Wall:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 200f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 20f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.2f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.4f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AudioEmitterType.Metal:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 800f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 100f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.4f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.7f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AudioEmitterType.Wood:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 300f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 50f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.3f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.6f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AudioEmitterType.Glass:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 1200f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 150f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.3f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.6f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AudioEmitterType.Stone:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 250f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 30f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.3f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AudioEmitterType.Mechanical:
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = 500f;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = 80f;
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.4f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.7f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
so.ApplyModifiedProperties();
|
||||||
|
EditorUtility.SetDirty(listenable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5d813501fc2b446419db87d892d79ce3
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using Unheimlich.Audio;
|
||||||
|
|
||||||
|
namespace Unheimlich.Editor
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(AudioListenable))]
|
||||||
|
public class AudioListenableEditor : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
DrawDefaultInspector();
|
||||||
|
|
||||||
|
AudioListenable listenable = (AudioListenable)target;
|
||||||
|
|
||||||
|
EditorGUILayout.Space(10);
|
||||||
|
EditorGUILayout.LabelField("Quick Setup", EditorStyles.boldLabel);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup as Wall"))
|
||||||
|
SetupAsType(listenable, AudioEmitterType.Wall, 200f, 20f, true);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup as Metal Object"))
|
||||||
|
SetupAsType(listenable, AudioEmitterType.Metal, 800f, 100f, false);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup as Wood Object"))
|
||||||
|
SetupAsType(listenable, AudioEmitterType.Wood, 300f, 50f, false);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup as Glass"))
|
||||||
|
SetupAsType(listenable, AudioEmitterType.Glass, 1200f, 150f, false);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Setup as Mechanical"))
|
||||||
|
SetupAsType(listenable, AudioEmitterType.Mechanical, 500f, 80f, false);
|
||||||
|
|
||||||
|
EditorGUILayout.Space(5);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Test Sound (Play Mode Only)", GUILayout.Height(30)))
|
||||||
|
{
|
||||||
|
if (Application.isPlaying)
|
||||||
|
{
|
||||||
|
listenable.StartListening(Camera.main != null ? Camera.main.transform.position : Vector3.zero);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EditorGUILayout.HelpBox("Enter Play Mode to test sounds", MessageType.Info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetupAsType(AudioListenable listenable, AudioEmitterType type, float baseFreq, float freqVar, bool isGeneric)
|
||||||
|
{
|
||||||
|
SerializedObject so = new SerializedObject(listenable);
|
||||||
|
|
||||||
|
so.FindProperty("_emitterType").enumValueIndex = (int)type;
|
||||||
|
so.FindProperty("_useProceduralAudio").boolValue = true;
|
||||||
|
so.FindProperty("_baseFrequency").floatValue = baseFreq;
|
||||||
|
so.FindProperty("_frequencyVariation").floatValue = freqVar;
|
||||||
|
|
||||||
|
if (isGeneric)
|
||||||
|
{
|
||||||
|
so.FindProperty("_volumeMin").floatValue = 0.2f;
|
||||||
|
so.FindProperty("_volumeMax").floatValue = 0.4f;
|
||||||
|
}
|
||||||
|
|
||||||
|
so.ApplyModifiedProperties();
|
||||||
|
EditorUtility.SetDirty(listenable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[CanEditMultipleObjects]
|
||||||
|
[CustomEditor(typeof(Transform))]
|
||||||
|
public class TransformEditorExtension : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
private UnityEditor.Editor defaultEditor;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
defaultEditor = CreateEditor(targets, System.Type.GetType("UnityEditor.TransformInspector, UnityEditor"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
if (defaultEditor != null)
|
||||||
|
DestroyImmediate(defaultEditor);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
if (defaultEditor != null)
|
||||||
|
defaultEditor.OnInspectorGUI();
|
||||||
|
|
||||||
|
EditorGUILayout.Space(10);
|
||||||
|
|
||||||
|
if (targets.Length == 1)
|
||||||
|
{
|
||||||
|
Transform t = (Transform)target;
|
||||||
|
if (t.GetComponent<AudioListenable>() == null)
|
||||||
|
{
|
||||||
|
if (GUILayout.Button("Add Audio Listenable", GUILayout.Height(25)))
|
||||||
|
{
|
||||||
|
Undo.AddComponent<AudioListenable>(t.gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b606ceac9567f9746b716e63b0e644ee
|
||||||
+284
@@ -0,0 +1,284 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.InputSystem;
|
||||||
|
using Unheimlich.Audio;
|
||||||
|
using InputManager = Unheimlich.Managers.PlayerInputManager;
|
||||||
|
|
||||||
|
namespace Unheimlich.Gameplay.Player
|
||||||
|
{
|
||||||
|
public class DiapasonListeningHandler : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static DiapasonListeningHandler Instance { get; private set; }
|
||||||
|
|
||||||
|
[Header("References")]
|
||||||
|
[SerializeField] private GameObject _diapasonObject;
|
||||||
|
[SerializeField] private Animator _diapasonAnimator;
|
||||||
|
[SerializeField] private Camera _playerCamera;
|
||||||
|
[SerializeField] private Transform _cursorTransform;
|
||||||
|
|
||||||
|
[Header("Listening Settings")]
|
||||||
|
[SerializeField] private float _listeningRange = 5f;
|
||||||
|
[SerializeField] private LayerMask _listenableLayers;
|
||||||
|
[SerializeField] private float _concentrationDuration = 1f;
|
||||||
|
[SerializeField] private float _breathInDuration = 0.5f;
|
||||||
|
|
||||||
|
[Header("Camera Settings")]
|
||||||
|
[SerializeField] private float _cameraPanSpeed = 2f;
|
||||||
|
[SerializeField] private float _cameraPanBorderSize = 0.1f;
|
||||||
|
[SerializeField] private float _maxCameraPanAngle = 15f;
|
||||||
|
|
||||||
|
[Header("Visual Feedback")]
|
||||||
|
[SerializeField] private float _vignetteIntensity = 0.5f;
|
||||||
|
[SerializeField] private ListeningVignetteEffect _vignetteEffect;
|
||||||
|
|
||||||
|
[Header("Audio")]
|
||||||
|
[SerializeField] private AudioClip _breathInClip;
|
||||||
|
[SerializeField] private AudioClip _diapasonTapClip;
|
||||||
|
[SerializeField] private float _ambientAttenuationAmount = 0.3f;
|
||||||
|
|
||||||
|
[Header("Input Action")]
|
||||||
|
[SerializeField] private InputActionReference _diapasonAction;
|
||||||
|
|
||||||
|
public bool IsListening { get; private set; }
|
||||||
|
public bool IsConcentrating { get; private set; }
|
||||||
|
|
||||||
|
private AudioListenable _currentTargetEmitter;
|
||||||
|
private AudioSource _playerAudioSource;
|
||||||
|
private Coroutine _listeningCoroutine;
|
||||||
|
private Vector2 _originalCameraRotation;
|
||||||
|
private float _originalAmbientVolume;
|
||||||
|
|
||||||
|
private const string ANIM_TRIGGER_TAP = "Tap";
|
||||||
|
private const string ANIM_BOOL_EQUIPPED = "IsEquipped";
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance != null && Instance != this)
|
||||||
|
{
|
||||||
|
Destroy(this);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Instance = this;
|
||||||
|
|
||||||
|
_playerAudioSource = GetComponent<AudioSource>();
|
||||||
|
if (_playerAudioSource == null)
|
||||||
|
_playerAudioSource = gameObject.AddComponent<AudioSource>();
|
||||||
|
|
||||||
|
if (_diapasonObject != null)
|
||||||
|
_diapasonObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!InputManager.IsInputEnabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (_diapasonAction != null && _diapasonAction.action.WasPressedThisFrame())
|
||||||
|
{
|
||||||
|
if (!IsListening && !IsConcentrating)
|
||||||
|
StartListeningMode();
|
||||||
|
else if (IsListening)
|
||||||
|
StopListeningMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsListening)
|
||||||
|
{
|
||||||
|
UpdateCursorAndCameraPan();
|
||||||
|
CheckForListenableObject();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartListeningMode()
|
||||||
|
{
|
||||||
|
if (_listeningCoroutine != null)
|
||||||
|
StopCoroutine(_listeningCoroutine);
|
||||||
|
|
||||||
|
_listeningCoroutine = StartCoroutine(ListeningSequence());
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator ListeningSequence()
|
||||||
|
{
|
||||||
|
IsConcentrating = true;
|
||||||
|
InputManager.ToggleInput(false);
|
||||||
|
|
||||||
|
if (_diapasonObject != null)
|
||||||
|
{
|
||||||
|
_diapasonObject.SetActive(true);
|
||||||
|
if (_diapasonAnimator != null)
|
||||||
|
_diapasonAnimator.SetBool(ANIM_BOOL_EQUIPPED, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
PlayBreathIn();
|
||||||
|
yield return new WaitForSeconds(_breathInDuration);
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(_concentrationDuration - _breathInDuration);
|
||||||
|
|
||||||
|
IsConcentrating = false;
|
||||||
|
IsListening = true;
|
||||||
|
|
||||||
|
_originalCameraRotation = new Vector2(transform.eulerAngles.y, _playerCamera.transform.eulerAngles.x);
|
||||||
|
AttenuateAmbientSound(true);
|
||||||
|
EnableVignette(true);
|
||||||
|
|
||||||
|
Cursor.lockState = CursorLockMode.Confined;
|
||||||
|
Cursor.visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopListeningMode()
|
||||||
|
{
|
||||||
|
if (_listeningCoroutine != null)
|
||||||
|
{
|
||||||
|
StopCoroutine(_listeningCoroutine);
|
||||||
|
_listeningCoroutine = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
IsListening = false;
|
||||||
|
IsConcentrating = false;
|
||||||
|
|
||||||
|
if (_diapasonObject != null)
|
||||||
|
{
|
||||||
|
if (_diapasonAnimator != null)
|
||||||
|
_diapasonAnimator.SetBool(ANIM_BOOL_EQUIPPED, false);
|
||||||
|
_diapasonObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
AttenuateAmbientSound(false);
|
||||||
|
EnableVignette(false);
|
||||||
|
|
||||||
|
Cursor.lockState = CursorLockMode.Locked;
|
||||||
|
Cursor.visible = false;
|
||||||
|
|
||||||
|
InputManager.ToggleInput(true);
|
||||||
|
|
||||||
|
if (_currentTargetEmitter != null)
|
||||||
|
{
|
||||||
|
_currentTargetEmitter.StopListening();
|
||||||
|
_currentTargetEmitter = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateCursorAndCameraPan()
|
||||||
|
{
|
||||||
|
if (_playerCamera == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Vector2 viewportPos = _playerCamera.ScreenToViewportPoint(Mouse.current.position.ReadValue());
|
||||||
|
|
||||||
|
float panX = 0f;
|
||||||
|
float panY = 0f;
|
||||||
|
|
||||||
|
if (viewportPos.x < _cameraPanBorderSize)
|
||||||
|
panX = -1f;
|
||||||
|
else if (viewportPos.x > 1f - _cameraPanBorderSize)
|
||||||
|
panX = 1f;
|
||||||
|
|
||||||
|
if (viewportPos.y < _cameraPanBorderSize)
|
||||||
|
panY = -1f;
|
||||||
|
else if (viewportPos.y > 1f - _cameraPanBorderSize)
|
||||||
|
panY = 1f;
|
||||||
|
|
||||||
|
float targetYaw = _originalCameraRotation.x + (panX * _maxCameraPanAngle);
|
||||||
|
float targetPitch = _originalCameraRotation.y - (panY * _maxCameraPanAngle);
|
||||||
|
|
||||||
|
targetPitch = Mathf.Clamp(targetPitch, _originalCameraRotation.y - _maxCameraPanAngle, _originalCameraRotation.y + _maxCameraPanAngle);
|
||||||
|
|
||||||
|
Vector3 currentRotation = transform.eulerAngles;
|
||||||
|
currentRotation.y = Mathf.Lerp(currentRotation.y, targetYaw, Time.deltaTime * _cameraPanSpeed);
|
||||||
|
transform.eulerAngles = currentRotation;
|
||||||
|
|
||||||
|
Vector3 cameraRotation = _playerCamera.transform.localEulerAngles;
|
||||||
|
if (cameraRotation.x > 180f)
|
||||||
|
cameraRotation.x -= 360f;
|
||||||
|
cameraRotation.x = Mathf.Lerp(cameraRotation.x, targetPitch, Time.deltaTime * _cameraPanSpeed);
|
||||||
|
_playerCamera.transform.localEulerAngles = cameraRotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckForListenableObject()
|
||||||
|
{
|
||||||
|
if (_playerCamera == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Ray ray = _playerCamera.ScreenPointToRay(Mouse.current.position.ReadValue());
|
||||||
|
|
||||||
|
if (Physics.Raycast(ray, out RaycastHit hit, _listeningRange, _listenableLayers))
|
||||||
|
{
|
||||||
|
AudioListenable listenable = hit.collider.GetComponent<AudioListenable>();
|
||||||
|
|
||||||
|
if (listenable != null && listenable != _currentTargetEmitter)
|
||||||
|
{
|
||||||
|
if (_currentTargetEmitter != null)
|
||||||
|
_currentTargetEmitter.StopListening();
|
||||||
|
|
||||||
|
_currentTargetEmitter = listenable;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Mouse.current.leftButton.wasPressedThisFrame && _currentTargetEmitter != null)
|
||||||
|
{
|
||||||
|
TriggerDiapasonTap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (_currentTargetEmitter != null)
|
||||||
|
{
|
||||||
|
_currentTargetEmitter.StopListening();
|
||||||
|
_currentTargetEmitter = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TriggerDiapasonTap()
|
||||||
|
{
|
||||||
|
if (_diapasonAnimator != null)
|
||||||
|
_diapasonAnimator.SetTrigger(ANIM_TRIGGER_TAP);
|
||||||
|
|
||||||
|
if (_diapasonTapClip != null && _playerAudioSource != null)
|
||||||
|
_playerAudioSource.PlayOneShot(_diapasonTapClip);
|
||||||
|
|
||||||
|
if (_currentTargetEmitter != null)
|
||||||
|
_currentTargetEmitter.StartListening(transform.position);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayBreathIn()
|
||||||
|
{
|
||||||
|
if (_breathInClip != null && _playerAudioSource != null)
|
||||||
|
_playerAudioSource.PlayOneShot(_breathInClip);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AttenuateAmbientSound(bool enable)
|
||||||
|
{
|
||||||
|
AudioListener listener = FindFirstObjectByType<AudioListener>();
|
||||||
|
if (listener != null)
|
||||||
|
{
|
||||||
|
if (enable)
|
||||||
|
{
|
||||||
|
_originalAmbientVolume = AudioListener.volume;
|
||||||
|
AudioListener.volume = _ambientAttenuationAmount;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AudioListener.volume = _originalAmbientVolume;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EnableVignette(bool enable)
|
||||||
|
{
|
||||||
|
if (_vignetteEffect != null)
|
||||||
|
{
|
||||||
|
_vignetteEffect.EnableVignette(enable);
|
||||||
|
_vignetteEffect.SetIntensity(_vignetteIntensity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
if (_playerCamera != null && IsListening)
|
||||||
|
{
|
||||||
|
Gizmos.color = _currentTargetEmitter != null ? Color.green : Color.yellow;
|
||||||
|
Ray ray = _playerCamera.ScreenPointToRay(Mouse.current != null ? Mouse.current.position.ReadValue() : Vector2.zero);
|
||||||
|
Gizmos.DrawRay(ray.origin, ray.direction * _listeningRange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2094bd9c6f72e5b4cadf430f4d70f8f6
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Rendering;
|
||||||
|
using UnityEngine.Rendering.Universal;
|
||||||
|
|
||||||
|
namespace Unheimlich.Gameplay.Player
|
||||||
|
{
|
||||||
|
public class ListeningVignetteEffect : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("References")]
|
||||||
|
[SerializeField] private Volume _globalVolume;
|
||||||
|
|
||||||
|
[Header("Settings")]
|
||||||
|
[SerializeField] private float _targetIntensity = 0.5f;
|
||||||
|
[SerializeField] private float _transitionSpeed = 2f;
|
||||||
|
|
||||||
|
private Vignette _vignette;
|
||||||
|
private float _originalIntensity;
|
||||||
|
private bool _isEnabled;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (_globalVolume == null)
|
||||||
|
_globalVolume = FindFirstObjectByType<Volume>();
|
||||||
|
|
||||||
|
if (_globalVolume != null && _globalVolume.profile != null)
|
||||||
|
{
|
||||||
|
if (_globalVolume.profile.TryGet(out Vignette vignette))
|
||||||
|
{
|
||||||
|
_vignette = vignette;
|
||||||
|
_originalIntensity = _vignette.intensity.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (_vignette == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
float targetValue = _isEnabled ? _targetIntensity : _originalIntensity;
|
||||||
|
float currentValue = _vignette.intensity.value;
|
||||||
|
float newValue = Mathf.Lerp(currentValue, targetValue, Time.deltaTime * _transitionSpeed);
|
||||||
|
|
||||||
|
_vignette.intensity.value = newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void EnableVignette(bool enable)
|
||||||
|
{
|
||||||
|
_isEnabled = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetIntensity(float intensity)
|
||||||
|
{
|
||||||
|
_targetIntensity = Mathf.Clamp01(intensity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 878ebc270c13e5c49a3813b1848f6ea5
|
||||||
@@ -17,6 +17,7 @@ namespace Unheimlich.Managers
|
|||||||
public Vector2 LookInput;
|
public Vector2 LookInput;
|
||||||
public InputActionReference JumpAction;
|
public InputActionReference JumpAction;
|
||||||
public InputActionReference InteractAction;
|
public InputActionReference InteractAction;
|
||||||
|
public InputActionReference DiapasonAction;
|
||||||
|
|
||||||
public static bool IsInputEnabled { get; private set; } = true;
|
public static bool IsInputEnabled { get; private set; } = true;
|
||||||
public static bool IsLookingEnabled { get; private set; } = true;
|
public static bool IsLookingEnabled { get; private set; } = true;
|
||||||
@@ -24,6 +25,7 @@ namespace Unheimlich.Managers
|
|||||||
private InputActionMap _playerActionMap;
|
private InputActionMap _playerActionMap;
|
||||||
private InputAction _lookAction;
|
private InputAction _lookAction;
|
||||||
private InputAction _interactAction;
|
private InputAction _interactAction;
|
||||||
|
private InputAction _diapasonAction;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
@@ -42,9 +44,12 @@ namespace Unheimlich.Managers
|
|||||||
_playerActionMap = playerInput.actions.FindActionMap("Player");
|
_playerActionMap = playerInput.actions.FindActionMap("Player");
|
||||||
_lookAction = _playerActionMap.FindAction("Look");
|
_lookAction = _playerActionMap.FindAction("Look");
|
||||||
_interactAction = _playerActionMap.FindAction("Interact");
|
_interactAction = _playerActionMap.FindAction("Interact");
|
||||||
|
_diapasonAction = _playerActionMap.FindAction("Diapason");
|
||||||
|
|
||||||
JumpAction.action.Enable();
|
JumpAction.action.Enable();
|
||||||
InteractAction.action.Enable();
|
InteractAction.action.Enable();
|
||||||
|
if (DiapasonAction != null)
|
||||||
|
DiapasonAction.action.Enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -69,6 +74,8 @@ namespace Unheimlich.Managers
|
|||||||
Instance._playerActionMap.Disable();
|
Instance._playerActionMap.Disable();
|
||||||
Instance._lookAction.Enable();
|
Instance._lookAction.Enable();
|
||||||
Instance._interactAction.Enable();
|
Instance._interactAction.Enable();
|
||||||
|
if (Instance._diapasonAction != null)
|
||||||
|
Instance._diapasonAction.Enable();
|
||||||
IsLookingEnabled = false;
|
IsLookingEnabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -90,5 +97,9 @@ namespace Unheimlich.Managers
|
|||||||
public void OnInteract(InputAction.CallbackContext context)
|
public void OnInteract(InputAction.CallbackContext context)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnDiapason(InputAction.CallbackContext context)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user