Hi!
I’ve discovered an issue with my current camera setup and I’d like to know how to approach this.
I’m trying to replicate a camera system from an old game (Crash Bandicoot from the original playstation to be more precise, for study purposes).
I’ve been using a Cinemachine Virtual Camera with Framing Transposer body. What I need:
-The camera is mostly behind the player, doesn’t really rotate on the z axis, and needs to follow him while on the ground and jumping so he’s always on the screen.
-I need to have proper dead-zone control (the deadzone has to be wider when the player needs to walk towards the camera)
-I need to control the distance between the player and the camera, somehow (the distance from the player has to increase when the player needs to walk towards the camera).
I think that’s all.
So, almost everything works perfectly with my current iteration, but the issue I have is related to tracking the player when he’s jumping.
See, right now, if I jump, since the framing transposer works by keeping the distance, the virtual camera moves as much vertically to keep the proper distance, and it looks kinda off and weird.
In the original game, when you jump, the camera follows the character with rotation (you jump, the camera rotates upwards without moving, and when you fall it rotates downwards to its original orientation).
-
I’ve been experimenting, and by using a Transposer instead of a Framing Transposer, I’ve been able to replicate this behaviour perfectly. But the Transposer has no concept of a dead zone! So it’s failing on that.
-
I tried removing the body, and using a Composer, and while you can control the rotation with the Screen, and the dead zone works perfectly, then I’d need to implement the entire following behaviour via script, and that sounds like a nightmare.
-
If I add a Transposer and a Composer at the same time. The camera follows the player, you can control the rotation with the Composer’s Screen field, but the Dead Zone does not work for some reason (maybe because the transposer’s lack of Dead Zone knowledge overrides the Composer’s? I have no idea)
Well, I’ve tried my best.
How to approach this situation? Did I understand something wrong?
I can post any kind of code, video, and anything to illustrate my case if necessary.
Thanks in advance!


