Component · audio
AcousticSurface
Acoustic surface of static geometry or a collider. The physics ray adapter maps hit bodies to this component; absent components read as
generic.Fields
preset
MaterialPresetNamed material; ignored when
custom is set.default "generic"
One ofgenericbrickconcreteceramicgravelcarpetglassplasterwoodmetalrock
custom
option<AcousticMaterial>Explicit material values overriding the preset.
default null
Usage
Every edit is an undoable command: from the CLI as below, or the same JSON from an agent over MCP. See component.add and property.set.
Add it
ara do component.add -p entity=name:Crate -p component=AcousticSurface --why "Add AcousticSurface"Set a field
ara do property.set -p entity=name:Crate -p path=AcousticSurface.preset -p value="generic" --why "Tune AcousticSurface"In a scene document
{
"AcousticSurface": {
"preset": "generic"
}
}From C#
/// <summary>Give a wall concrete acoustic absorption.</summary>
public static void UseAcousticSurface(Entity entity, in Tick tick)
{
ref var component = ref World.Get<AcousticSurface>(entity);
component.Preset = MaterialPreset.Concrete;
}From C#
Scripts read and write it with Get<AcousticSurface>(); see the AcousticSurface struct.