@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
56 lines (55 loc) • 2.18 kB
TypeScript
import { type Nullable } from "../types.js";
import { Mesh } from "../Meshes/mesh.js";
import { type IGizmo, Gizmo } from "./gizmo.js";
import { UtilityLayerRenderer } from "../Rendering/utilityLayerRenderer.js";
import { StandardMaterial } from "../Materials/standardMaterial.js";
import { type PointerInfo } from "../Events/pointerEvents.js";
import { type Observer, Observable } from "../Misc/observable.js";
import { type AbstractSoundSource } from "../AudioV2/abstractAudio/abstractSoundSource.js";
/**
* Interface for a spatial audio gizmo.
*/
export interface ISpatialAudioGizmo extends IGizmo {
/** Event that fires each time the gizmo is clicked. */
onClickedObservable: Observable<AbstractSoundSource>;
/** The sound source the gizmo is attached to. */
soundSource: Nullable<AbstractSoundSource>;
/** The material used to render the gizmo. */
readonly material: StandardMaterial;
}
/**
* Gizmo that visualizes the position and orientation of a v2 spatial sound source.
*/
export declare class SpatialAudioGizmo extends Gizmo implements ISpatialAudioGizmo {
private static readonly _Scale;
protected _soundSource: Nullable<AbstractSoundSource>;
protected _audioMesh: Mesh;
protected _material: StandardMaterial;
protected _pointerObserver: Nullable<Observer<PointerInfo>>;
/** Event that fires each time the gizmo is clicked. */
readonly onClickedObservable: Observable<AbstractSoundSource>;
/**
* Creates a SpatialAudioGizmo.
* @param gizmoLayer The utility layer the gizmo will be added to.
*/
constructor(gizmoLayer?: UtilityLayerRenderer);
/**
* The sound source the gizmo is attached to.
*/
get soundSource(): Nullable<AbstractSoundSource>;
set soundSource(soundSource: Nullable<AbstractSoundSource>);
/**
* Gets the material used to render the gizmo.
*/
get material(): StandardMaterial;
/**
* @internal
* Mirrors the attached mesh to the sound source's spatial position and rotation.
*/
protected _update(): void;
/**
* Disposes of the gizmo.
*/
dispose(): void;
private static _CreateSpeakerMesh;
}