Hi Everyone!
I've been browsing the forum a bit, and it seems that many people would appreciate an ORX animation editor. That's why I've decided to start writing one. I have a functional java-based version already in place. You can just get it from
here.
I've also opened the code entirely, (License:
WTFPL) it lives here:
https://github.com/enobayram/OrxAnimationEditor.git
Here's how it looks:
So, what you can do is:
* Create animations and frames
* Create animation sets (links, etc...)
* Edit various properties of frames graphically
* Edit (and visualize) offsets for each frame
* Visualize and organize animations and links inside an animation set
* View how a frame, animation or a sequence of them look
* Write all of these to a target config file.
* NOTE: It is not possible to parse an .ini file. But you can save the current editor data in a special format and load it later on. The saved editor state can be moved around in the filesystem together with the referenced files and it will keep functioning correctly.
* Help section
I'm very open to criticism/feedback as I don't claim to be an expert java programmer. Please add features and make the GUI more beautiful as you see fit.
I hope this ends up being useful to someone.
Cheers!
Comments
I've testet the output .ini files with orx and they worked
I've also added snipping and a bad slider for changing the snipping size :P AnimEditor with snipping
When I tried to make a .jar out of it I had big trouble with the ImageIcon stuff being static :O I don't have any knowledge about Java and wasn't able to use the icons in the jar, maybe you can help.
AnimEditor.jar
I'm glad it's working, thanks for testing it
About the jar issue. There are ways to make image loading possible from jar files, but I never bother. I treat the jar file as I treat the main .exe in a game. So I just distribute my application in its own working directory as a .zip.
Thanks!
Like putting the .jar and the icons folder in one directory?
I've tried that on Ubuntu 12.04 but it didn't work
Even adding it to the .jar archive didn't work.
I've tried but it doesn't work since your ImageIcons are static
Cheers!
Thanks again enobyram, all hail orx
KarloBob, I've updated both the source, and the original binary link to work both from a standalone .jar, and from .class files (since that's the way it's run from an IDE). Now everyone can enjoy a double click!
Cheers, and thanks for all the feedback.
All hail orx and Ubuntu!
I'm looking forward to giving it a try over the week end!
I've finished implementing rudimentary support for animation set editing. So, maybe we can call the editor in its alpha stage. I've updated the git repository, and the binary link.
So, the editor looks like this now:
For example, when you choose "Write to Target" for the state of that screenshot, here's the generated .ini file:
When you do something insensible, f.x, having multiple objects with the same name, or not having set the texture size for a certain frame, writing to the target either results in a null pointer exception, or it simply creates a wrong output (f.x. having a frame and an animation with the same name). But as long as the animation set you're trying to generate makes sense, there's no problem. There are probably also many bugs obviously, but we'll discover them over time.
For those, who might have tried to save the state of the editor with an earlier version; That saved state will not work with the latest version, since I didn't try to stay compatible. Since the editor is now in a functional state, and might be used by someone for useful results, I'll try to keep the loading backward compatible in the future (as much as is reasonable).
I'm looking forward to your feedback!
Cheers.
Do I need anything else than the .jar? Trying to run it (double click) I get an error message telling me the main class orxanimeditor.ui.EditorMainWindow isn't found.
Do I do something wrong (haven't touched Java for about 12 years) or is that a version incompatibility?
Also, is it easy to load a C library from Java? If so, you could benefit of orx's config module and this one will make sure the data is saved with the same format it can read (orxConfig_Load()/orxConfig_Save()) and can also be helpful for your own save state.
No need to use a full version of orx for that, you can compile the library in non-embedded mode (ie. no plugins won't be contained in the library), that's what I'm doing with the orxCrypt and orxFontGen tools too (no display init, etc...).
It might not be worth the hassle though but I thought I'd mention it.
You should be able to simply double click the .jar file. I agree that the .jar isn't working probably due to some JRE version issues. This is an interesting experience for me, since I've never tried to distribute .jar files before. I've tried to compile for JRE 1.6 this time (it was 1.7 before). So, please try again. What OS are you running?
Nice idea! It's actually very easy (read: "not so hard"
I'd really appreciate feedback from anyone that tries to run the .jar file, along with OS and JRE version information if it's not a big trouble.
Cheers!
As for the skeletal animations, what do you guys use to edit them?
For the records, my main OS would be Win7 64b but I also have access to OS X 10.6, an Ubuntu 8.04 32b and a Mint 11 64b.
For orx, there's no external dependency from the core system (ie. everything par of orx library as opposed to the plugins) except for a self contained dlmalloc use and std lib C accesses for maths, memory and file handling. That means there won't be any OpenGL/OpenAL craziness by default unless you asks for it via the plugins.
As for rendering in another window, it's possible with a slight modification of the display plugin (that I should really integrate in the trunk). For an example, you can have look at ainvar's editor, Ocean: https://forum.orx-project.org/discussion/2772
On windows, it's just a matter of setting the windows ID somewhere in config and use it from within the GLFW/display plugin part. Not sure about the other OSes but there is probably a similar way of doing it.
For the new animation system, well, haven't worked on it for months and months, I did the timeline and command modules instead. ^^
Not sure why but I can't motivate myself to work on that... I'll try again end of summer when I get some time.
I'm back from my vacation, and resumed (sort of) real life. I'd like to let you know that I've improved the animation editor (with significant support from KarloBob from the very beginning). The original binary and source links point to the latest version as usual...
Well, the new features since I've last written here are:
- Old rectangle toggle button; the possibility to re-use the previous rectangle in the frame editor view(Thanks to KarloBob)
- The ability to re-arrange animation icons on the animation set viewer (Thanks to KarloBob)
- Now the animation project works even if all the files are moved together. To explain further, now you can do all the editing, and save your editor data to a .oap (orx animation project) file. Now, if you move your image files, the ini file and the oap file together, you can go back to your editing from the new location.
Again, thanks to KarloBob, I've also fixed many bugs. I think, especially with the addition of the last feature, the editor can be truly useful in a real project.
Pending features:
- Ability to pop out/in individual views to their own windows.
- Improvements to the animation viewer, such that you have control over what is displayed. I'm also planning to add the ability to display animation sequences.
Meanwhile I've also managed to run ORX on Android!!! Making the number of platforms I've run ORX on 3/5
Sorry for the delayed post but I have a lot of things going on in my private life at the time and that doesn't leave me with much computer time!
Looking forward to seeing how the editor is shaping up.
If you have any questions in the meantime, don't hesitate!
NP, I know all too well how having no time feels. I have my own set of forum threads, where I'm planning to reply to your last post, after finding the time to try your respective suggestion
I have uploaded a significantly improved version of the editor. Now it has its own help included, viewable from inside the editor.
I've also fixed various bugs, and improved its usability overall (such as a save prompt before closing). The github repository and the original .jar download link is updated as usual.
Cheers
@Reemon: I'm glad you liked it
Cheers!
Cheers
There's now a new version of the editor. I don't want to spam you, but this one's sort of important, because I've made some major changes to the underlying data structures (though there's no visible change to the user). The point is that, the changes are so drastic that I couldn't hope to maintain project file compatibility. This had to be done at one point, so I thought now is probably the best
I hope to be able to maintain some decent backward-compatibility from now on, since the architecture is much cleaner now.
I'm sure the silent majority of us are interested as well.
BTW, I've watched the Clarion project videos. It's looking really nice! I've also really liked the pixel perfect animations in the older videos. The newer ones are also quite accurate, but not as perfect as the low-res sprites.
That got me thinking how the animation editor could actually help with pixel perfecting the animations. One thing that comes to mind is to be able to slide the animation inside the animation viewer with a configurable velocity, this way, one could very carefully adjust frame delays and pivots to achieve pixel perfect animations.
One could extend this sliding idea with a full system of keyframes, but I'm not sure if this has applications.
What do you think?
Do you know of a good editor that might help with this???
So in my situation, my animation frames vary by width. I keep a value in the config anims for each frame and I use this as the offset to move forward so many pixels.
Would it help you to decide on an approach for the editor if I send you the appropriate config file from the Clarion Project?
It's a good idea to stitch the offset to the frames, that will also make it easier to code in the editor. If you send me the config files, I can make the offset a graphically editable property that also gets written to the .ini file. You can then see the result of the offset immediately in the viewer.
I think the config file would be nice to have, so that we know we're talking about the same thing.
Very exciting
That'd be nice if we could do it inside your editor, for sure.