public Action setCurrentAction(String actionName, String layerName) { Layer l = layers.get(layerName); if (l == null) { throw new IllegalArgumentException("Unknown layer " + layerName); } Action currentAction = action(actionName); l.time = 0; l.currentAction = currentAction; return currentAction; }
public Action action(String name) { Action action = actions.get(name); if (action == null) { action = makeAction(name); actions.put(name, action); } return action; }
@Override public void onAction(String name, boolean isPressed, float tpf) { if (isPressed) { composer.reset(); armature.applyBindPose(); } else { composer.setCurrentAction("anim"); } } }, "bind");
for (String name : composer.getAnimClipsNames()) { anims.add(name); composer.actionSequence("Sequence1", composer.makeAction("Walk"), composer.makeAction("Run"), composer.makeAction("Jumping")).setSpeed(1); composer.actionSequence("Sequence2", composer.makeAction("Walk"), composer.makeAction("Run"), composer.makeAction("Jumping")).setSpeed(-1); action = composer.actionBlended("Blend", new LinearBlendSpace(1, 4), "Walk", "Run"); composer.action("Walk").setSpeed(-1); composer.makeLayer("LeftArm", ArmatureMask.createMask(sc.getArmature(), "shoulder.L")); String anim = anims.poll(); anims.add(anim); composer.setCurrentAction(anim); System.err.println(anim);
composer = new AnimComposer(); composer.addAnimClip(clip); ac.setHardwareSkinningPreferred(false); armature = ac.getArmature(); composer.setCurrentAction("anim");
AnimComposer composer = new AnimComposer(); for (AnimClip clip : anims.values()) { composer.addAnimClip(clip);
@Override public void onAction(String name, boolean isPressed, float tpf) { if (isPressed) { composer.setCurrentAction("Wave", "LeftArm"); } } }, "mask");
private void playFirstAnim(Spatial s) { AnimComposer control = s.getControl(AnimComposer.class); if (control != null) { anims.clear(); for (String name : control.getAnimClipsNames()) { anims.add(name); } if (anims.isEmpty()) { return; } String anim = anims.poll(); anims.add(anim); control.setCurrentAction(anim); composer = control; } if (s instanceof Node) { Node n = (Node) s; for (Spatial spatial : n.getChildren()) { playFirstAnim(spatial); } } }
skinData.joints = joints; skinData.skinningControl = new SkinningControl(armature); skinData.animComposer = new AnimComposer(); addToCache("skins", index, skinData, nodes.size()); skinnedSpatials.put(skinData, new ArrayList<Spatial>());
if (skinData.animComposer != null && skinData.animComposer.getSpatial() == null) { spatial.addControl(skinData.animComposer);
final AnimComposer composer = new AnimComposer(); composer.addAnimClip(clip); node.addControl(ac); composer.setCurrentAction("anim");
AnimControl control = spatial.getControl(AnimControl.class); if (control != null) { AnimComposer composer = new AnimComposer(); Skeleton skeleton = control.getSkeleton(); if (skeleton == null) { composer.addAnimClip(clip);
public Action setCurrentAction(String name) { return setCurrentAction(name, DEFAULT_LAYER); }
private void setupModel(Spatial model) { if (composer != null) { return; } composer = model.getControl(AnimComposer.class); if (composer != null) { SkinningControl sc = model.getControl(SkinningControl.class); debugAppState.addArmatureFrom(sc); anims.clear(); for (String name : composer.getAnimClipsNames()) { anims.add(name); } if (anims.isEmpty()) { return; } if (playAnim) { String anim = anims.poll(); anims.add(anim); composer.setCurrentAction(anim); System.err.println(anim); } } else { if (model instanceof Node) { Node n = (Node) model; for (Spatial child : n.getChildren()) { setupModel(child); } } } }
skin.animComposer.addAnimClip(anim); composer = new AnimComposer(); spatial.addControl(composer); composer.addAnimClip(anim); if (hasMorphTrack && spatial.getControl(MorphControl.class) == null) { spatial.addControl(new MorphControl());
@Override public void onAction(String name, boolean isPressed, float tpf) { if (isPressed) { composer.reset(); armature.applyBindPose(); } else { composer.setCurrentAction("anim"); } } }, "bind");
@Override public void onAction(String name, boolean isPressed, float tpf) { if (isPressed && composer != null) { String anim = anims.poll(); anims.add(anim); composer.setCurrentAction(anim); } } }, "nextAnim");
for (String name : composer.getAnimClipsNames()) { anims.add(name); String anim = anims.poll(); anims.add(anim); composer.setCurrentAction(anim); System.err.println(anim);
public BlendAction actionBlended(String name, BlendSpace blendSpace, String... clips) { BlendableAction[] acts = new BlendableAction[clips.length]; for (int i = 0; i < acts.length; i++) { BlendableAction ba = (BlendableAction) makeAction(clips[i]); acts[i] = ba; } BlendAction action = new BlendAction(blendSpace, acts); actions.put(name, action); return action; }
@Override public void onAction(String name, boolean isPressed, float tpf) { if (isPressed) { playAnim = !playAnim; if (playAnim) { String anim = anims.poll(); anims.add(anim); composer.setCurrentAction(anim); System.err.println(anim); } else { composer.reset(); } } } }, "toggleAnim");