@Override
    public void simpleInitApp() {
        flyCam.setMoveSpeed(10f);
        cam.setLocation(new Vector3f(6.4f, 7.5f, 12.8f));
        cam.setRotation(new Quaternion(-0.060740203f, 0.93925786f, -0.2398315f, -0.2378785f));

        DirectionalLight dl = new DirectionalLight();
        dl.setDirection(new Vector3f(-0.1f, -0.7f, -1).normalizeLocal());
        dl.setColor(ColorRGBA.White);
        rootNode.addLight(dl);
        /*
         * Load the Jaime model and convert it
         * from the old animation system to the new one.
         */
        Spatial model = assetManager.loadModel("Models/Jaime/Jaime.j3o");
        AnimMigrationUtils.migrate(model);
        /*
         * Play the "Idle" animation at half speed.
         */
        control = model.getControl(AnimComposer.class);
        control.setCurrentAction("Idle");
        control.setGlobalSpeed(0.5f);
        /*
         * Define a "PunchesOnce" action sequence to play the "Punches"
         * animation for one cycle before returning to idle.
         */
        Action punches = control.action("Punches");
        Tween doneTween
                = Tweens.callMethod(control, "setCurrentAction", "Idle");
        punchesOnce = control.actionSequence("PunchesOnce", punches, doneTween);

        model.center();
        model.setLocalScale(5f);

        Box box = new Box(0.3f, 0.02f, 0.02f);
        Geometry saber = new Geometry("saber", box);
        saber.move(0.4f, 0.05f, 0.01f);
        Material red = assetManager.loadMaterial("Common/Materials/RedColor.j3m");
        saber.setMaterial(red);
        /*
         * Create an attachments node for Jaime's right hand,
         * and attach the saber to that Node.
         */
        SkinningControl skeletonControl = model.getControl(SkinningControl.class);
        Node n = skeletonControl.getAttachmentsNode("hand.R");
        n.attachChild(saber);
        rootNode.attachChild(model);

        inputManager.addListener(this, "Attack");
        inputManager.addMapping("Attack", new KeyTrigger(KeyInput.KEY_SPACE));
    }
Simple application to test an attachments node on the Jaime model.

Derived from {@link jme3test.model.anim.TestOgreAnim}.
jme3-examples/src/main/java/jme3test/model/anim/TestAttachmentsNode.java