Spriter/C2 - (9-16-2019 - bug fix)

  • Hi kraed,

    I assume you're using a vector art program to make the PNG images that you then import and use in Spriter, but then you want the final product to look like pixel art? (I assume when you say retro and square you mean pixel art). Do I also understand correctly that you are using Spiriter in pixel art mode to create your animations?

    It sounds like what you're after is to use the opposite of pixel art (high res art made from a vector program, along with on the fly rotation etc) but to end up with authentic looking pixel art in the game. The only way this would work perfectly is if C2 support an on the fly filtering system that cleanly rotates pixel art while recalculating it to still look like clean pixel art. C2 does not yet support such a thing as far as I know, but maybe there's a shader you could use to achieve this effect.

    As for Character Maps, yes it should definitely be possible to have random character generation in C2. First create an assortment of character maps in Spriter for your character that each change just one aspect of the character (hair, shirt, pants etc etc) then use the action "append Character Map" in the Spriter object, and have the game randomly select 1 of each type of character map..one for hair type, one for shirt type etc etc.

    I see now while writing this you resolved your "jagged sprites" problem, but I'm still not sure what the problem actually was or what you mean by "cropping". Can you explain that in more detail?

    Thanks,

    Mike at BrashMonkey

  • arubishi, where did you buy Spriter? Scirra, BrashMonkey (or Kickstarter), Steam?

    BrashMonkey

  • > arubishi, where did you buy Spriter? Scirra, BrashMonkey (or Kickstarter), Steam?

    >

    BrashMonkey

    Please email us at with your purchase email and we'll get you your key again.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I see now while writing this you resolved your "jagged sprites" problem, but I'm still not sure what the problem actually was or what you mean by "cropping". Can you explain that in more detail?

    Thanks,

    Mike at BrashMonkey

    The art i'm using is very minimalistic and geometrical. When cropped from adobe flash it leaves no border around the sprites. Inside spriter these sprites have some sort of antialiasing issue and create jaggies when rotating the square/rectangular sprites. By cropping in C2 it adds a very small transparent border which resolved the issue.

  • lucid Just wanted to say that I followed your directions for using Spriter for NPC's and it worked perfect. FPS never dipped below 59. Amazing! Thanks for the help.

  • lucid Just wanted to say that I followed your directions for using Spriter for NPC's and it worked perfect. FPS never dipped below 59. Amazing! Thanks for the help.

    reat to hear. Lookin good already (saw some of the twitter shared stuff as well).

  • The art i'm using is very minimalistic and geometrical. When cropped from adobe flash it leaves no border around the sprites. Inside spriter these sprites have some sort of antialiasing issue and create jaggies when rotating the square/rectangular sprites. By cropping in C2 it adds a very small transparent border which resolved the issue.

    Spriter doesn't change the images at all, so if they have an issue when you load them into C2, it was there from when they were exported, unless you mean you are exporting the images into PNG frames, in which case I strongly recommend checking out the links in my signature to try out the plugin, which is a much smoother and more powerful way of using your Spriter animations in Construct 2.

  • Currently I am getting a bug anytime I try to import a Spriter animation that has sound effects in it. The bug seems to be a standard array related one in js with the "cannot read property 'length'" but for this it is for the animations.

    It triggers on line 3091 here in the associateAllTypes method:

    for(var a=0;a<animations.length;a++)

    My guess is that looking at it, and I hope this helps rather than is annoying, is that the way that siblings are defined it is treating the "soundline" element as a timeline sibling and that is then adding more elements to the animations array which then creates this error. Let me know if that helps or if you want me to dig deeper.

  • when I remove the sound it worked perfectly by the way. just adding that cause I think I forgot to say it

  • I'm using spriter too for my robots. I've found a few weird issues but managed to find work around on my own to get them up and running. Thanks for a great tool.

  • Plugin changelog 11/24/14

    • Fixed a bug where under certain circumstances the scml object could get stuck in z-order
    • Fixed a bug where projects with sound would not load at runtime

    when I remove the sound it worked perfectly by the way. just adding that cause I think I forgot to say it

    Please try downloading this new version of the plugin, and let me know if it still has an issue. Strangely, the version I had wouldn't load animations with sound at all, even though I know it was working before.

    I'm using spriter too for my robots. I've found a few weird issues but managed to find work around on my own to get them up and running. Thanks for a great tool.

    Thanks! Looks fun, btw.

  • lucid Thanks.

    So it's probably best to report my issues.

    I'm having issues with my sounds now that I'm using your plugin. I just updated the plugin as I saw you just fixed some sound bugs, but still have problems (not sure why I would be having sound problems???)

    -If I set a sound playback rate to something like 0.25 it doesn't apply it first time. Then when it does apply it doesn't sound right.

    -Looping sounds now seem to have a bit of gap between them.

    -If you follow your video tutorial exactly you will find that the spriter animation wont be running on the ground, but above the sprites origin. Which I think is fine and makes more sense, but may confuse people.

    -In your plugin tutorial you say 'Then go to the frame you'd like to import your Spriter file to'. The word frame should really be layout as I didnt understand what you meant until I watched the video.

    -If I set a sprite position to the origin of one of the child sprites of the spriter animation in C2 it can position them at the origins position on the first frame. See comical screenshot below.

    -When I restart the layout within game the sprite seems to displace from its original position.

    On a side note after working with spriter I think the following would be useful.

    -Being able to reset the origin.

    -Being able to individually hide and show bones including their children.

    -Being able to duplicate a branch of bones and children.

  • -If I set a sound playback rate to something like 0.25 it doesn't apply it first time. Then when it does apply it doesn't sound right.

    The sound playback rate? There isn't a sound playback rate option in Spriter or the C2 plugin, I'm not sure what you mean.

    -Looping sounds now seem to have a bit of gap between them.

    In the plugin? You say now, did they not before?

    -If you follow your video tutorial exactly you will find that the spriter animation wont be running on the ground, but above the sprites origin. Which I think is fine and makes more sense, but may confuse people.

    The sprite origin should be set to where you want the origin from Spriter to appear(the crosshair in the canvas in Spriter)

    -In your plugin tutorial you say 'Then go to the frame you'd like to import your Spriter file to'. The word frame should really be layout as I didnt understand what you meant until I watched the video.

    Thank you, fixed.

    -If I set a sprite position to the origin of one of the child sprites of the spriter animation in C2 it can position them at the origins position on the first frame. See comical screenshot below.

    I'm not sure what you mean. The scml plugin shouldn't affect you getting the proper origin from the component sprites.

    -When I restart the layout within game the sprite seems to displace from its original position.

    Make sure your events to set the sprite to a position are somewhere where they will be fired upon the layout restarted. If you'd like, you can send a capx to explaining how to quickly reproduce the problem.

    On a side note after working with spriter I think the following would be useful.

    -Being able to reset the origin.

    If you mean move the origin within Spriter, you can do this by holding the 'm' key and clicking and dragging the background. There will be a more obvious way to do this in the ui in a future version.

    -Being able to individually hide and show bones including their children.

    Pressing 'z' lets you select all of a bones children. The pro-version lets you right click and hide selected items.

    -Being able to duplicate a branch of bones and children.

    if you select items, and hold control and then click to make a change (like click to drag to a new position, click to begin an angle change or ik chain movement, etc) it will create a clone of the objects and apply to the new objects instead. Due to the complexity of all the parenting operations involved in the cloning it may take a moment or two before the clone takes effect. We will optimize this in future versions.

  • Plugin changelog 11/3/14

    • Fixed a bug where under certain circumstances the scml object could get stuck in z-order
    • Fixed a bug where projects with sound would not load at runtime

    Thank you for responding so quickly! This fixed it. Sidenote: I believe you intended to have 11/24/14 in place of 11/3, I think 11/3 was the last change. Thanks again for responding so fast!!!

  • lucid

    [quote:3c9ionu0]The sound playback rate? There isn't a sound playback rate option in Spriter or the C2 plugin, I'm not sure what you mean.

    I was talking about the official C2 audio object. Since I added the spiter plugin I seem to be having issues with sound being played using the audio object but mystery solved I changed my preview platform to IE when I normally use chrome. DOH!

    [quote:3c9ionu0]In the plugin? You say now, did they not before?

    Before I added the spriter plugin and imported my spriter files all audio was working correctly, but as I said above it was the preview platform.

    [quote:3c9ionu0]The sprite origin should be set to where you want the origin from Spriter to appear(the crosshair in the canvas in Spriter)

    Sure but in your video you create the GreyGuy stood on the origin. IIRC you then set the spriter object to the x and Y of the player sprite. Which should make it look the GreyGuy is floating above the ground, but for some reason in your video he appears correctly. So I assume you changed the origin in the player sprite before recording the video? That maybe confusing to some users at first when learning from the tutorials.

    [quote:3c9ionu0]Thank you, fixed.

    No problem.

    [quote:3c9ionu0]I'm not sure what you mean. The scml plugin shouldn't affect you getting the proper origin from the component sprites.

    So what i had created was an aim animation. Gun pointing to ground. Then straight ahead. Then pointing directly up. Then I get the angle between the robot and player and set the current time as a ratio in the aim animation so that I could point the gun at the player. I then told the gun to spawn a bullet every tick. The bullet is a sprite using the bullet behavior, which is set to the same angle.

    Despite the gun being in the right place and the bullet moving at the right angle the bullet was spawning at the origin from the first frame of the animation.

    To fix it I set another sprite to the guns x and y every tick. Then spawned the bullet from the new object.

    I'm not sure if that was C2 issue or a Spriter issue, but I thought I would mention it none the less.

    [quote:3c9ionu0]Make sure your events to set the sprite to a position are somewhere where they will be fired upon the layout restarted. If you'd like, you can send a capx to explaining how to quickly reproduce the problem.

    I have not investigated it fully yet, but since I was listing stuff I thought I would just include it. I'll take a look tomorrow and if it is truely a Spriter issue I'll send you an e-mail.

    [quote:3c9ionu0]If you mean move the origin within Spriter, you can do this by holding the 'm' key and clicking and dragging the background. There will be a more obvious way to do this in the ui in a future version.

    Awesome.

    [quote:3c9ionu0]Pressing 'z' lets you select all of a bones children. The pro-version lets you right click and hide selected items.

    Awesome again.

    [quote:3c9ionu0]if you select items, and hold control and then click to make a change (like click to drag to a new position, click to begin an angle change or ik chain movement, etc) it will create a clone of the objects and apply to the new objects instead. Due to the complexity of all the parenting operations involved in the cloning it may take a moment or two before the clone takes effect. We will optimize this in future versions.

    Awesome thrice in a row.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)