2.0.7 • Published 8 months ago

@galacean/effects-threejs v2.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Galacean Effects THREE.JS Plugin

With this plugin, you can load and render Galacean Effects animations within the THREE.JS environment.

Version Information

  • Three.js npm.io

Usage

1、THREE.JS Scene Initialization

o implement Galacean Effects in THREE.JS, you need to first create a THREE.JS scene:

import * as THREE from 'three';

// Create a renderer
const renderer = new THREE.WebGLRenderer({
  alpha: true,
  stencil: true,
  antialias: true,
  depth: true,
  premultipliedAlpha: true,
});
// Create a scene
const scene = new THREE.Scene();
const container = document.getElementById('J-container');
const { width, height } = container.getBoundingClientRect();
// Create a camera
const camera = new THREE.PerspectiveCamera(80, width / height, 0.1, 1000);

camera.position.set(0, 0, 8);
camera.lookAt(0, 0, 0);
scene.add(camera);
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(width, height);

container.appendChild(renderer.domElement);

2、ThreeDisplayObject Instantiation and Resource Loading

import { ThreeDisplayObject } from '@galacean/effects-threejs';

const displayObject = new ThreeDisplayObject(renderer.getContext(), { width, height });
// Load Galacean Effects output
await displayObject.loadScene('./xxx.json');
// Add the rendering object to the THREE scene
scene.add(displayObject);

3、Perform THREE.JS Renderingts

const { currentComposition } = displayObject;
let lastTime = performance.now();

function render () {
  // Check if the current composition has been destroyed
  if (!currentComposition.isDestroyed) {
    displayObject.update(performance.now() - lastTime);
  }

  lastTime = performance.now();
  renderer.render(scene, camera);

  requestAnimationFrame(render);
}

render();

Event System

The event system of ThreeDisplayObject is inherited from THREE.js, and events are triggered in the form of dispatch. Refer to the code below:

import { ThreeDisplayObject } from '@galacean/effects-threejs';

const displayObject = new ThreeDisplayObject(renderer.getContext(), { width, height });
// Load Galacean Effects product
const composition = await displayObject.loadScene('./xxx.json');
// Add the drawing object to the THREE scene
scene.add(displayObject);

// Using the end event as an example, refer to the above links for other events
displayObject.addEventListener('end', () => {
  // Example code
  console.info('composition is end');
});

API Documentation

2.1.0-alpha.10

8 months ago

2.0.7

8 months ago

2.1.0-alpha.9

9 months ago

2.1.0-alpha.8

9 months ago

2.1.0-alpha.7

9 months ago

2.1.0-alpha.6

9 months ago

2.1.0-alpha.5

10 months ago

2.0.6

10 months ago

2.1.0-alpha.4

10 months ago

2.0.5

10 months ago

2.1.0-alpha.3

10 months ago

2.1.0-alpha.2

10 months ago

1.6.8

10 months ago

2.1.0-alpha.1

10 months ago

2.0.4

10 months ago

2.1.0-alpha.0

10 months ago

1.6.8-alpha.1

11 months ago

1.6.8-alpha.0

11 months ago

1.6.4

12 months ago

1.6.3

12 months ago

1.6.2

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

2.0.3

11 months ago

2.0.2

11 months ago

2.0.0-alpha.19

1 year ago

2.0.0-alpha.18

1 year ago

2.0.0-alpha.17

1 year ago

2.0.0-alpha.16

1 year ago

2.0.0-alpha.15

1 year ago

2.0.0-alpha.14

1 year ago

2.0.1

11 months ago

2.0.0-alpha.13

1 year ago

2.0.0

11 months ago

1.5.2

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

2.0.0-beta.2

11 months ago

2.0.0-beta.1

11 months ago

2.0.0-beta.0

11 months ago

1.5.0-alpha.0

1 year ago

1.5.0-alpha.1

1 year ago

1.6.7

11 months ago

1.6.6

11 months ago

1.6.5

12 months ago

1.4.5

1 year ago

1.6.6-alpha.0

11 months ago

2.0.0-alpha.33

11 months ago

2.0.0-alpha.32

11 months ago

2.0.0-alpha.31

11 months ago

2.0.0-alpha.30

11 months ago

2.0.0-alpha.35

11 months ago

2.0.0-alpha.34

11 months ago

1.6.0-beta.0

1 year ago

1.6.0-beta.1

1 year ago

1.6.0-beta.2

1 year ago

1.6.2-beta.0

1 year ago

2.0.0-alpha.22

1 year ago

2.0.0-alpha.21

1 year ago

2.0.0-alpha.20

1 year ago

2.0.0-alpha.29

11 months ago

2.0.0-alpha.28

12 months ago

2.0.0-alpha.27

12 months ago

2.0.0-alpha.26

12 months ago

2.0.0-alpha.25

12 months ago

2.0.0-alpha.24

1 year ago

2.0.0-alpha.23

1 year ago

1.4.5-alpha.0

1 year ago

1.4.4

1 year ago

2.0.0-alpha.12

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

2.0.0-alpha.11

1 year ago

1.4.1

1 year ago

2.0.0-alpha.10

1 year ago

1.4.0

1 year ago

1.3.2

1 year ago

2.0.0-alpha.9

1 year ago

1.4.0-beta.1

1 year ago

2.0.0-alpha.8

1 year ago

1.3.1

1 year ago

1.4.0-beta.0

1 year ago

2.0.0-alpha.7

1 year ago

1.3.0

1 year ago

2.0.0-alpha.6

1 year ago

1.2.6

1 year ago

1.3.0-alpha.1

1 year ago

2.0.0-alpha.4

1 year ago

2.0.0-alpha.5

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

2.0.0-alpha.3

1 year ago

1.3.0-alpha.0

1 year ago

2.0.0-alpha.1

1 year ago

2.0.0-alpha.2

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

2.0.0-alpha.0

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.0-alpha.3

2 years ago

1.1.0-alpha.2

2 years ago

1.0.1

2 years ago

1.1.0-alpha.1

2 years ago

1.1.0-alpha.0

2 years ago

1.0.0

2 years ago

0.0.1-alpha.3

2 years ago

0.0.1-alpha.2

2 years ago

0.0.1-alpha.1

2 years ago

0.0.1-alpha.0

2 years ago