2.0.0-alpha.1 • Published 1 month ago

srm-effects-plugin-spine v2.0.0-alpha.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

Galacean Effects Spine Plugin

Usage

Simple Import

import { Player } from 'srm-effects';
import 'srm-effects-plugin-spine';

Get Spine Resource List

import type { SpineResource } from 'srm-effects-plugin-spine';

const comp = await player.play(scene);
const spineData: SpineResource[] = comp.loaderData.spineDatas;

Get Animation List / Skin List

  1. Get using functions
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name)
const { skeletonData } = item.spineDataCache;
const animationList = getAnimationList(skeletonData);
const skinList = getSkinList(skeletonData);
  1. Get from the spineDatas array
const comp = await new Player().loadScene(scene);
const { skinList, animationList } = comp.loaderData.spineDatas[index];

Get Duration of a Specific Animation

const animationDuration = getAnimationDuration(skeletonData, animationName);

Get Texture Creation Options

import { getTextureOptions } from 'srm-effects-plugin-spine';

const { magFilter, minFilter, wrapS, wrapT, pma } = getTextureOptions(atlasBuffer);

Set Animation Mix Duration

  1. Set default mix duration for an animation (should be called before player.play)
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);

item.setDefaultMixDuration(mix);
  1. Set mix duration for a specific transition (should be called before player.play)
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);

item.setMixDuration(animationOut, animationIn, mix);

Set Playback Speed

const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);

item.setSpeed(speed);

Set Animation

  1. Set a single animation
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);

item.setAnimation(animationName, speed);
  1. Set a group of animations
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);
const animationList = [animationName1, animationName2, animationName3];

item.setAnimation(animationList, speed);

Development

Getting Started

# demo
pnpm --filter srm-effects-plugin-spine dev

Open in browser: http://localhost:8081/demo/

Frame Comparison Testing

Open in browser: http://localhost:8081/test/

2.0.0-alpha.0

1 month ago

2.0.0-alpha.1

1 month ago

0.1.0-alpha.5

5 months ago

0.1.0-alpha.4

5 months ago

0.1.0-alpha.7

5 months ago

0.1.0-alpha.6

5 months ago

0.1.0-alpha.1

5 months ago

0.1.0-alpha.0

5 months ago

0.1.0-alpha.3

5 months ago

0.0.0-beta.2

5 months ago

0.0.0-beta.1

5 months ago