i used cinemachine!!!! it automatically blends between cameras! i had an array of cameras that were connected to a script that randomised which camera was active. The cameras were also attached as children to the Player's body and were assigned through cinemachine to points towards the player!
Gameobject[] cameras;
private void RandomiseCamera(){
Gameobject chosenCamera = cameras[Random.Range(0,cameras.length))
foreach(Gameobject cam in cameras){
if(cam != chosenCamera)
{cam.SetActive(false)}
else{
cam.SetActive(true)}}}
---------------------------
IM GLAD YOU ENJOYED IT :DDDD THANKS FOR PLAYINGGG