Announcement

Collapse
No announcement yet.

[Open Beta] Procedural On-the-Fly Animation in UE4: iTween!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [Open Beta] Procedural On-the-Fly Animation in UE4: iTween!

    For those who may not know, iTween is a procedural animation package for Unity that allows you to animate objects on the fly during runtime. Move here, rotate this way, change to this colour, scale to this size, etc. Tell it what to do and it'll do it smoothly. It's amazing.

    iTween: http://itween.pixelplacement.com/index.php

    If you love iTween in Unity, you'll (kinda) like this. With the help of original author Bob Berkebile, we've ported over most of the functionality to Blueprints and C++, with more to come!

    Latest download (v0.8.8 compiled for UE4.21) found here: https://www.mediafire.com/file/63k4bzidve0a06g/iTween_v0.8.8-4.21.zip (Users with versions before 0.8b, please read update 9 below)
    Video Tutorials can be found here: Youtube
    Wiki Entry found here: https://wiki.unrealengine.com/Itween

    Important: If you've had problems packaging your project with iTween in the past, update to at least Update 18. This hotfix addresses this issue and offers some guidance.

    If you'd like to be notified via private message on these forums when new versions are released, please send me a private message. Thanks!


    Update 3: Here's alpha release version 0.3 (because we said so): iTween for UE4 a0.3f

    It has near 100% complete implementations of Move From/To Location, Move To Location Array, Move To Spline Component, and Float Update.

    We understand some of this may seem cryptic or difficult to figure out without some sort of tutorial, and we apologise for that! We want to make the full suite of tweening operations available first before we get started on tutorials.

    Update 4 (Sep 29 2014): https://forums.unrealengine.com/show...l=1#post155142

    Update 5 (Oct 3 2014): https://forums.unrealengine.com/show...l=1#post158082

    Update 6 (Oct 21 2014) |DON'T DOWNLOAD THIS, DOWNLOAD UPDATE 7|: https://forums.unrealengine.com/show...l=1#post167360

    Update 7 (Oct 22 2014): https://forums.unrealengine.com/show...l=1#post167993

    Update 8 (Oct 29 2014): https://forums.unrealengine.com/show...l=1#post171698

    Update 9 (Dec 25 2014): https://forums.unrealengine.com/show...l=1#post197552

    Update 10 (Jan 6 2015): https://forums.unrealengine.com/show...l=1#post202034

    Update 11 (Jan 8 2015): https://forums.unrealengine.com/show...l=1#post202593

    Update 12 (Feb 12 2015): https://forums.unrealengine.com/show...l=1#post221051

    Update 13 (Mar 19 2015): https://forums.unrealengine.com/show...l=1#post251158

    Update 14 (Hotfix) (Mar 20 2015): https://forums.unrealengine.com/show...l=1#post252755

    Update 15 (Hotfix) (Mar 22 2015): https://forums.unrealengine.com/show...l=1#post254384

    Update 16 (same version, recompiled for 4.8) (Jun 14 2015): https://forums.unrealengine.com/show...l=1#post311438

    Update 17 (same version, recompiled for 4.10) (Dec 12 2015): https://forums.unrealengine.com/show...l=1#post436494

    Update 18 HOTFIX (addresses packaging issues) (Mar 15 2016): https://forums.unrealengine.com/show...l=1#post493837

    Update 19 HOTTERFIX (addresses packaging issues on mobile specifically) (Mar 29 2016): https://forums.unrealengine.com/show...l=1#post502047

    Update 20 (recompile for 4.11): https://forums.unrealengine.com/show...l=1#post504434

    Update 21 (May 10 2016): https://forums.unrealengine.com/show...l=1#post527827

    Update 22 (Nov 15 2016)(Recompile for 4.14): Mediafire Mega

    Update 23 (Mar 10 2017)(Recompile for 4.15):
    Mediafire Mega

    Update 24 (May 31 2017)(Recompile for 4.16):
    Mega

    Update 25 (Mar 18 2018)(Recompiles for 4.17, 4.18 and 4.19): https://forums.unrealengine.com/deve...14#post1445814

    Update 26 (Jul 29 2018)(v0.8.8 for 4.20): https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/15366-open-beta-procedural-on-the-fly-animation-in-ue4-itween?p=1508518#post1508518

    Update 27 (Nov 17 2018)(Recompile of 0.8.8 for 4.21): https://www.mediafire.com/file/63k4b...-4.21.zip/file

    If you'd like to donate to the project, you can donate to the original iTween author at PixelPlacement directly at the bottom of the iTween page here: http://itween.pixelplacement.com/index.php

    and/or donate to the team responsible for the Unreal Engine port by sticking around for the post-roll ads in our Youtube tutorials. We hate pre-roll ads too, so we decided to go with post-roll as a form of opt-in donation to the porting team Video Tutorials


    Gladly accepting any and all help and collaboration.

    -FAQ-

    Q: Why not just use Timeline or Matinee/Sequencer?
    A: Timeline and Matinee/Sequencer are fantastic tools, but they only allow "hardcoded" animations, unless we're dumb and missed something (probably). They must be set deliberately and cannot be changed dynamically during gameplay (so no following moving objects, for example). This system allows for exactly that.

    Q: Why won't my object move?
    A: Assuming you followed the above sequence perfectly, you should also make sure the object you want to move is set to "Movable" in the Details pane in the editor. Static objects will not move.

    Q: Where is x feature from iTween?
    A: It's still in beta and is being worked on. Most features are implemented but there may be some features still lacking. Give it some time. The plan is to eventually support every feature currently available in iTween, provided we can figure out how to do it in UE. If there's a feature you really need more than any other, please comment in the thread.

    Q: Can this be used with UMG?
    A: Yes! iTween 0.8b and later fully supports Render Transforms for UMG. Move, Scale, Rotate, and Shear all can be tweened.

    Q: How about Slate?
    A: Yes! Thanks to Awdogsgo2heaven, iTween supports Slate through C++ in limited capacities. This will be expanded upon in the future. Use STweenableWidget to derive all of your Slate primitives to tween them. This is not currently supported on mobile platforms, so use UMG if you want to tween any UI widgets on iOS or Android.

    Q: Can this be used with BP Components?
    A: Absolutely. They operate just like actors.

    Q: Why doesn't Ease In and Out Elastic on mobile look like it does on other platforms?
    A: Mobile compilers don't like value assignments in equations and that's what this EaseType relies on. It'll work everywhere BUT mobile platforms. If you want a similar effect, it's best to make a custom curve that mimics it OR run Ease In Elastic then Ease Out Elastic when it finishes.

    Q: Do you plan to submit to the marketplace? What will iTween cost?
    A: With 4.8, free code plugins are being evaluated on the marketplace. Hopefully soon we'll be able to put iTween up for all to download.

    Q: Why did you do x this way? This other way is more efficient/smart/user-friendly!
    A: Please don't hesitate to share your thoughts on situations like these! We'd like to think we're pretty good with the engine, but in the end we're amateurs trying to help others. Help us help you!

    Q: I found a bug... ?
    A: Nice ambiguous inflection! You probably did. This is in beta and comes with no guarantees. However, everything happens at runtime and should not permanently affect your game. If you have time, please list any bugs you come across in the thread so we can fix them.

    Thank you all, and enjoy!

    -Sweet, in association with PixelPlacement
    Last edited by Jared Therriault; 11-17-2018, 09:58 PM.
    Procedural, modular, on-the-fly animation - iTween For UE4
    - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

    #2
    Hey Jared, this is great news! I'm sure this will come in handy for a lot of UE4 projects. Glad to see the project make the leap over to Unreal. Any plans to add pathing support?
    Last edited by Chance Ivey; 08-31-2014, 06:29 AM.
    UE4 Development [VR & AR Forums | VR | AR | Magic Leap]
    Make and Maintain Framerate [ Robo Recall Postmortem]
    Let's Connect [Twitter]

    Comment


      #3
      Originally posted by Chance Ivey View Post
      Hey Jared, this is great news! I'm sure this will come in handy for a lot of UE4 projects. Glad to see the project make the leap over to Unreal. Any plans to add pathing support?
      Hey Chance, thank you for the pity reply! Yes, pathing is definitely on the short list since it's something we use frequently in Unity. Speaking for myself, I'll be finishing the basic stuff tonight into tomorrow. Speaking for the team, our level designer knows the pathing tools in UE4 much better than I do so he'll probably handle most of that within the week, or at least provide me with some of his understanding of the tools so I can do it myself.

      As an aside, our concept artist adores your hair.
      Procedural, modular, on-the-fly animation - iTween For UE4
      - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

      Comment


        #4
        Originally posted by Jared Therriault View Post
        Q: Can this be used with UMG?
        You can manipulate the Layout positions of some widgets, anything inside a Canvas Panel can be manipulated, Get the widgets Slot, then cast it to a CanvasPanelSlot, then you're free to move it, though it's not terribly easy yet even when you get there, you need to understand what the offsets structure means depending on the current stretching rules.

        We're working on getting render transforms done, once that's done, every widget no matter what container they are in will have access to perform any 2D transform (relative to their layout position) Woo!

        Comment


          #5
          Originally posted by Jared Therriault View Post
          Hey Chance, thank you for the pity reply! Yes, pathing is definitely on the short list since it's something we use frequently in Unity. Speaking for myself, I'll be finishing the basic stuff tonight into tomorrow. Speaking for the team, our level designer knows the pathing tools in UE4 much better than I do so he'll probably handle most of that within the week, or at least provide me with some of his understanding of the tools so I can do it myself.

          As an aside, our concept artist adores your hair.
          Ha! I need a haircut... Also - not a pity reply! always excited to see this kind of stuff happening.
          UE4 Development [VR & AR Forums | VR | AR | Magic Leap]
          Make and Maintain Framerate [ Robo Recall Postmortem]
          Let's Connect [Twitter]

          Comment


            #6
            Originally posted by NickDarnell View Post
            You can manipulate the Layout positions of some widgets, anything inside a Canvas Panel can be manipulated, Get the widgets Slot, then cast it to a CanvasPanelSlot, then you're free to move it, though it's not terribly easy yet even when you get there, you need to understand what the offsets structure means depending on the current stretching rules.

            We're working on getting render transforms done, once that's done, every widget no matter what container they are in will have access to perform any 2D transform (relative to their layout position) Woo!
            Oh man, that is fantastic news. I think we'll wait on UMG tweening for the render transforms update. We're very excited to see that happen!
            Originally posted by Chance Ivey View Post
            Ha! I need a haircut... Also - not a pity reply! always excited to see this kind of stuff happening.
            I feel you Chance, I need one too. Too much time programming, not enough time making sure I don't look homeless. Glad to hear you're happy!

            While I have you guys in here, I'd like to ask - the current implementation exists from the moment it's created until the end of the game and ticks a sequence, each branch stopped by a gate. What is the tick overhead for checking a gate, especially dozens of them? Would it be more performant to not tick the master UETween object, but instead instantiate a new object for the specific tweening operation that ticks until it's finished, then destroy it?
            Procedural, modular, on-the-fly animation - iTween For UE4
            - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

            Comment


              #7
              This sounds like a handy tool, even though i'm not 100% sure what it does that we cant do with built-in blueprints. I'll keep an eye on this and wait for a video demonstration. Good luck!
              FREE Color LUT Collection
              FREE Physics Driven Spacecraft Project
              GTA Style Vehicle Interaction
              Dynamic DoF(Depth of Field)
              Camera Crossfade
              Portfolio

              Comment


                #8
                Originally posted by Jacky View Post
                This sounds like a handy tool, even though i'm not 100% sure what it does that we cant do with built-in blueprints. I'll keep an eye on this and wait for a video demonstration. Good luck!
                It doesn't do anything at all that can't be done with blueprints - it's simply a consolidation of nodes into an ease-of-use function to simplify R-,V-, and F-Interp functions. Instead of a spaghetti string of nodes all over the place, you simply call a function and plug in stuff like the actor you want to manipulate and the location/rotation/value you want to interpolate to. There is no new functionality here - it's meant to make the functionality that exists a bit easier to use.
                Procedural, modular, on-the-fly animation - iTween For UE4
                - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                Comment


                  #9
                  Originally posted by Jared Therriault View Post
                  It doesn't do anything at all that can't be done with blueprints - it's simply a consolidation of nodes into an ease-of-use function to simplify R-,V-, and F-Interp functions. Instead of a spaghetti string of nodes all over the place, you simply call a function and plug in stuff like the actor you want to manipulate and the location/rotation/value you want to interpolate to. There is no new functionality here - it's meant to make the functionality that exists a bit easier to use.
                  Oh, ok. Cool then.
                  FREE Color LUT Collection
                  FREE Physics Driven Spacecraft Project
                  GTA Style Vehicle Interaction
                  Dynamic DoF(Depth of Field)
                  Camera Crossfade
                  Portfolio

                  Comment


                    #10
                    Bump for updates!

                    Update 1: We've totally revamped the system. Now the UETween instance will spawn specialised actors to do specific things that will then destroy themselves when the tween is finished, so no unnecessary Tick overhead! Additionally we've decided to go with the Lerp functions instead of Interp functions for the sake of Easing functions. It's almost feature-complete at this point: Local and World transforms, Ease Types, more accurate Time calculations, a notify system (OnStart, OnTick, OnComplete), pretty much everything iTween can do. The only downside: We've only nailed down Move From/To. We're also not quite there on every iTween feature yet, so sit tight. TO DO: Paths (definitely coming, will use UE4's built-in Spline Component attached to any actor), orienting to path, axis rotation restriction, delay, looping, and the ability to ignore time dilation/pausing. Literally everything else is complete. Then we have to move on to the rest of the events (Move By, Rotate To, Value To, etc.) and when 4.5 drops, UMG functionality.
                    Last edited by Jared Therriault; 09-10-2014, 02:35 PM.
                    Procedural, modular, on-the-fly animation - iTween For UE4
                    - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                    Comment


                      #11
                      FYI Jared, Render Transforms are now in the master branch on github. You could begin to experiment before 4.5 drops.

                      Comment


                        #12
                        That I may just do. I personally tend to shy away from the GitHub commits because up until I switched to stables, it took longer to compile my games, which was especially frustrating for iterative changes. If this is no longer an issue, I would love to switch back. If it is still the case though, I'd have to ask: how complete is UMG now in the nightlies? If it's pretty much there, I may as well keep a side version of the engine on hand.
                        Procedural, modular, on-the-fly animation - iTween For UE4
                        - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                        Comment


                          #13
                          Update 2: Bob Berkebile, author of iTween, is on board to offer his help and consulting. Since this is now an official project, we've decided to stick with the name iTween to make it easier for those porting their games over from Unity to Unreal.
                          Procedural, modular, on-the-fly animation - iTween For UE4
                          - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                          Comment


                            #14
                            Dude, this is one of best things I've heard so far!! =P I'm almost iTween dependent (I'm moving from Unity to Unreal). I'm starting all my new projects in Unreal and I had to do some crazy node setup with timeline to make an generic way to animate my UI and objetcs dynamically =P

                            Looking forward for this!

                            Any download link for the most recent version!? If I donate from iTween site will already go to you guys?

                            Cheers!

                            Comment


                              #15
                              Originally posted by danielvmacedo View Post
                              Dude, this is one of best things I've heard so far!! =P I'm almost iTween dependent (I'm moving from Unity to Unreal). I'm starting all my new projects in Unreal and I had to do some crazy node setup with timeline to make an generic way to animate my UI and objetcs dynamically =P

                              Looking forward for this!

                              Any download link for the most recent version!? If I donate from iTween site will already go to you guys?

                              Cheers!
                              Dude, I'm glad to hear somebody can use this! We'd push ahead with this port whether or not anyone else would actually use it because we're also pretty iTween-dependent, but encouragement is always a great motivator. In fact, the main reason we started this was because we were in the same boat as you - Timeline was too rigid, Interp functions were only Ease-Out, and we couldn't do any cool effects like elastic without some serious finagling. So we started work on this project.

                              We're associated with Bob, the author of iTween for Unity and this is an official UE4 port, but we are separate teams and he's only consulting for the work done on this. We definitely encourage donations to Bob at PixelPlacement for all of his work on the original system, but he isn't directly working on the port nor will donations made to him go to us.

                              That said, our team doesn't need any donations! Thank you very much for the sentiment though! We're on track to have a near-1.0 Blueprint release by the end of Sepetember and will continue to work on it for a while to come. Right now we're around 20% done with the framework, but only one tween type is ready right now, Move From/To (a combination of MoveFrom and MoveTo) and even that is only about 85% done. If you'd like, you can download what we currently have to offer here: http://www.mediafire.com/download/72...en+for+UE4.zip This is the latest version I just now personally zipped up. Keep in mind that this release breaks some functionality with Move By/Rotate To/Rotate By for the sake of the framework overhaul, but Move From/To is mostly there. Documentation hasn't been updated since the first proof-of-concept release. Just put the "iTween" folder in your Contents\Blueprints folder and follow the tutorial in this thread. We'll be posting updates every time a node is 100%, just sit tight!
                              Procedural, modular, on-the-fly animation - iTween For UE4
                              - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                              Comment

                              Working...
                              X