Spine: 2D skeletal animation

Hi

When I double-click on the JAR, it opens Ark instead of running Spine ???

Edit.: It works fine with OpenJDK 1.7 under Mageia Linux 2 with my Nvidia NVS 285. I have a single monitor.

scene2d.ui seems really cool but I don’t know how to make it work with Ardor3D. I would like to use it with JOGL 2.0 in JFPSM.

scene2d is libgdx specific and there’s simply no way we’ll make it generic for compatibility for other frameworks.

shiu, nate: spine is really amazing, i hope your effort pays off.

A friend told me about spriter I really liked the idea but it crashed too much. Then I saw that other one on here and was like, “nice nice” Then this… :yawn:… :o… :-… :emo:… :cranky:… :-|… :clue:… :)… :D… ;D

That was the exact emotional journey I had.

Love it

Sweet, thanks for trying that out. :slight_smile: Anyone want to try on Linux?

Usually this means that you don’t have OpenGL. If other LWJGL apps work, I guess something about the why libgdx uses LWJGL causes this on your system. This could be important to fix for both Spine and libgdx. Not really sure where to start though. :clue:

I guess your OS GUI doesn’t run Java automatically? Can you suggest a better way to package the app for Linux, so users don’t have to know to use “java -jar …”?

[quote]scene2d.ui seems really cool but I don’t know how to make it work with Ardor3D. I would like to use it with JOGL 2.0 in JFPSM.
[/quote]
scene2d uses a number of classes from libgdx. You’d have to port quite a bit to get it to work elsewhere, it wasn’t designed for that. Much of it is not libgdx specific but sprite batching, textures, utility classes, collections, etc are. Basically, you’d have to fork it (which would be perfectly fine with me if you wanted to). :slight_smile:

Nice app you got here.

Ran fine on my laptop with Ubuntu 12.04 on both OpenJDK and Oracle (both 6 and 7). Double click ran it as expected, but I think I had previously changed my settings for jar files. I suppose you could bundle a shell script to start it if it is a concern. Also, I went ahead and tried changing graphics in the file system, and they updated in Spine automatically.

Again, nicely done. I wish I had something to use it for, but I lack any sort of talent in that area.

There is an option in LWJGL to allow “software” OpenGL (Microsoft GDI OpenGL emulation through Direct3D):
org.lwjgl.opengl.Display.allowSoftwareOpenGL=true

I’m not a specialist of this set of APIs, maybe I’m completely wrong.

Maybe provide a bash script. You can use RedLine RPM and something else for DEB packages. Java Web Start would be cool too.

scene2d uses a number of classes from libgdx. You’d have to port quite a bit to get it to work elsewhere, it wasn’t designed for that. Much of it is not libgdx specific but sprite batching, textures, utility classes, collections, etc are. Basically, you’d have to fork it (which would be perfectly fine with me if you wanted to). :slight_smile:
[/quote]
Ok. I will have to write a LibGDX backend based on JOGL 2.0 in some months. Maybe I will try to port some components from scene2d.ui to Ardor3D UI.

This is a really lovely little animation toolkit! Can’t wait to throw some money at it when a libGDX exporter becomes available. Price of a new game seems fair. $50-$60 range -(alpha release discount?)

Got my character in and walking in about an hour, rock steady, smooth as butter, Intuitive keyframing. Some of the UI buttons could be a bit more intuitive tho.

Thanks for testing that out. Pretty happy with the file watch stuff in Java 7. Bit of a weird API, but it took only ~100 lines of code to have dir watching functionality that fails gracefully on Java 6.

I think Spine is good for us talentless developers. :wink: If you can source graphics somewhere, you can get quite a lot out of them if you do the animation yourself. Also it can be used for non-character animation, like GUI transitions or effects (explosions, etc).

That’s right, I forgot about that. I’ll enable it and if software is used I’ll put up a warning alert box that the app may be slow. :slight_smile: I’ll also put in a shell script. I guess naming it “run.sh” is obvious enough?

Note that while scene2d supports rotation and scale of actor groups, this is not typically used with scene2d.ui (though it does work, mouse input, hit detection and all). In fact, some functionality is only for use with screen aligned actors (such as clipping). When porting scene2d for UIs, rotation and scale could be omitted. Then again, it is probably easier to port without changing functionality at the same time.

Thanks for your thoughts on the price. Glad to hear you got up and running so quickly! Super cool. 8) Got a screenshot? Which UI buttons did you find were not intuitive? Note you can hover over a button for 2 seconds to get a tooltip. Press F1 to get tooltips without waiting the 2 seconds.

Cool, really looking forward to seeing what other people will create with spine.
If you can tell us what it is you don’t find intuitive, we will definitely look into what options we have to improve it.

Well I’ve since watched the 5 minute video and things make a lot more sense now.

Couple little things:

  • When in setup - pose mode and dragging an image onto the selected bone in the hiarchy tree it works but the display does not update to reflect it (and since you cant drag images onto the stage in pose mode anyway maybe you should just disable dragging on images in pose mode) In fact, dragging images into the scene in pose mode is the only crash I’ve found.
  • When Adding bones on top of an image attached to another bone er… well you cant… it selects the image instead of starting the bone.
  • If you add a bone directly on top of another bone (ie to make 2 identical leg chains) the bones dont parent properly.
  • I keep pressing A wanting to add another bone (old habits)… is there a shortcut for that? or anything else with shortcuts should be listed on the tooltips.
  • Adjusting the draw order allows you to select multiple images, but when you drag em only one of them gets moved.
  • Also in the Draw order. I have a slot called Bone4… It would be cool to have the contained images highlight in the skeleton above or on the stage so I can see where that is.

