Additive and Subtractive Tweens

As a Roblox developer, it is currently too hard to implement smooth blending tweens.

If this issue is addressed, it would improve my development experience because additive tweens allows for tweens to stack on each other instead of replacing each other using the traditional tween and cause constant bugging.

A use case for this would be creating a smooth camera panning while allowing the camera shake system with different easing configurations to layer on top for a more non-stop subtle experience to a game.

An example on how additive tweens can be used:

local tween = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })

tween:Add()
9 Likes

What is the expected result?

  1. That this tween modifies the goal value of any current tweens on the same properties?
  2. Or that any existing tweens on the properties have their current velocity inferred and used in the initial constraint of the this new tween?
  3. All tweens now act as offset-defined instead of goal-defined?
2 Likes

The tween played would be offset-based instead of the goal if it is enacted through such functions like :Add() or :Subtract().

Issues may be faced when used with CFrames but they still be properly performed on when Vector3 is used to offset the CFrame.

The critical key purpose of this is to allow stacking playing tweens and this requires utilizing offset-based. The use case is provided in the request.

1 Like