I used Maya-blend-shape to make an animation, then used ogreMax to export it(Object-settings: Skeleton+pose), and there were no skeleton-animation-data in .skeleton.xml but some pose-naimation-data in .mesh.xml. And then i converted .mesh.xml to .bones(can.bones), when i tried to run it with ninja-demo-src, crash happened.
log-cat-info:
07-21 13:55:47.266: E/AndroidRuntime(2978): FATAL EXCEPTION: main
07-21 13:55:47.266: E/AndroidRuntime(2978): java.lang.NullPointerException
07-21 13:55:47.266: E/AndroidRuntime(2978): at bones.samples.android.NinjaDemoActivity.onCreateOptionsMenu(NinjaDemoActivity.java:350)
07-21 13:55:47.266: E/AndroidRuntime(2978): at android.app.Activity.onCreatePanelMenu(Activity.java:2158)
And my code in NinjaDemoActivity.java:350:
public boolean onCreateOptionsMenu(Menu menu) // line 341
{
menu.add(0, MENU_STOP_ANIM, 0, "Stop Animation");
if(MESH_ANIM_ALLOWED)
menu.add(0, MENU_USE_MESH_ANIM, 0, "Use Mesh Animation").setCheckable(true);
SubMenu animMenu = menu.addSubMenu("Animation");
int menuItem = 101;
for(SkinClip clip : masterNinja.getSkinClipSequence()) //line 350, and init code: masterNinja = BonesIO.loadGroup(res.openRawResource(R.raw.can));
{
animMenu.add(0, menuItem++, 1, "Anim: " + clip.getName());
}
return true;
}