lucid's Forum Posts

  • Hi Cipriux. There is actually a 'set second (blended) animation' action. You just mean you use the normal set animation action (not the one I just mentioned) on the second animation, correct? If so, it might be because the animation is stopped after the first animation is finished. Can you see if it works if both animations are looping (so it doesn't pause automatically when the animation completes). I will look into a fix either way.

  • Great plugin, just starting to use it. Is it possible to set a frame rate for an animation?

    It seems too smooth for a retro type of game

    Also, a 20-30 FPS animation looks closer to a movie or animated cartoon. everything above looks like TV news

    Right now, the only way to do that would be to manually use instant speed curves on your keyframes in Spriter to make the animation limited to those frames (as many as needed).

  • New plugin release!

    8/31/2016

    • Direct drawing mode can now use bounding box data created in Spriter.
    • Added animationLength and speedRatio expressions
    • Fixed a bug where mirror and flip actions wouldn't apply while animations were paused

    Scml objects can now use bounding boxes precalculated in Spriter for correct clipping and effects.

    To use this feature, in Spriter, simply click on the box icon on the animation widget. Use settings roughly like what you see below:

    framerate: In order to calculate a bounding box that takes tweening into account, Spriter will go through the animation at a set framerate. 60 is recommended. padding: Extra pixels added to each side of the bounding box to ensure that frames in between the above calculated don't go slightly outside. 0 is probably fine for most cases, but 1 or 2 pixels isn't going to affect your performance and makes doubly sure.

    The best workflow would probably be to run the calculation once on all animations the first time you use it, and each time you add an animation. After that, only bother recalculating the bounding box if new animation changes massively affect the bounding box, or if you notice any clipping at runtime. And of course, run it once before shipping or demoing your game.

    And finally. I apologize for the late replies everyone. Things have been a bit hectic with the contest and Spriter release.

    I am sorry, but I don't get it... I don't know what the function is for...

    If I'm understanding you correctly, it's not used for that purpose. For pinning the entire Spriter character to a box, just use the pin behavior. But say you have a C2 object. We'll call it Fire. And you have an scml object, and you want the fire attached to the character's hand. Without this action, it would always lag a tick behind if you used something like Every Tick - set Fire position to {scmlChar.objectX("hand"),scmlChar.objectY("hand")} for the above mentioned reasons. This action let's you set the position every tick in the same way, but it waits until the scml plugin's post-tick calculations are made before moving the object, so it doesn't lag behind.

    lucid

    Hello again lucid . I think I have found some bugs.

    ...

    It doesn't mirror afterwards

    ...

    If I fully understood, this issue is fixed with today's release. Let me know if I missed anything.

    lucid - And about the Skins(Experimental) does that feature affect largely on performance? I am making a game for mobile & I want to make sure that it doesn't use up a lot of memory & cpu like the physics plugin. Thanks.

    he skins feature is not currently supported on any game engines (as far as we know). We're currently working on a more complete skin mode for Spriter 2, which will be a free upgrade to all current Spriter Pro owners. No ETA on that yet.

    lucid, not sure if this is right place to post, but is there any way using Spriter to replicate the following action:

    Wait PlayerSprite.AnimationFrameCount/PlayerSprite.AnimationSpeed

    I can't use the on animation finished trigger as the wait takes place inside a for loop between a series of actions

    mmm. I'm not sure I understand. You want to use a wait command and you need to know what expressions you need for it to give you the current amount of time it should take the animation to play? If so that would be animationLength/speedRatio (both new expressions. Really surprised animationLength never came up before).

  • > btw, everyone, just a status update for anyone having the issue with the bounding boxes of the objects. I don't have an ETA yet for the release of the fix, but the bounding box fix is already working on my internal builds of Spriter and the scml plugin. I just a few more unrelated bugs to squash in Spriter before I release the upcoming build, but it shouldn't be too long. Thanks for your patience.

    >

    Ohh Good . Thanks for this.

    Btw lucid , have you already made some thoughts about this below? That's about my request before, the visual display of the scml object. To show a differentiation

    of each object since the white boxes of the scml objects look alike.

    >

    >

    > > Woah, I nearly missed seeing this. I meant the scml object white boxes on the editor(layout view), since they all look alike, it is hard to identify which is which. Then i suggested to add a text(nametag) of the name of the scml object so it will be easier to differentiate like the scml object has it's own scale always shown. Or did you / with your team thought of something better?

    > >

    > > Thanks again.

    > > h right. I need to look into this more. I haven't found a decent solution, but in all honesty I haven't had a lot of time checking for one yet either. There's a few things I need to take care of in the near future, so it may be a while, but please remind me if I haven't responded one way or the other in the next couple of weeks.

    >

    No news yet, but I will make sure to take a look at this and have an answer one way or the other for the next plugin update (which will arrive at the same time as the new Spriter version).

    Hi Lucid,

    I have one question.

    I use new self draw mode for my Spriter animations.

    How can I add sound into C2 if I do not drag scml file to C2? (I double click on C2 layout and add scml plugin - according the new instruction of using self draw mode)

    Thank you in advance, I spent 3 hours trying to add sound into C2 with new mode

    Sergey.

    Hello Sergey, the hybrid import should work:

    For anyone curious, there is actually a hybrid way to import now, which is a bit tedious, but I will explain it in case anyone wants to use direct drawing mode with collision boxes, or even with collideable sprites. First, save your project normally, and then save a spritesheeted project. Import your non-spritesheeted project the old way. Follow the old to new style project conversion steps, but this time only delete everything except collision boxes, and other sprites you want to test for collisions. This should self draw the animation, but also animate the separate sprites and collision boxes you kept. Keep in mind, the zorder will not place sprites correctly inside the self-drawing scml object, so it's probably only useful for making invisible sprite objects for collision detection.

    Let me know if you have any issues.

  • btw, everyone, just a status update for anyone having the issue with the bounding boxes of the objects. I don't have an ETA yet for the release of the fix, but the bounding box fix is already working on my internal builds of Spriter and the scml plugin. I just a few more unrelated bugs to squash in Spriter before I release the upcoming build, but it shouldn't be too long. Thanks for your patience.

  • lucid It was 33.1MB. And inside the Zip file was Spriter_r5:

    http://imgur.com/xbxnnxw

    That's Spriter Pro you downloaded. Select the RPG Heroes Essentials Art Pack from the dropdown box for versions. That content is free with Spriter Pro.

  • No problem. It's likely a simple tweak of settings or something though to be able to use it in the latest version, so you can get the latest performance tweaks, bug fixes, features, etc for both C2 and the scml plugin. If you change your mind, just send it my way, and please reference this thread in the email so I know who it's from.

  • > Hi Falterdan, because of the way the plugin system works, and the plugin using actual c2 objects, there was always a tradeoff of either the entire character being one tick behind, or things set to a Spriter object's position. I'll explain why below, if you're interested, but as far as an actual solution, there's an action under the 'Attach C2 Object' category called 'Set C2 Object to Spriter object'.

    >

    Nice one. I experience the lag as well. Good thing you've posted this.

    Edit:

    lucid - How does this action work, the Set C2 Object to Spriter Object... I used it as a replacement for set position to (x,y) since the set spriter to position(spriteX, spriteY) causes a short lag, but I don't know what does this action do, it didn't go to the position(x,y) of my sprite black box, I think I misunderstood the use?

    It's meant to use every tick, like you're setting the position that one tick, rather than a permanent attachment. Is that already what you're doing?

    lucid Hey quick question for Lucid/Brashmonkey...if you brought the RPG Heroes basic pack with Spriter (here at the Construct Marketplace), can I get a discount to upgrade to the Essentials Pack?

    he Essentials Packs are condensed versions of each art pack that come free with Spriter Pro. There was another user who asked a similar question, and their confusion came because we had made a mistake and the RPG Heroes Pack was deeply discounted on Scirra store long after the introductory sale had ended. Basically, if you paid separately for it, you should already have it. If you tell me the file size of the zip (or of the unzipped folder), I can double check you have the right version.

    lucid

    I can't save the spritesheet the "OK" button at the bottom is grayed out and you can't press it. What am i missing here?

    responded in the other thread you started.

  • hi rhol, would you mind sending me your Spriter project, zipped ()? I'll see if I can figure out what's going on.

  • Hello rhol, Sethmaster is correct, though you can also use the old method if you wish. Do you have a screencap of the errors? Also, the spritesheet save greys itself out if you've chosen a maximum size too small to fit your images or if you try to save to the same directory as the original project. Try increasing the max size and if this doesnt work, can you please screencap the spritesheet dialog when the button is greyed so i can see ifI notice anything else or if it's a possible bug.

  • Hi Falterdan, because of the way the plugin system works, and the plugin using actual c2 objects, there was always a tradeoff of either the entire character being one tick behind, or things set to a Spriter object's position. I'll explain why below, if you're interested, but as far as an actual solution, there's an action under the 'Attach C2 Object' category called 'Set C2 Object to Spriter object'. The parameters should be pretty self explanatory, but let me know if you have any issues. It is just a 'set position' action, as opposed to a pin, so you should use this action every tick you want to set the C2 Object to that position. I didn't realize this issue happens with Spriter objects as well. Are you saying you're using the 'Override Object Animation' action to objectX("someObject") and it's lagging behind as well? I guess it would for the same reasons as below, so I'll add that action for Spriter objects as well.

    Also, what were the issues you ran into override the bones while blending? Was it just random glitchy movement, or was it something more specific, like it completely ignoring the override?

    The reason there has to be a tradeoff is that if the scml object updates all it's sprite's positions before the tick, then all the sprites will be one tick behind. Since the scml object could be moved by events or behaviors, the individual sprites are already positioned to the old position before the tick. If however, you were to set an object's position to one of the Spriter object's positions, it would appear like they were in sync.

    If the scml object updates after the tick (which it does), it will appear in sync with objects if you set the scml object to some C2 object's position. All the individual sprites will be where they should. However, if you set a C2 object's position to the scml object's position it will be the data from the last tick, since it won't have moved yet.

  • HelmetPIg (and anyone else who has attempted to send us email the past 3 days or so), there were some issues when we migrated to a new server, and our email has been down. If you sent anything to us the couple of days, please resend, as we would not have received it.

  • Hi everyone.

    , it won't take nearly that long.

    Everyone else that was waiting for an email reply I believe I replied to everyone. I had quite a backlog between here and the Spriter forums, though, so please let me know if I missed anyone here or via email.

  • Thanks Do you plan to enter?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Sorry for the delay in replying everyone. I've been quite busy on several fronts, but I wanted to check in and at least give a status report.

    lucid Sent on July 9th, 2:22 PM Pacific Time from , will send again now

    Sent you an e-mail lucid.

    Thank you. I will be getting back to you as soon as I get a chance to look into it. Thanks for your patience.

    Sethmaster and lucid, regarding the seams issue - this might solve it, and might not, but I was having an issue with sprites lagging and jumping around, and so I made the spriter object set it's x and y to int(object.x) and int(object.y) (where object in this case would be your placeholder sprite) as opposed just object.x and object.y. I guess the issue was that it was trying to align sprites based on coordinates that weren't necessarily whole numbers, so it would round up or down. seems to work well for me, hopefully that helps for you guys. I haven't exported to nwjs, and I'm only guessing on what I think you're referring to with that issue, so maybe this is completely irrelevant.

    hanks for the info.

    Hi there lucid , thank you for the hard work and support provided for the C2 community! I was wondering if the procedure for importing AND updating scml objects in C2 had changed since the performance update? I read what you said recently about being able to just reimport the files if not too many changes occurred within spriter in the meantime (new images, sounds etc) but do we still have to rename the scml file association to scon and then rename to scml in C2 before each update? I may have missed the info somewhere but are there other new things to know like that or is it strictly the same as before the performance update? All my searches point me to the official tut made years ago.

    Also I use a lot of container sprites as you recommend in one of your videos in order to apply behaviors and I wished there was a way to not to suppress the container object when it gets updated by drag n dropping the scml file into the c2 project. Right now I have to unbind all my containers manually before any file update, which gets time consuming, maybe a feature to think of later on or again, something I missed? This was actually the reason why I was looking at alternate ways to update the files without breaking the containers every time.

    Thank you again for your hard work and support, spriter is an amazing tool!

    side from the way you import in performance mode, the procedure hasn't changed. The most up to date instructions are here (also linked in my signature). You shouldn't have to rename any files. In performance mode you just need to save the scon (using the performance mode import method), and in the classic mode, you need both the scon and the scml to import. There's an option now in File|Other File Actions...|Custom Save Options... to automatically also save an scml file every time you save a scon to save you a little trouble if you plan to be using the classic import method. You shouldn't have to unbind the containers. Was it causing an issue if you didn't do that?

    lucid . I got another object which has a different size. I don't know the exact size but I know that it has a portrait size with the width of 96 pixels. So the problem again is the same with my previous post but now it becomes invisible when 75% of it's size is not seen on screen.

    Maybe it is getting some problem finding out if the scml object is still on-screen. I can provide you the scml & scon file if needed via email. Thanks again.

    I'm aware of this issue, and the solution requires an update to Spriter, which I won't be able to get to just yet, but there is a workaround. Manually drag the rectangle representing to the scml object in the layout to a size large enough to accommodate the character in all animations. Since you're doing this with no visual feedback and no control of the pivot point, you will probably have to drag it larger than whatever box size seems intuitively appropriate. At start of layout and when any scml objects are spawned immediately set their scale to 1. The problem is that it's using that small default box size to decide whether or not to draw the entire character. The plugin only used the box size to set the initial scale in previous versions, so if you set it larger in the layout, it won't get resized back, and it 'fixes' the issue.

    Btw, if anyone missed the announcement in open topic, we're having an animation contest! Take a look: