Skip to main content
Version: 2.x

Class OdinTerrainFilterComponent

Custom filter by terrain component for OdinNative.Wrapper.Media.CustomEffect

This class is an effect in the odin audio pipeline to mute audio based on location of a GameObject relative to a terrain type in Unity space. Note that the default implementation is Unity specific on a 2D calculation with X, Z and is not useful in all occasions.

Declaration
[HelpURL("https://docs.4players.io/voice/unity/next/api/OdinNative.Unity.Audio/OdinTerrainFilterComponent/")]
[AddComponentMenu("Odin/Audio/Effect/Terrain Filter")]
public class OdinTerrainFilterComponent : OdinCustomEffectUnityComponentBase<OdinTerrainFilterComponent.TerrainFilterUserData>, IOdinEffect

Inheritance: System.Object -> UnityEngine.Object -> UnityEngine.Component -> UnityEngine.Behaviour -> UnityEngine.MonoBehaviour -> OdinNative.Unity.Audio.OdinCustomEffectUnityComponentBase<U>

Implements:
OdinNative.Unity.Audio.IOdinEffect

Fields​

Emitter​

Declaration
[Tooltip("Set the object to use for position determination")]
public GameObject Emitter

Data​

Declaration
[Tooltip("Set the terrain to use for positional alphamap calculation")]
public Terrain Data

_UserData​

Declaration
protected OdinTerrainFilterComponent.TerrainFilterUserData _UserData

_OutsideTerrain​

Declaration
protected volatile bool _OutsideTerrain

Methods​

SetUserData(Vector3, Vector3, TerrainData)​

Set delegate userdata for effect callback

Declaration
public virtual void SetUserData(Vector3 objectPosition, Vector3 terrainPosition, TerrainData terrainData)
Parameters​
TypeName
UnityEngine.Vector3objectPosition
UnityEngine.Vector3terrainPosition
UnityEngine.TerrainDataterrainData

GetEffectUserData()​

Get delegate userdata

Declaration
public override OdinTerrainFilterComponent.TerrainFilterUserData GetEffectUserData()
Returns​

OdinNative.Unity.Audio.OdinTerrainFilterComponent.TerrainFilterUserData: effect userdata

Update()​

Declaration
protected override void Update()

CustomEffectCallback(OdinTArray<float>, ref bool, TerrainFilterUserData)​

Callback delegate for the effect

Declaration
public override void CustomEffectCallback(NativeBindings.OdinTArray<float> audio, ref bool isSilent, OdinTerrainFilterComponent.TerrainFilterUserData userData)
Parameters​
TypeNameDescription
OdinNative.Core.Imports.NativeBindings.OdinTArray<T>audioaudio data wrapper for copy buffer to native
System.BooleanisSilentflag whether the buffer contains silence, can be set to mute the frame
OdinNative.Unity.Audio.OdinTerrainFilterComponent.TerrainFilterUserDatauserData

Implements​