Welcome to the Cinemachine 3 discussion thread. You can use this thread to ask for help, share feedback, and have discussions about the Cinemachine 3 package.
Introduction
In this release, we’ve taken a step back and redesigned the way some things are done in Cinemachine. The Cinemachine 3 upgrade is not so much a feature update as it is a change of format – bringing it in line with the rest of Unity. Although CM 3 will be the recommended version of Cinemachine for Unity 6, we’ve decided to release it a little early for those who want to experiment with it.
An overview of what’s new
Naming has been standardized
No more hidden game objects
Works better with prefabs and presets
Improved integration with Unity standards
API now more consistent with Unity
A cleaner, simpler UX
Streamlined workflows
Integration with Unity splines
More opportunities for customization
Complete overhaul of sample scenes
Not everybody using Cinemachine needs to upgrade. We will continue to support CM2 for some time.
Before upgrading to Cinemachine 3, check if you have custom scripts that make significant use of the Cinemachine API. If so, it may be better to stick with previous versions. And, although we provide a tool to convert project data, there is currently no automated way to migrate code. The Unity API updater can’t take care of all the API changes, so this will require a manual upgrade.
If you are using Cinemachine “out of the box” without any custom scripting, the upgrade process will be relatively easy.
Resources
For more information, please have a look at:
Cinemachine has felt essential since it’s addition.
Thank you for the next iteration and the work that went into it.
I have loved using CM for juice (particularly camera shake and snappy transitions!)
And I appreciate the clean-up of CM3. I hope I’ll be able to better understand it as I get used to it.
Just wanted to provide some feedback because I said I would-
in case this isn’t known, on the 3.0.1 Cutscene sample w/ Unity 2022.3.16f1:
It seems the camera doesn’t snap back to the character after the trigger.
There’s also a small issue with the ThirdPersonWithAimMode, in that pressing escape to release the mouse lock doesn’t reset the input in the background (and thereafter doesn’t accept any), ‘unfocused’ screen, though it feels as if it should.
Although this one might be something to leave alone because it’s just an example?
In the Cutscene sample, this behaviour is expected because you can control the camera distance using the MouseWheel and the InheritPosition hint is enabled. When the camera transitions back from the cutscene, it finds valid axis settings that will preserve the current camera/player relationship as much as possible. If you disable the Z axis of the OrbitalFollow, then the camera distance will remain constant.
We will look into the ThirdPersonWithAimMode issue. Thanks for bringing it up.
The pure-DOTS version of CM is on hold. However, integrating CM with ECS is still possible. It’s a matter of having GameObject targets for CM that pull their location from the ECS world.
We are converting CM2 to CM3 and I was wondering whats the best way to animate a camera using a unity spline with SplineData that provides a look at for each point on the spline… Thanks
Do you mean a look-at point, so that when the camera reaches waypoint X on its spline it looks at some corresponding point P that you provide in the SplineData? And in-between waypoints the look-at point somehow lerps between the points provided?
If so, then there is no direct way to do that, either in CM2 or CM3 - at least not without some coding. Have you tried making a second spline along which you can animate an invisible look-at GameObject which is set as the LookAt target? It seems to me that you would have optimal control that way.
Is this something that you implemented in CM2? If so, how?
Yes I instantiated a game object and then set that game object to have a forward looking in the direction desired and then we set the virtual camera to be following and looking at the game object… For CM3 we have created a SplineData that is attached to the spline and then we basically lerp from one to another based on the spline knot as an index to the array of positions to look at
HELLO My CINEMACHINE IS 3.0.1 buti made a mistake to make it back to 2.9.7 ,
now i want back to 3.0.1 BUT NOT FOUND 3.0.1 in package manager,pls save me! thank you ! thank you very much!
Not sure this is the right place but… I installed free unity character controller and its awesome, a life saver as coding based controllers I’ve tried didnt’ work at all. I have a project with 16 tiles from default terrain editor in unity,and on play and as player moves , the terrain fades in, but it look horrible. Im told cinemachine may be at fault and to use standard controller instead. Is that the right fix, and how do I implemtn standard vs whatever is default atm.
I have caused the confusion. I apologize to both of you.
I asked our good fried to come here to learn how to use the Cinemachine’s character controller or any questions about or evaluate if it is a good fit for his application.
By all means I help out if need be, but confusion was on my part.