• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by coleybun · Aug 14, 2017 at 10:43 PM · camera followcamera movementobject movement

How can I get the camera to follow multiple objects even if some of them are deleted?

Hello!

I want to have the camera follow 3 targets even if some of them get deleted. This is what I've written so far and the camera does follow the targets but when one gets deleted, the camera stops following. alt text I'm not by any means a good programmer, I'm just a designer trying to learn so that I can prototype and I would greatly appreciate if someone could help me work through this! ^_^ Is there some way that I can make a list of transforms and have the camera follow the average x value of those?

Well thanks for your time!

coleycaves

fitty-cent.png (24.4 kB)
fitty-cent.png (24.4 kB)
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by IgorAherne · Aug 14, 2017 at 11:24 PM

 public class MoveCamera : MonoBehaviour {
     public Transform[] players;
 
     private void Update() {
         SetCameraPos();
     }
 
     void SetCameraPos() {
         Vector3 middle = Vector3.zero;
         int numPlayers = 0;
 
         for(int i=0; i<players.Length; ++i) {
             if(players[i] ==null){
                continue; //skip, since player is deleted
             }
             middle += players[i].position;
             numPlayers++;
         }//end for every player
 
         //take average:
         middle /= numPlayers;
     }
 
      Camera cam = GetComponent<Camera>();
      cam.transform.position.x = middle.x;
 }


PS you are cute

:)

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image coleybun · Aug 14, 2017 at 11:48 PM 0
Share

Thanks for the help but I figured something out that worked! I dont really know if it's the optimal solution but hey, it works! alt text

heckin-concern-frien.png (26.4 kB)
avatar image coleybun · Aug 15, 2017 at 05:20 PM 0
Share

Also, I was looking over your solution and in C# you have to put the values in a Vector3 first, so ins$$anonymous$$d of writing,

cam.transform.position = middle.x;

You have to write this ins$$anonymous$$d:

cam.transform.position = new Vector3(middle.x, transform.position.y, transform.position.z);

Lastly, probably just a simple mistake but you wrote the following functions outside of SetCameraPos() and it has to be within that.

Camera cam = GetComponent(); cam.transform.position.x = middle.x;

Otherwise, your solution works great! :)

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

67 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to Smooth Camera Follow script for Android? 0 Answers

Smooth camera on moving platform 1 Answer

Camera Follow a Target, but not Centered on it 1 Answer

Why is cinemachine Free Look zooming in when my character walks 0 Answers

Camera jitters while following character controller 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges