JSPM

aframe-raycast-target

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q22279F
  • License MIT

Simple utility component that is used to enable proxy raycasting.

Package Exports

  • aframe-raycast-target
  • aframe-raycast-target/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aframe-raycast-target) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Overview

A very simple utility component that is used to enable proxy raycasting.

Proxy raycasting is a pattern where the entity used for raycasting is different from the entity that is selected or manipulated by raycasting. It enables performance improvements when raycasting against entities with complex geometry by allowing raycasting computations to be performed against an entity with simpler geometry, which can be substantially more efficient.

The entity with simpler geometry could be a low-poly mesh that approximates the entity's geometry. Or in cases where precision raycasting is not required, it could be as simple as a bounding cube or sphere.

Schema

raycast-target has a single property schema

The property is a selector for the target for which this entity is acting as a raycast proxy. If no value is specified, the entity will be set up as a raycast proxy for itself (i.e. no proxying takes place).

Usage

raycast-target exposes the target entity on the target property

Here's some sample code that extracts a raycast target if available, and defaults to the entity itself if not.

getRaycastTarget(el) {
    if (el.components['raycast-target']) {
        return el.components['raycast-target'].target
    }
    else {
        return el
    }
},

Installation

Via CDN

<script src="https://cdn.jsdelivr.net/npm/aframe-raycast-target@0.1.0/index.min.js"></script>

Or via npm

npm install aframe-raycast-target

Components supporting Proxy Raycasting

The following high-level components support proxy raycasting using raycast-target.

Examples

To follow...

Code

raycast-target