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

8 months ago

2.1.0-alpha.8

8 months ago

2.1.0-alpha.7

8 months ago

2.1.0-alpha.6

8 months ago

2.1.0-alpha.5

9 months ago

2.0.6

9 months ago

2.1.0-alpha.4

9 months ago

2.0.5

9 months ago

2.1.0-alpha.3

9 months ago

2.1.0-alpha.2

9 months ago

1.6.8

9 months ago

2.1.0-alpha.1

9 months ago

2.0.4

10 months ago

2.1.0-alpha.0

10 months ago

1.6.8-alpha.1

10 months ago

1.6.8-alpha.0

10 months ago

1.6.4

11 months ago

1.6.3

11 months ago

1.6.2

11 months ago

1.6.1

12 months ago

1.6.0

12 months ago

2.0.3

10 months ago

2.0.2

10 months ago

2.0.0-alpha.19

12 months ago

2.0.0-alpha.18

12 months 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

10 months ago

2.0.0-alpha.13

1 year ago

2.0.0

10 months ago

1.5.2

12 months ago

1.5.1

1 year ago

1.5.0

1 year ago

2.0.0-beta.2

10 months ago

2.0.0-beta.1

10 months ago

2.0.0-beta.0

10 months ago

1.5.0-alpha.0

1 year ago

1.5.0-alpha.1

1 year ago

1.6.7

10 months ago

1.6.6

11 months ago

1.6.5

11 months ago

1.4.5

1 year ago

1.6.6-alpha.0

11 months ago

2.0.0-alpha.33

10 months ago

2.0.0-alpha.32

10 months ago

2.0.0-alpha.31

10 months ago

2.0.0-alpha.30

10 months ago

2.0.0-alpha.35

10 months ago

2.0.0-alpha.34

10 months ago

1.6.0-beta.0

12 months ago

1.6.0-beta.1

12 months ago

1.6.0-beta.2

12 months ago

1.6.2-beta.0

11 months ago

2.0.0-alpha.22

11 months ago

2.0.0-alpha.21

11 months ago

2.0.0-alpha.20

12 months ago

2.0.0-alpha.29

11 months ago

2.0.0-alpha.28

11 months ago

2.0.0-alpha.27

11 months ago

2.0.0-alpha.26

11 months ago

2.0.0-alpha.25

11 months ago

2.0.0-alpha.24

11 months ago

2.0.0-alpha.23

11 months 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

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year 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