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