Orbital Transposer Virtual Camera Explained in Unity’s Cinemachine
Objective: To understand what the Orbital Transposer virtual camera is in Unity’s Cinemachine and how to use it.
As the Transposer, Framing Transposer and the Orbital Transposer all share similar settings, this article will only cover the new settings that haven’t been discussed in the other two. Links will be provided to previous articles for existing settings discussed, below.
What is the Orbital Transposer Virtual Camera?
This virtual camera moves in a variable relationship to the ‘Follow’ targets position. It introduces new concepts such as ‘Heading’ and ‘Heading Bias’ which are only available with this mode (discussed below).
On top of this compared to other virtual cameras, it allows for optional player input which if used, allows the orbital camera position to be dynamically changed, relative to the ‘Follow’ target. Once you have attached an input controller to the orbital transposer, this will then be available.
Let’s Take a Look at the Orbital Transposer Settings
Heading refers to the direction the ‘Follow’ target is facing or moving. By default, the Orbital Transposer’s position will be directly behind the ‘Follow’ target and this virtual cameras position can be adjusted using the ‘Heading Bias’ field.
Refers to how the virtual camera defines the ‘Forward’ position.
Position Delta — Calculated as the difference of the ‘Follow’ targets position between the last update and the current frame.
Velocity — Uses the velocity of the Rigidbody of the ‘Follow’ target.
Target Forward — Uses ‘Follow’ targets local axis as the forward heading.
World Forward — Uses World Space as the forward heading.
The position where the virtual camera sits in relation to the direction the ‘Follow’ target is facing. This camera is rotated around the Y-axis (orbital tracking) as the ‘Follow’ target also rotates. This ranges from -180 to 180 and the default is set behind the ‘Follow’ target which is 0.
E.g. If I was then to move from 0 to -180 it would rotate the Orbital Transposer camera to the right of the ‘Follow’ target in an arcing circle until it was in front of the target. Vice versa if we were to move from 0 to 180.
Recenter to Target Heading
When there is no input from the player, if this option is enabled/ticked, it will automatically recenter the virtual camera.
The time taken since there has been no player input.
How long it takes for the virtual camera to reset back to it’s position.
These settings control the behaviour of the virtual camera after a user/player has given input.
This is the current value of the axis.
This is the minimum and maximum value of the axis allowed for the player input.
If this tick box is enabled, it will allow the axis to wrap around at the min/max mark, effectively creating a loop.
This is how the axis responds to the player input. Depending on the speed mode chosen here, this could either be the maximum speed allowed of this axis in units/second OR the input value multiplier.
This is the amount of time in seconds to accelerate to max speed on axis to it’s maximum value / to decelerate the axis to 0 if the axis is in a neutral position.
Input Axis Name
This is the name of the axis that is supplied in Unity’s Input Manager.
Input Axis Value
This is the value of the input axis and if you were to set this value to 0, that would mean there is no input.
Follow Offset and Damping
Follow offset is the location of the virtual camera when the X, Y & Z axis offsets have been applied.
X, Y & Z damping has been covered here.
Pitch, yaw & roll damping has been covered here.
How Would We Make Changes at Runtime Through Scripting?
Take a look at this previous article which covers this.