1.0.0 • Published 2 years ago

@beilinson/model-viewer-effects v1.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

<model-viewer-effects>

npm bundle size npm (scoped)

<model-viewer-effects> is a web component library addon for <model-viewer> that makes adding post-processing effects to your models easy to do, on as many browsers and devices as possible.

<model-viewer-effects> strives to give you great defaults for rendering quality and performance.

A 3D Model of a Rocket Ship

Usage

Using effects is as simple as adding the <effect-composer> inside your <model-viewer>, and placing any effects inside the composer component.

<model-viewer src="...">
  <effect-composer>
    <bloom-effect></bloom-effect>
  </effect-composer>
</model-viewer>

PostProcessing

<model-viewer-effects> uses the postprocessing library under the hood, for its superior performance and support.

While not all effects are wrapped by this library, you can add any custom effects/passes that follow the postprocessing spec.

There is no documentation yet, but you may refer to the types for all available properties.

XR Support

The effects are not supported in the <model-viewer> XR modes, which will render as usual.

Installing

NPM

The <model-viewer-effects> library can be installed from NPM:

npm install three @google/model-viewer @google/model-viewer-effects

HTML

<model-viewer-effects> and <model-viewer> share a Three.js dependency. In order to avoid version conflicts, you should bring Three through an import-map:

<script type="importmap">
  {
    "imports": {
      "three": "https://cdn.jsdelivr.net/npm/three@^0.150.0/build/three.module.js"
    }
  }
</script>

You should then bring the no-three version of <model-viewer>, along with <model-viewer-effects> from your favourite CDN, such as jsDelivr:

<script type="module" src=" https://cdn.jsdelivr.net/npm/@google/model-viewer/dist/model-viewer-no-three.min.js "></script>

<script type="module" src=" https://cdn.jsdelivr.net/npm/@google/model-viewer-effects/dist/model-viewer-effects.min.js "></script>

Browser Support

<model-viewer-effects> is supported on the last 2 major versions of all evergreen desktop and mobile browsers, and on all platforms (Android, IOS, MacOS, Windows, Linux).

Chrome Firefox Safari Edge
Desktop
Mobile

<model-viewer-effects> builds upon standard web platform APIs so that the performance, capabilities and compatibility of the library get better as the web evolves.

Development

To get started, follow the instructions in the main README.md file.

The following commands are available when developing <model-viewer-effects>:

CommandDescription
npm run buildBuilds all <model-viewer-effects> distributable files
npm run build:devBuilds a subset of distributable files (faster than npm run build)
npm run testRun <model-viewer-effects> unit tests
npm run cleanDeletes all build artifacts
npm run devStarts tsc and rollup in "watch" mode, causing artifacts to automatically rebuild upon incremental changes

Rocket Ship by Daniel Melchior CC-BY via Poly Pizza