Jump to content

Please post feature suggestions here.


Mike at BrashMonkey

Recommended Posts

A button to zoom camera that sprites have real 1:1 size might be useful sometimes.

Have you checked out the "View" menu? Try "Restore Zoom (Ctrl+Alt+Shft+Space)". Are you just suggesting a tool-bar button be assigned to this function?

Since any given image can be scaled up or down, it's not possible to have one zoom level that shows each one at its original size, but AFAIK, "Restore Zoom" shows unscaled images at actual size.

Link to comment
Share on other sites

A suggestion regarding a "new" feature, if it can be implemented would be nice :

- exporting xml/scml sheet that has -ONLY the collision boxes cordinates : location x, y , width and height for each frame exported in the sprite sheet -.

normally , when I want to use Collision boxes feature in spriter, i have to load the scml using java generic importer which uses alot of RAM in the android devices compard to using sprite sheets. so if there was A way to obtain collision boxes cordinates using small xml/scml file without loading the original smcl file that has everything in it will save alot of RAM space in iphones/android, as a programmar i'll just have to fix the cordinates with each image in the exported sprite sheet during runtime.

I dunno how many ppl needs this feature, but as an android game developer this small feature if it was implemented would means the world to me :)

clarification :

file > export to PNG > Export as Sprite sheet with SCML for Collision box cordinates"(2 files , spritesheet.png and collision.xml)

Link to comment
Share on other sites

This may sound crazy to suggest, as spriter's main focus really is cut out style animation.

However seeing as to how it is starting to turn out to be a versatile game animation tool, I cant help but suggest adding a simple pencil/eraser tool/layer to:

1. make an animation pencil test right inside spriter- it is easier to explore motion when sketching it, rather than posing the character.

2. Use it to draw/animate more dynamic things, sich as the character's hair, etc.

Synfig is a cut out animation software. They recently started incorporating traditional animation workflow by adopting the open source brush engine that mypaint is using.

https://gitorious.org/mypaint/libmypain ... 3027727885:

https://github.com/blackwarthog/synfig/ ... d6f2927810

it took them a month to get it in synfig.

spriter has all the needed workflow tools to be an excellent animation package already. Onion skinning. An excellent timeline and playback.

If you add a simple pencil tool to sketch , it doesnt even have to be like what synfig guys did- getting the entire brushlib engine from mypaint.It would at least save me the effort to animate it in pencil2d or PAP before doing the cut out version

http://plasticanimationpaper.dk/

That aside, I would like to thank you for implementing the ability to import an animation sequence!!! It really really helps a lot :mrgreen:

Link to comment
Share on other sites

There is a little suggestion.

I hope Spriter could remember the window size & layout.

The default size of Spriter's window is bigger then my mac screen. I have to resize it to smaller and hide some views.

But when I restart the Spriter or open a new Project , it will be back to the default status.

Thank you very much.

Link to comment
Share on other sites

Here is a feature that might be intersting for you guys : how about adding more"Transformation" options that can applies to the image bedsides Scale and rotation?

Transformations like :Skew, Distort and Perspective can prove very usefull in making a 2d image looks like a 3d during run time , it will also increase the animations capability of Spriter waaaay more aweasome~

Link to comment
Share on other sites

  • 2 weeks later...

Not sure if it's been suggested already (didn't find it with a quick search) ... but I would really like the file to save the Timeline Snapping Options that have been set.

It's a bit of a pain to have to re-enter that information each time you open the file, seems like it should be remembered.

Link to comment
Share on other sites

This may sound crazy to suggest, as spriter's main focus really is cut out style animation.

However seeing as to how it is starting to turn out to be a versatile game animation tool, I cant help but suggest adding a simple pencil/eraser tool/layer to:

1. make an animation pencil test right inside spriter- it is easier to explore motion when sketching it, rather than posing the character.

2. Use it to draw/animate more dynamic things, sich as the character's hair, etc.

