we are… iTween version 0.8 beta! Get it : Mediafire
Big sweeping changes with this release! We hope you really enjoy all the work put into this beast. It’s been a long time coming.
I swear we didn’t hold back this release for Christmas, but Merry Christmas to those who celebrate!
New features:
-New C++ infrastructure! This new version lives entirely in C++ code, so C++ users can call iTween operations and Blueprint users can benefit from some extra speed in their iTween calls.
-New installer! Users no longer need to manually install iTween for their projects - the graphical installer will take care of all the cleanup and installation for blueprint users AND for C++ users. Users can still install manually if they choose.
-Completely Static library. You no longer need an iTween reference object or to spawn anything at all. Just call the appropriate event from anywhere and you’re tweening!
-Added Component-specific tweens. These operations work exactly like the tweens for Actors, but they operate on Scene Components.
-Added UMG Render Transform operations: Move, Shear, Scale, and Rotate From/To. These will allow you to directly transform UMG widgets without the need for iTProxy. This is slightly more performant than using iTProxy and won’t require use of the messaging system. Note this is not for the “User Widget” class, but the specific “Widget” class that is used to wrap individual widgets. The “User Widget” class is the actual User Interface class with the “Designer” and “Graph” tabs. Also note that widgets will note physically move or change size within the canvas - this affects only the Render Transform properties. They will have the appearance of moving or changing size, but their “home base,” so to speak, will not change. For example, if you place a widget on the canvas panel anchored to the center with a position of [5,5] and a size of [10,10], that’s the widget’s home base. Tweening its translation to [100,100] does not change the widget’s location to [100,100] or [105,105], it sets the Render Translation to [100,100]. The original location remains [5,5]. The same thing happens when adjusting the Render Translation directly on the widget. Similarly, setting the Render Scale to [2,2] does not change the original size to [2,2] or [20,20] (double). The original size remains [10,10]. The widget just has the APPEARANCE of having been transformed.
-New Data Type Tween operations: Vector, Vector2D, Float, Rotator, and Linear Color From/To. This is meant to replace iTProxy. This removes the need for wire messes.
-New OnTweenDataTick interface message. This is used for Data Type tweens to pass through floats, vectors, rotators, etc. to avoid having the OnTweenTick node becoming much too tall.
-New Front-end scripting language for Blueprints and C++! Certain nodes/methods now have a “Parameters” string input so you can change iTween properties through text, similar to the Hash() method from the original iTween. For example, if you want to set the vectorFrom and vectorTo to the actor’s current position and (10, 10, 10) respectively with an Ease In and Out Quadratic easetype, you can do so by typing either of the following into the “Parameters” input: “vectorfrom = current; vectorto = 10,10,10; easetype = easeInAndOutQuadratic” or “vfrom = this; vto = one * 10; ease = ioquad”. We’ve gone to great lengths to make the system as easy and forgiving as possible, so don’t be afraid to try it and give us your feedback!
-New related nodes for every event! In addition to the classic (and rebranded) Full nodes, you can try Simple nodes which cut out the less-used features to save space or Expert nodes which cut out everything but object references while still giving you the power of the Full node by providing you with a string input to harness the power of an easy-to-use front-end scripting language so you’re only setting options you need. Or go even Expert-er with Minimal and rock only three inputs: the tweening object reference, whether or not to begin ticking, and the string parameters. Object references with the minimal node can be handled via the Parameters input by putting in the object name or by setting them directly, pulling out the return value from the node. With this method you may need to leave “initialize on spawn” as false so that you can set things like Spline Components on spline operations, then initialize manually.
-Changed “InterpPointOnSpline” to “AlphaCompletion” in OnTweenTick interface message. This output now returns a float between 0 and 1 to show a “percentage” of completion for the tweening operation and works for all tweening operations, not just spline operations. This allows you to fire an event when, for example, the tween is 70% complete in its journey. Just check to see if AlphaCompletion >= 0.7.
-Added “Sweep Hit Result” output to On Tween Complete
-Updated “Successful Transform” passthrough parameters to be more accurate when using interface events.
-Loop Type “Once” changed to “Play Once” to avoid confusion that “Once” made the tween play twice.
-No more math nodes! This means no more build errors for users trying to package their games with iTween.
Some upgrade caveats:
-No more blueprint source. All the code is now C++ exclusively, though this source is available.
-Not compatible with previous version of iTween. Users will have to completely replace every node with new nodes should they choose to upgrade to this new release.
-No more iTProxy. Anything iTProxy used to do can now be done with the Data Tweens. If there actually IS anything iTProxy was doing that the Data Tweens can’t, please use an empty actor because that’s really all iTProxy was. I know I said that iTProxy would be kept for compatibility, but considering that these new nodes are not compatible with the old releases and Data Tweens do the necessary work, we figured it was best to just lose it. We’re sorry!
Known issues:
~ActorRotateFromTo, ComponentRotateFromTo
-Constraining pitch causes rotation jumping
~ActorMoveToSplinePoint, ComponentMoveToSplinePoint
-No handling for “out of bounds” easetypes
~ActorRotateToSplinePoint, ComponentRotateToSplinePoint
-No handling for “out of bounds” easetypes
-RotateToPath does not respect initial rotation; will snap rotation so that up vector of actor aligns with up vector of world
~General
-Restoration of original Tickable When Paused settings is still not possible yet, as there is no exposed property for “Get Tickable When Paused.” The function still works, but keep in mind that it will only set the actor to be Tickable but not set it back afterward. It’s better to leave this unchecked and manage Tickable When Paused on your own until this property exists in the engine.
Roadmap:
-Create new training videos
-Look into using landscape splines for spline operations
-Fix “out-of-bounds” EaseTypes with spline events
-Add more object-specific nodes