- Home /
How Do Camera Follow Mullti Playeres
Hi, i have issue with camera follow multi players, i want when each player selected camera folow that and when one of this players destroy camera not follow them. my script work for just one player
public Transform target; public float distance = 10.0f; public float height = 5.0f; public float heightDamping = 2.0f; public float rotationDamping = 3.0f;
   void Update()
   {
       if(!target.gameObject.active)
         this.gameObject.SetActive(false);
   }
   void  LateUpdate ()
   {
       if (!target)
           return;
           
   
      Vector3 followpos = new Vector3(0.0f, height, -distance);
      Quaternion lookrotation = Quaternion.identity;
      lookrotation.eulerAngles = new Vector3(10f, 0.0f, 0.0f);
      Matrix4x4 m1  = Matrix4x4.TRS(target.position, target.rotation, Vector3.one);
      Matrix4x4 m2  = Matrix4x4.TRS(followpos, lookrotation, Vector3.one);
      Matrix4x4 combined  = m1 * m2;
      Vector3 position = combined.GetColumn(3);
      Quaternion rotation = Quaternion.LookRotation(
      combined.GetColumn(2),
      combined.GetColumn(1)
      );
 
 
       Quaternion wantedRotation = rotation;
       Quaternion currentRotation = transform.rotation;
 
       Vector3 wantedPosition = position;
       Vector3 currentPosition = transform.position;
    
       currentRotation = Quaternion.Lerp(currentRotation, wantedRotation, rotationDamping * Time.deltaTime);
       currentPosition = Vector3.Lerp(currentPosition, wantedPosition, heightDamping * Time.deltaTime);
   
      transform.localRotation = currentRotation;
      transform.localPosition = currentPosition;
       
      
   }
Answer by arashsh · Feb 22, 2020 at 12:19 PM
i solve issue with bool and playerprefs
in game public static bool one = false; public static bool two = false; public static bool tree = false; public static int index; index = PlayerPrefs.GetInt ("playerselect"); if(index == 0) one = true; if(index == 1) two = true; if(index == 2) tree = true;
in camera script if(PlayerSelectionGame.index == 0) indexx = 0; if(PlayerSelectionGame.index == 1) indexx = 1; if(PlayerSelectionGame.index == 2) indexx = 2; Matrix4x4 m1 = Matrix4x4.TRS(targets[indexx].transform.position, targets[indexx].transform.rotation, Vector3.one);
Answer by logicandchaos · Feb 22, 2020 at 03:06 AM
What I did in my current game is put all the players in a list, then make the target move to the center point of all the players, I use a loop and calculate the centroid. When a player dies I remove them from the list, if one joins I add them to the list.
Your answer
 
 
             Follow this Question
Related Questions
Player enable 1 Answer
How can I parent the player to another GameObject (Vehicle)? 2 Answers
Follow Camera Interferes with Player Movement? 0 Answers
How do I make an object teleport 2 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                