Synfig is a cut out animation software. They recently started incorporating traditional animation workflow by adopting the open source brush engine that mypaint is using.

https://gitorious.org/mypaint/libmypain ... 3027727885:

https://github.com/blackwarthog/synfig/ ... d6f2927810

it took them a month to get it in synfig.

spriter has all the needed workflow tools to be an excellent animation package already. Onion skinning. An excellent timeline and playback.

If you add a simple pencil tool to sketch , it doesnt even have to be like what synfig guys did- getting the entire brushlib engine from mypaint.It would at least save me the effort to animate it in pencil2d or PAP before doing the cut out version

http://plasticanimationpaper.dk/

That aside, I would like to thank you for implementing the ability to import an animation sequence!!! It really really helps a lot :mrgreen:

That is a great idea. I am currently using pencil2d to rough draft my animations. But it would be nice it such a tool can be implemented at least for pro users. :D

Link to comment
Share on other sites

the best part is that spriter fills in nicely for some of pencil2d's weakest parts- namely the timeline and data management. :)

A simple pencil tool and an eraser would eliminate the need to do pencil tests in external software.

Also good to note- mypaint devs recently made brushlib easier to implement in external software and detached it in its own git repository.

http://mypaint.intilinux.com/?p=710

Mypaint brush engine can do a wide variety of brushing styles. From painterly to traditional pixel art style brushes. But all I would really use from it is the pencil brush in normal and eraser mode- for sketching.

Link to comment
Share on other sites

Hi, not sure how difficult this would be to implement, but it would be really wonderful if I could define a rectangle to export to PNG from without having to enter coordinates in the custom-rectangle section (i.e. drag a box across). The custom rectangle option is great, and I use it often, but it's hard to get a good visual representation of how much white-space or how much will be cut after typing in the coordinates, especially seeing as (as far as I know) there's no px grid for the canvas in Spriter.

Great work, though - as it is the program's already fantastic and has reduced the time needed for making animations a lot.

Link to comment
Share on other sites

-The tangents are cool but it's very annoying to change them one by one. It should be a feature that allows to modify several tangents at a time.

-When we start the animation we should be able to choose what kind of automatic tangent we want (linear, step or plateau) it would be much more convenient than retaking them one by one after while.

-Sometimes we need to be able to put a key between two keys without changing anything, it miss a function for that (just a "set key" button basically)

Cheers

Link to comment
Share on other sites

  • 2 weeks later...

Two other things I noticed:

1. I can' bind sprites to bones from the left side list. It would be helpful when I have multiple sprites stacked on top of each other.

2. It is really hard to rotate bones without moving the sprites. Bone rotation handle area should definitely be larger, I keep missing it constantly.

Link to comment
Share on other sites

  • 2 weeks later...

I would like to add custom (name:value) pairs to animations, frames and objects.

There was a suggestion in another, earlier post that this was possible, but I could not find any information about it in the forums:

http://www.brashmonkey.com/forum/viewtopic.php?f=2&t=4&p=22878&hilit=custom+properties#p23092

Did this feature get implemented?

Cheers,

Sunkai

Link to comment
Share on other sites

After watching the tutorial videos and playing around with Spriter B8_2 on my Mac here some feature requests from me:

Toggle button for looping the playback in Spriter

Actually playing an animation in Spriter will automatically loop when the playhead reaches the end of an animation. That is nice for animations which will normally be looped in game, too, but sometimes it is also irritating especially for animations which are designed as translations. For example a get-into-crouch-animation shouldn't be played again from the beginning after the character gets into the crouch position and that behavior should also be possible to simulate in Spriter's preview. So my suggestion is a little button like the current "Loop" button, which only stops playback of an animation in Spriter when it reaches the end.

Shortcuts for playback control

