Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Institute of Technical Acoustics (ITA)
VAUnity
Commits
b6df6209
Commit
b6df6209
authored
Dec 21, 2016
by
Maurice Tayeb Andreas
Browse files
Prefabs CameraRig nur temporär
parent
0d65e825
Changes
3
Hide whitespace changes
Inline
Side-by-side
Prefab/VA.prefab
0 → 100644
View file @
b6df6209
File added
Prefab/[CameraRig].prefab
0 → 100644
View file @
b6df6209
File added
VAUListener.cs
View file @
b6df6209
using
UnityEngine
;
using
System
;
using
System
.Linq
;
using
System.Collections
;
using
VA
;
...
...
@@ -14,8 +14,8 @@ public class VAUListener : MonoBehaviour {
private
Quaternion
q
;
private
Transform
t
;
private
AudioReverbZone
[]
reverbZones
;
private
AudioReverbZone
[]
shadowReverbZones
;
private
double
currentArtificialReverberationTime
=
1
;
private
float
currentArtificialReverberationTime
=
0f
;
private
float
shadowReverbTime
;
public
int
ID
{
...
...
@@ -35,7 +35,8 @@ public class VAUListener : MonoBehaviour {
Debug
.
Log
(
"[VAU]"
+
listenername
+
" created"
);
_VA
.
SetListenerHRIRDataset
(
Listener
,
VAUAdapter
.
DefaultHRIR
);
SetListenerPositionOrientation
();
_VA
.
SetArtificalReverbarationTime
(
VAAudioRenderer
,
2
);
_VA
.
SetArtificalReverbarationTime
(
VAAudioRenderer
,
2.0f
);
reverbZones
=
FindObjectsOfType
(
typeof
(
AudioReverbZone
))
as
AudioReverbZone
[];
}
void
OnEnable
()
...
...
@@ -66,42 +67,39 @@ public class VAUListener : MonoBehaviour {
void
SetActiveReverbZones
()
{
double
actReverbTime
=
currentArtificialReverberationTime
;
reverbZones
=
FindObjectsOfType
(
typeof
(
AudioReverbZone
))
as
AudioReverbZone
[];
if
(
reverbZones
==
shadowReverbZones
)
return
;
if
(
reverbZones
==
null
)
{
if
(
actReverbTime
!=
currentArtificialReverberationTime
)
_VA
.
SetArtificalReverbarationTime
(
VAAudioRenderer
,
actReverbTime
);
return
;
}
shadowReverbZones
=
reverbZones
;
float
actReverbTime
=
0f
;
int
i
=
0
;
foreach
(
AudioReverbZone
reverbZone
in
reverbZones
)
{
float
actdistance
=
Vector3
.
Distance
(
reverbZone
.
transform
.
position
,
gameObject
.
transform
.
position
);
if
(
actdistance
<
reverbZone
.
maxDistance
)
if
(
i
>=
maxreverbZones
)
break
;
float
actDistance
=
Vector3
.
Distance
(
reverbZone
.
transform
.
position
,
gameObject
.
transform
.
position
);
if
((
actDistance
<
reverbZone
.
maxDistance
))
{
if
(
i
<=
maxreverbZones
)
if
(
actDistance
>
reverbZone
.
minDistance
)
{
actReverbTime
+=
reverbZone
.
decayTime
;
i
++;
actReverbTime
+=
reverbZone
.
decayTime
*
(
actDistance
-
reverbZone
.
minDistance
)
/
(
reverbZone
.
maxDistance
-
reverbZone
.
minDistance
);
}
if
(
actdistance
>
reverbZone
.
minDistance
)
else
{
actReverbTime
+=
reverbZone
.
decayTime
;
}
i
++;
}
}
if
(
shadowReverbTime
==
actReverbTime
)
return
;
shadowReverbTime
=
actReverbTime
;
if
(
i
>
0
)
if
(
i
>
0
)
actReverbTime
/=
i
;
_VA
.
SetArtificalReverbarationTime
(
VAAudioRenderer
,
actReverbTime
);
if
(
actReverbTime
!=
currentArtificialReverberationTime
)
_VA
.
SetArtificalReverbarationTime
(
VAAudioRenderer
,
actReverbTime
);
}
void
OnListenerAuralizationModeChanged
(
string
AuraMode
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment