Request: Additional argument for Camera Interpolation

Recently, I’ve been working quite frequently with cameras and often I require them to interpolate, or move between two positions. Some example use cases are the following:

  1. Designing an in-game shop that focuses in on a non-player character
  2. Creating a tutorial for players to physically see elements of my game and understanding their purposes

Right now, the parameters for the Interpolate method are as follows:

Interpolate(endPos,endFocus,time)

However, if we look at the parameters of TweenPosition… (which is quite similar except that it only applies to two dimensions):

TweenPosition(endPosition,easingDirection,easingStyle,time,override,callback)

Note that it has an easingStyle… All I’m suggesting is that there be an added parameter to Interpolate and new Enums.

Interpolate(endPos,endFocus,time,camStyle)

Some example styles:

  • Enum.CameraStyle.Linear - Goes in a straight line from current CoordinateFrame to specified end CoordinateFrame
  • Enum.CameraStyle.Undulating - Unidirectionally drifts up and down (like trigonometric sin & cos until reaching specified CoordinateFrame
  • Enum.CameraStyle.Shakey - Shakes the camera randomly until reaching the specified CoordinateFrame
2 Likes

Adding a parameter in the middle of a list rather than the end doesn’t seem feasible, because it has to be backwards compatible with scripts that assume the third parameter is the time. If anything it would have to be the last parameter in the list.

1 Like

Thanks hahaha I wasn’t thinking. I’ll edit it.

Do people still use Interpolate when we have CFrame:lerp?
Also slightly off topic; whats the reason that Interpolate wont work unless the CameraType is Scriptable?

1 Like