Actually there are shortcut keys for jumping to the next and to the previous keyframe, but the other controls in Spriter (jumping to the beginning, to the end and playback) don't have shortcuts even they are visually placed together in the window. Especially start and stop playback should have shortcuts to get easy access to see changes just done in the scene in realtime, rather than scrubbing the timeline with the mouse myself and to have a custom playback speed depending on the speed of my mouse movement. Especially with my feature request above it should be easier to judge changes on short animations. Just start playback, Spriter playes the short animation and stops, you can modify things and press the play key to the applyed changes in no time. So my suggestion is to bind the 1-key to "jump to the beginning", the 2-key to "previous key frame", the 3-key to "start/stop playback", the 4-key to "next key frame" and the 5-key to "jump to the end". The start/stop key toggles and starting playback when the playhead is already at the end of the animation will start the animation from the beginning, but only once when the looping toggle button is unselected.

Non-shortcut controls for shortcuts

There are actually some nice features in Spriter which are (as far as I know) only accessible via shortcuts, but each good user interface should also enable the possibility to achieve the same result with a "normal" way. For an example the B-key needs to be pressed and holded when assigning images to a bone. This is a common situation and it is good to have the B-key possibility. However, why doesn't exist a "normal" way for this action? Well, you can drag and drop the images in the hierarchy view to assign them, but that is actually an other action. It is "changing the hierarchy", but "assigning to bones". There should be a button or something like that to activate the behavior of assigning images to bones (which in return indicates as a mouse tooltip that it can be also toggled with the B-key). This is not only a plus for those who don't want to use the keyboard, but also for all those who are new to Spriter and don't know anything about this shortcut or have forgotten the actual key binding. So my suggestion for additional controls (buttons or menu entries or something else) in addition to the B-key action are controls for the Z-key "bone tree selection" action and the shift key for "IK animations". Common actions like the command key for cloning of course don't need separate buttons (however could still profit from a menu entry).

Double bindings

The alt key (at least in the mac version) is bound to the equipped tool which is creating new bones as default. When scaling an image while holding the alt key is as mentioned in a video also bound to the action to scale the image relative to an edge rather to the pivot point. That is a double binding which should be avoided, because it tends to create bounds when trying to scale the image, so scaling should be bound to an other key and in addition have an own control element as mentioned in the passage before.

Exact values for all properties

For most properties like scale and position of an image there is a rough input possibility just by using the mouse in the canvas. For all those rough entries there should also be a possibility to enter exact values. For scale and position there are possibilities in the Object Properties view, but there is no possibility to fine assign the pivot point. Normally it should be enough to move the point roughly, but there is also the possibility to assign a pivot point as a default for images in the files view. So why is there no exact input possibility in the Object Properties view? It should be. And it should also be possible to set the spin direction in the properties instead of workaround the rotation direction by adding a new keyframe at a point with less than 180° changes.

File type association

