The Volume/PostprocessingManager component is responsible for managing post processing effects.
Add this component to any object in your scene to enable post processing effects.

Example: Add bloom

const volume = new Volume();
volume.addEffect(new BloomEffect({
intensity: 3,
luminanceThreshold: .2
}));
gameObject.addComponent(volume);

Example: Remove bloom

volume.removeEffect(bloom);

Example: Add pixelation

const pixelation = new PixelationEffect();
pixelation.granularity.value = 10;
volume.addEffect(pixelation);

Hierarchy (view full)

Implements

  • IEditorModification
  • IPostProcessingManager

Properties

gameObject: GameObject

the object this component is attached to. Note that this is a threejs Object3D with some additional features

guid: string = "invalid"

the unique identifier for this component

sourceId?: string

holds the source identifier this object was created with/from (e.g. if it was part of a glTF file the sourceId holds the url to the glTF)

Accessors

  • get activeAndEnabled(): boolean
  • Returns boolean

    true if the object is enabled and active in the hierarchy

  • get context(): Context
  • Use the context to get access to many Needle Engine features and use physics, timing, access the camera or scene

    Returns Context

  • set context(context): void
  • Parameters

    Returns void

  • get destroyed(): boolean
  • Returns boolean

    true if this component was destroyed (this.destroy()) or the whole object this component was part of

  • get enabled(): boolean
  • Returns boolean

  • set enabled(val): void
  • Parameters

    • val: boolean

    Returns void

  • get forward(): Vector3
  • Forward (0,0,-1) vector in world space

    Returns Vector3

  • get hideFlags(): HideFlags
  • Returns HideFlags

  • get isPostProcessingManager(): boolean
  • Returns boolean

  • get layer(): number
  • Returns number

    the layer of the gameObject this component is attached to

  • get name(): string
  • Returns string

    the name of the gameObject this component is attached to

  • set name(str): void
  • Parameters

    • str: string

    Returns void

  • get right(): Vector3
  • Right (1,0,0) vector in world space

    Returns Vector3

  • get scene(): Scene
  • shorthand for this.context.scene

    Returns Scene

    the scene of the context

  • get static(): boolean
  • Is the gameObject marked as static

    Returns boolean

  • set static(value): void
  • Parameters

    • value: boolean

    Returns void

  • get tag(): string
  • Returns string

    the tag of the gameObject this component is attached to

  • set tag(str): void
  • Parameters

    • str: string

    Returns void

  • get up(): Vector3
  • Up (0,1,0) vector in world space

    Returns Vector3

  • get worldEuler(): Euler
  • Returns Euler

  • set worldEuler(val): void
  • Parameters

    Returns void

  • get worldPosition(): Vector3
  • Returns Vector3

  • set worldPosition(val): void
  • Parameters

    Returns void

  • get worldQuaternion(): Quaternion
  • Returns Quaternion

  • set worldQuaternion(val): void
  • Parameters

    Returns void

  • get worldRotation(): Vector3
  • Returns Vector3

  • set worldRotation(val): void
  • Parameters

    Returns void

Methods

  • Parameters

    • Optional init: Partial<NoInternalNeedleEngineState<FilterStartingWith<FilterTypes<Volume, Function>, "_">>>

    Returns void

  • Add a post processing effect to the stack and schedules the effect stack to be re-created.

    Type Parameters

    • T extends unknown

    Parameters

    • effect: T

    Returns T

  • Type Parameters

    Parameters

    • type: string
    • listener: ((evt) => any)
        • (evt): any
        • Parameters

          • evt: T

          Returns any

    Returns void

  • Destroys this component (and removes it from the object)

    Returns void

  • first callback in a frame (called every frame when implemented)

    Returns void

  • late callback in a frame (called every frame when implemented)

    Returns void

  • When dirty the post processing effects will be re-applied

    Returns void

  • called after the scene was rendered

    Returns void

  • Called before the XR session is requested. Use this callback if you want to modify the session init features

    Parameters

    • mode: XRSessionMode
    • args: XRSessionInit

    Returns void

  • called from needle editor sync package if its active

    Parameters

    • modification: EditorModification

    Returns boolean | void

  • called every time when the component gets enabled (this is invoked after awake and before start)
    or when it becomes active in the hierarchy (e.g. if a parent object or this.gameObject gets set to visible)

    Returns void

  • Callback when this component joins a xr session (or becomes active in a running XR session)

    Parameters

    Returns void

  • Callback when this component exists a xr session (or when it becomes inactive in a running XR session)

    Parameters

    Returns void

  • Called for all scripts when the context gets paused or unpaused

    Parameters

    • isPaused: boolean
    • wasPaused: boolean

    Returns void

  • Parameters

    • col: ICollider

    Returns any

  • Parameters

    • col: ICollider

    Returns any

  • Parameters

    • col: ICollider

    Returns any

  • called when you decorate fields with the @validate() decorator

    Parameters

    • Optional prop: string

      the name of the field that was changed

    Returns void

  • Callback when a controller is connected/added while in a XR session
    OR when the component joins a running XR session that has already connected controllers
    OR when the component becomes active during a running XR session that has already connected controllers

    Returns void

  • Type Parameters

    • T extends unknown

    Parameters

    • effect: T

    Returns T

  • Type Parameters

    Parameters

    • type: string
    • listener: ((arg) => any)
        • (arg): any
        • Parameters

          • arg: T

          Returns any

    Returns void

  • called on a component with a map of old to new guids (e.g. when instantiate generated new guids and e.g. timeline track bindings needs to remape them)

    Parameters

    • guidsMap: GuidsMap

    Returns void

  • Parameters

    • x: number
    • y: number
    • z: number
    • w: number

    Returns void

  • Parameters

    • x: number
    • y: number
    • z: number
    • degrees: boolean = true

    Returns void

  • called at the beginning of a frame (once per component)

    Returns void

  • starts a coroutine (javascript generator function)
    yield will wait for the next frame:

    • Use yield WaitForSeconds(1) to wait for 1 second.
    • Use yield WaitForFrames(10) to wait for 10 frames.
    • Use yield new Promise(...) to wait for a promise to resolve.

    Parameters

    • routine: Generator<unknown, any, unknown>

      generator function to start

    • evt: FrameEvent = FrameEvent.Update

      event to register the coroutine for (default: FrameEvent.Update). Note that all coroutine FrameEvent callbacks are invoked after the matching regular component callbacks. For example FrameEvent.Update will be called after regular component update() methods)

    Returns Generator<unknown, any, unknown>

    the generator function (use it to stop the coroutine with stopCoroutine)

    Example

    onEnable() { this.startCoroutine(this.myCoroutine()); }
    private *myCoroutine() {
    while(this.activeAndEnabled) {
    console.log("Hello World", this.context.time.frame);
    // wait for 5 frames
    for(let i = 0; i < 5; i++) yield;
    }
    }
  • Stop a coroutine that was previously started with startCoroutine

    Parameters

    • routine: Generator<unknown, any, unknown>

      the routine to be stopped

    • evt: FrameEvent = FrameEvent.Update

      the frame event to unregister the routine from (default: FrameEvent.Update)

    Returns void

  • Optional callback, you can implement this to only get callbacks for VR or AR sessions if necessary.

    Parameters

    • mode: XRSessionMode

    Returns boolean

    true if the mode is supported (if false the mode is not supported by this component and it will not receive XR callbacks for this mode)

  • regular callback in a frame (called every frame when implemented)

    Returns void

Generated using TypeDoc