Here’s a screenshot of my goblin swingin his pick, :slight_smile:
He’s a bit blurry because the actual character is only ~ 100px tall

So I go to try this and gives me an error. Look at the error and it says openGL is not supported by the video drivers which is bull as I have run just about everything anyone else has posted on here with no hiccups.

actual error log.

http://pastebin.java-gaming.org/fd16b5f2e38

What gives? >:( I am mostly mad at my computer as there is no way it is your programing skillz. ;D

Anyways, looking forward to trying this out and I can almost guarantee one purchase here when your done. 8)

If you want, I can provide you a small piece of code to detect the GDI crap, I just have to port these few lines to LWJGL. Yes “run.sh” is nice.

At first, I will port the current backend from JOGL 1 to JOGL 2.0, maybe with NEWT + NEWT/AWT/SWT bridges too if it is ok for you. Then, I will try to understand how you render some components I would like to port to Ardor3D UI.

I’ve updated the download links in the first post to version 0.82beta. This fixes a few crash bugs, fixes the app not running on some computers, adds a splash screen, and various other fixes and polish. Can someone try it on Mac and Linux to see if the splash screen is shown there? You’re the breast! :wink:

Drakkheim, thanks for taking the time to provide your feedback! :slight_smile: And that is a super cool goblin you have! :smiley:

In setup mode you should be able to drag from the tree directly into the editor. This attaches the image to the root bone. You can also drag directly to a bone in the tree. There was a nasty bug I finally tracked down where sometimes image drag and drop stopped working. It is fixed in version 0.82beta so hopefully you are good now.

True, but use the “Options” pane to disable selection of images.

Not sure what you mean here. When you create a new bone, it uses the currently selected bone as the parent. So, be sure you have the correct bone selected when you create the second leg.

[quote]- I keep pressing A wanting to add another bone (old habits)… is there a shortcut for that? or anything else with shortcuts should be listed on the tooltips.
[/quote]
Version 0.82beta now has hotkeys. They are not yet listed in the tooltips though, will do that soon. :slight_smile:

[quote]- Adjusting the draw order allows you to select multiple images, but when you drag em only one of them gets moved.
[/quote]
Yea, the tree allows multiple selection (for the tree’s property pane) but drag and drop doesn’t. It makes my life so much easier! :smiley: I might come back and change this later.

Agreed, I will make it select the image in the editor when you select a slot in the tree.

This is the same issue deathpat had. I believe this is now fixed in version 0.82beta. :slight_smile: Can you guys give it a whirl?

Yes, I would like that, thank you. :slight_smile: If it is easier, you can just post what you have and I can port to LWJGL. Starting with 0.82beta the Linux download has a run.sh.

By all means, port away! :slight_smile: I hope you will find the scene2d widgets very simple.

Yes. Works here. Splash screen shows, loading text shows…

One issue I’ve just found: When you move the view with right-click, then it somehow jitters around… when releasing the mouse everything looks right, but when holding the mouse and moving, it looks very strange.

Latest version no longer opens on my Mac.

However, I can open package contents and locate the spine.jar executable, and double-clicking that opens the program with a loading splash screen.

Another minor point of criticism: it was not immediately clear that the “spine” logo in the top left was actually a button!

Otherwise keep it up… Really great stuff.

Thanks. This jitter happens on Linux? I see something sort of similar (I think) happening in VirtualBox. :clue: What exactly do you mean by it looks strange?

Oh god oh god oh god… :emo: Can you edit the Contents/Info.plist? I’m guessing the “-splash:splash.png” entry in “VMOptions” is keeping it from running. With that gone does it run and show a splash screen? Maybe removing the entire VMOptions section would help?

Yes. Archlinux, Java7.

Erm… it jumps between two positions rapidly when moving the view. It’s hard to explain really :slight_smile:
The faster I move the mouse the more “difference” is between those two positions. Probably this is due to some “smoothing” code… probably? (Probably because the input handling differs in linux)

Changing the Info.plist didn’t do anything, but here is the log file I didn’t see earlier:

Spine 0.82beta
Mac OS X
NVIDIA Corporation
NVIDIA GeForce 9400 OpenGL Engine
2.1 NVIDIA-1.6.26
Java 1.6.0_22
Apple Inc.
Java HotSpot(TM) 64-Bit Server VM
java.lang.NoClassDefFoundError: java/nio/file/FileSystems
	at com.esotericsoftware.spine.editor.utils.FileWatchJava7.<init>(FileWatchJava7.java:26)
	at com.esotericsoftware.spine.editor.utils.FileWatch.newInstance(FileWatch.java:21)
	at com.esotericsoftware.spine.editor.Editor.create(Editor.java:123)
	at com.badlogic.gdx.backends.lwjgl.LwjglCanvas.create(LwjglCanvas.java:169)
	at com.badlogic.gdx.backends.lwjgl.LwjglCanvas$1$1.run(LwjglCanvas.java:71)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: java.nio.file.FileSystems
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	... 13 more
Started.

As you can see I don’t have Java7… :stuck_out_tongue:

EDIT: It should be noted that requiring Java7 will make your app unusable for any Macs that are running less than Lion (e.g. less than 10.7.3).

As you can see there is still a large number of Macs using 10.6, about 30%.

matheus23, ok thanks. Yeah that is what I see in VirtualBox. Thing is it happens even when I drag around windows in the OS UI.

Oh, that exception shouldn’t be printed. It tries to use the Java7 file watch stuff, but fails gracefully. It gets to “Started” so the app should work! I’m betting that log is from when you ran the JAR, and that running Spine.app doesn’t get that far. Literally the only thing I changed is the Info.plist. Maybe you can try this one?