Neither the scml nor the scon files are assignable with Spriter (on Mac, don't know for Win). It would be nice if a double click in Finder would open Spriter right away with the selected file loaded. At least it should be able to load a file via drag&drop on the icon or by right click on a file and choose Spriter by "open with".

Project and exported files

You should consider to separate Spriter project data from exported animation data. At the moment everything seems to be in a huge scml/scon file, both data for animations needed by implementations in games and meta data used by tools like Spriter. This way there are instructions like obj_info which are not needed by games and only makes the data unnecessary complex, the file big in size and increases the parsing time. I think it is better to have a project file which holds all the data as it is in today's scml files (maybe with the extension ".spriter" instead and gets an association with the Spriter tool). The project file is therefore only for designers and all other tool stuff can be saved in it, like interface restoration properties. This project file is of course only for Spriter (why bother for other editing tools, they will probably have their own project files). Spriter then needs an export button which writes only the data needed by a game binding in a new (scml/scon) file. While exporting Spriter asks for the file type and the file version. With the first you can choose wheter it should be XML or JSON (or maybe another format introduced later) and with the latter you choose the file's structure. The latter is important to be compatible with already implemented game bindings. So when there is already a binding which won't be updated to a new file's version you can still export the data from Spriter with the old version so the binding can still import and use the data.

However, you should update the exported file's structure with time, because there are many obsolete properties and structures in the current scml file which may be optimized, like the timeline key - object relationship or the path in a file's name what is not needed because the folder already has the path in it's name. To make the creation of new bindings as easy as possible (and that is what you should want by now, because easy binding programming will make Spriter available for more engines by the community, so more people want to use and buy Spriter and that is also why you should definitely improve the documentation) the exported files should be as clean as possible. That is what the file's version number is good for. Increase the latter number (1.0 -> 1.1) for structural changes only affected by the file itself, i.e. merging the object tag into the key tag so only a bindging's file parser is affected. Increase the first number (1.0 -> 2.0) if the data model and the logic behind changes so the binding itself needs to be changed, i.e. letting objects already vanish when there is no follow up keyframe or a tag like the looping flag has been removed. If the file's structure is extended with additional tags, i.e. a new property like the chained animation is introduced a third version number should be increased (1.0 -> 1.0.1) to indicate which features this file supports, but normally a paser and the binding is backwards compatible for these version changes and don't need necessarily to be updated except the new feature should be supported.

Default values in files

Speaking of the exported files and their structure. Not all properties are always set in the file. It seems defaults are often skipped so if the first key frame in the mainline is at 0 ms the property "time" will not be saved to the file. For the time property it may be reasonable, because 0 is a default value in most programming languages for an absent value, but there are other default values which are not 0, but missing in the file, like the alpha value or the looping flag. The default alpha for Spriter is 1 and for looping "true". Especially looping will never be set to "true", only to "false" or it is missing at all. This is really no good manner. In my opinion every property should always be exported, no defaults should be missing so no assumptions are needed, especially with a lacking documentation. The additional characters in the file and the increased parsing time are worth to get rid of the ambiguousness. At plus this way it is easier to tweak some values in the file manually, because their properties are already there, only the value has to be changed. However, at least the missing properties should default to 0/false and no other values if you really don't want to print them, but in this case I think it is better to have a "compression" flag while exporting which writes a file in a structure which is more optimized for disk space savings, i.e. a binary format.

Objects with no follow up keyframe

An object is animated during two keyframes so it is locked on both keyframes. The properties will be interpolated between both keyframes. When the object is only locked onto one keyframe and not on the other no properties will be interpolated and after reaching the next keyframe this object will vanish. Well, this time between the locked keyframe and the next where the object is not locked on the object stays totally immobile, only moved by bones. I think it would be better to remove the object already when there is no follow up keyframe for it. So when the object is not also locked on the next keyframe it will already vanish after the first keyframe, because there are no properties to interpolate to. If it is not meant to vanish that soon just add a keyframe with the same properties at the position where it should vanish, but if an object should vanish directly after an animation a new keyframe only a few frames later is needed only for not locking the object, to reduce the time of immobility and let the object vanish earlier. My suggestion is to adopt this behavior of removing when no follow up keyframe for the object exists with an update of the export file to be backwards compatible.

Chained animations

At the moment each animation stands for itself. The game has to tell the engine which is the correct animation to play and also has to handle with the end of an animation by telling what to play next, but often it is already clear by the time of the animation creation. As an example when creating a "get from stand into crouch animation" the default animation which follows should be a "crouch idle animation". So it would be nice if the designer can already chain the "crouch idle animation" to the end of the "get from stand into crouch animation". The engine can then apply the correct followup animation automatically when there is no other input from the game logic. My suggestion is to have a single entry field or drop down box for choosing one of the other animations in the same entity which should be automatically played by the engine when the first animation ends. "None" should always be possible to set for "normal fire and forget" animations. Of course the second animation may chain again to another animation or to itself for cycling, which an "idle animation" will normally do. So this request is only another property bound to an animation which will be saved and shouldn't have much impact on the Spriter tool itself. However, I think this chaining feature will be useful for reducing game logic code and it replaces the current loop button.

Cheers

Link to comment
Share on other sites

Hello !!

Here are some suggestions regarding the timeline !

- The play speed slider doesn't need to go under -100% and further +100%, right now the slider is a bit tricky to adjust because of too far extremes.

- Adding a preset "plateau" for the tangent would be excellent. I think a lot of animators are using Plateau tangents and there is no presets for this.

- Several tangents needs to be editable at the same time. A lot of productivity is wasted by doing it one by one.

- The first key at the beginning of the timeline must be deletable. It would allow the animator to create some delay on certain parts into a loop. (About this one it's weird because it's actually like this on a previous version of spriter, the b6.1 I think, maybe I have a bug).

- Some show/hide toggles are really needed. The readability can be really bad when bones are mixed with sprites on the side of the timeline.

- The selection square really needs to be addable with another selection square with Ctrl or Maj when selecting keys in the timeline. Because right now we can only add to selection by picking each key manually one by one without the selection square.

- Being able to create selection sets would be great !!

-Being able to separate translation and rotation would be a major improvement as well, for example to put linear tangent on translation only and bezier on rotation.

- When putting a key on a bone what have children, all the children are taking keys as well, it would be cool if we can choose to do not put any keys on children.

And there is a very important bug I have noticed :

The keys on the top are really confusing because they didn't disapears even if there is no keys under them.

And also, when we change the tangent on a key on the top, it will change all the tangents of everything at this key (I mean even the objects without any keys on this time) which is really not convenient so I think it's a bug as well ? It should rather change the tangents only on the objects with keys ? (don't know if I'm clear with this one)

Great work thank you very much and keep going !

Link to comment
Share on other sites

Hi.

Just two features that I don't know if it has been said.

-Different frame colors in the main timeline. For example you have a body and a cape, now there isnt any way of fast knowing at first sight which frame is which. You just have to expand the time line and select the cape frames and move them. This way all frames in a same column(general) are one color, and individual frames are another.(for example those objects connected to a same bone).

-Lock selected frame or bone, sometimes you dont want locking all bones or all objects, just one.

Cheers.

Link to comment
Share on other sites

Here are a few more suggestions (working on B_2 version, OSX):

* hierarchy view should retain expanded/collapsed state of its nodes when toggling show sprites on-off.

* There should be a way to expand the names of the objects(sprites/bones) in the timeline view. Currently they are limited to the width of the playback/pause/forward etc buttons ribbon.

* I think it would be useful to be able to add keyframes only of: Rotation, Position, Scale, or combination of the above. Maybe have 3 checkboxes?

* when you wish to scale only towards one side, you can press Alt while rescaling. If you press the alt key before click-dragging, it creates a bone, so the only way to lock rescaling towards one side, is to press the Alt key after you have already started rescaling the item (by dragging one of the scale-handles). But this retains any scaling you did before pressing the Alt. This makes it impossible to scale in one direction without loosing the original centering!

It's more meaningful if at the moment you press the alt key, the not-yet-committed rescaling gets reset (and not accumulated) and only the scaling towards the new direction is effected.

(Pardon me if I didn't make clear the problem/solution - I'm not a native speaker - but still I think it's a very important point to convey so please ask me and I'll prepare a video that demonstrates both behaviors)

* Would be useful to have a way to copy/paste between frames the hierarchy(parent) and Z-order of a sprite/bone, but not necessarily have it replicated to all frames in the animation

Link to comment
Share on other sites

  • 1 month later...

It would be nice if Spriter would save both the .SCML & the .SCON files at the same time instead of users having to do it separately.

I don't know about other programs, but when you drag the .SCML into a Construct 2 layout, the sprite doesn't work unless you also have the .SCON saved in that folder. Since we need both files, why not automatically save both, or maybe combine them into one file or something?

Link to comment
Share on other sites

  • lucid unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...