srm-effects-plugin-spine
v2.0.0-alpha.3
Published
Galacean Effects player spine plugin
Downloads
5
Readme
Galacean Effects Spine Plugin
Usage
Simple Import
import { Player } from '@galacean/effects';
import '@galacean/effects-plugin-spine';
Get Spine Resource List
import type { SpineResource } from '@galacean/effects-plugin-spine';
const comp = await player.play(scene);
const spineData: SpineResource[] = comp.loaderData.spineDatas;
Get Animation List / Skin List
- 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);
- 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 '@galacean/effects-plugin-spine';
const { magFilter, minFilter, wrapS, wrapT, pma } = getTextureOptions(atlasBuffer);
Set Animation Mix Duration
- 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);
- 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
- Set a single animation
const comp = await new Player().loadScene(scene);
const item = comp.getItemByName(name);
item.setAnimation(animationName, speed);
- 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 @galacean/effects-plugin-spine dev
Open in browser: http://localhost:8081/demo/
Frame Comparison Testing
Open in browser: http://localhost:8081/test/