HomeWeb Components API Reference - v0.23.0
    Preparing search index...

    Class CollisionComponentElement

    The CollisionComponentElement interface provides properties and methods for manipulating <pc-collision> elements. The CollisionComponentElement interface also inherits the properties and methods of the HTMLElement interface.

    For type="mesh", the collision geometry defaults to the host entity's own render component (its render asset) — a collider matching the visible mesh, which is what a mesh collider on a glTF node means. The default resolves each time the component applies, so a pc-node that retargets or rebinds picks up the new node's geometry. An entity with no asset-backed render component warns, and the collider has no shape.

    Engine component: CollisionComponent (collision).

    Hierarchy (View Summary)

    Index
    • get angularOffset(): Quat

      Gets the rotation of the collision shape relative to the entity, in local space.

      Returns Quat

      The angular offset.

    • set angularOffset(value: Quat): void

      Sets the rotation of the collision shape relative to the entity, in local space. Defaults to no rotation.

      Parameters

      • value: Quat

        The angular offset.

      Returns void

    • get axis(): number

      Gets the local axis along which a capsule, cylinder or cone shape is aligned: 0 for X, 1 for Y and 2 for Z.

      Returns number

      The axis.

    • set axis(value: number): void

      Sets the local axis along which a capsule, cylinder or cone shape is aligned: 0 for X, 1 for Y and 2 for Z. Defaults to 1.

      Parameters

      • value: number

        The axis.

      Returns void

    • get closestApp(): AppElement | null

      The nearest ancestor <pc-app> element, or null if this element has no <pc-app> ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns AppElement | null

      The closest app element, or null.

    • get closestEntity(): EntityBaseElement | null

      The nearest ancestor element that fronts an entity — <pc-entity>, <pc-model> or <pc-node> — or null if this element has no such ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns EntityBaseElement | null

      The closest entity-fronting element, or null.

    • get convexHull(): boolean

      Gets whether a mesh shape is treated as a convex hull rather than a triangle mesh.

      Returns boolean

      Whether the mesh is a convex hull.

    • set convexHull(value: boolean): void

      Sets whether a mesh shape is treated as a convex hull rather than a triangle mesh. A triangle mesh can only be used with a static rigid body; a convex hull can also move as a dynamic or kinematic one. Defaults to false.

      Parameters

      • value: boolean

        Whether the mesh is a convex hull.

      Returns void

    • get enabled(): boolean

      Gets the enabled state of the component.

      Returns boolean

      The enabled state of the component.

    • set enabled(value: boolean): void

      Sets the enabled state of the component.

      Parameters

      • value: boolean

        The enabled state of the component.

      Returns void

    • get height(): number

      Gets the total height of a capsule, cylinder or cone shape, measured tip to tip along its axis.

      Returns number

      The height.

    • set height(value: number): void

      Sets the total height of a capsule, cylinder or cone shape, measured tip to tip along its axis. Defaults to 2.

      Parameters

      • value: number

        The height.

      Returns void

    • get type(): | "box"
      | "capsule"
      | "compound"
      | "cone"
      | "cylinder"
      | "mesh"
      | "sphere"

      Gets the shape of the collision volume.

      Returns "box" | "capsule" | "compound" | "cone" | "cylinder" | "mesh" | "sphere"

      The type.

    • set type(
          value:
              | "box"
              | "capsule"
              | "compound"
              | "cone"
              | "cylinder"
              | "mesh"
              | "sphere",
      ): void

      Sets the shape of the collision volume. Can be box, sphere, capsule, cylinder, cone, mesh or compound: a mesh shape takes its geometry from the host entity's render asset, and a compound shape combines the shapes of descendant entities' collision components into one rigid shape. Defaults to box.

      Parameters

      • value: "box" | "capsule" | "compound" | "cone" | "cylinder" | "mesh" | "sphere"

        The type.

      Returns void

    • Called when the element is fully initialized and ready. Subclasses should call this when they're ready. Resolves the ready promise and dispatches a bubbling, composed ready event. Signals at most once per readiness cycle: a repeat call before _resetReady has re-armed the promise does nothing.

      Returns void

    • Returns the ready promise to its pending state. Subclasses should call this when the resource their readiness announced is torn down (typically from disconnectedCallback), so that a later re-initialization can signal readiness again. Does nothing while the promise is still pending — an in-flight waiter carries over to the next readiness cycle rather than being stranded on a promise nothing will ever resolve.

      Returns void

    • Returns the data the component is created with. Overridden by subclasses to supply the initial values of their cached properties.

      Returns {
          angularOffset: Quat;
          axis: number;
          convexHull: boolean;
          halfExtents: Vec3;
          height: number;
          linearOffset: Vec3;
          radius: number;
          type:
              | "box"
              | "capsule"
              | "compound"
              | "cone"
              | "cylinder"
              | "mesh"
              | "sphere";
      }

      The initial component data.

    • Returns a promise that resolves with this element when it's ready. This is the low-level primitive underlying whenReady, which is the recommended way to wait for elements.

      Readiness tracks the element's current lifecycle: once a ready element is torn down (for example by removing it from the document), this returns a fresh promise that resolves when the element is next ready. A promise obtained earlier stays resolved — call this again after re-inserting an element rather than reusing a promise from before its removal.

      Returns Promise<CollisionComponentElement>

      A promise that resolves with this element when it's ready.