Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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 Avaciin · Mar 06, 2015 at 11:56 AM · camera2dcamera-movement

Camera 2D Questions

I need some help figuring out how to program a camera in 2D.

I have a few questions:

  1. How do I get the camera to stop moving when it reaches the end of the screen (or the end of the background sprite)?

  2. I only want the Camera to follow the player when the player reaches the middle of the screen (so the camera will remain stationary while the player is on either side of the screen, but once the player starts walking left or right, the camera follows them after they reach the middle of the camera)

  3. Same question as #2 but moving vertically up or down screen.

I should mention that this is a platformer. Also in C#.

Any help or suggestions would be greatly appreciated. Thanks!

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
2
Best Answer

Answer by AlbinosMou · Mar 06, 2015 at 06:14 PM

Hi ! First of all, to do this properly, make sure your camera and your character are not linked in the scene hierarchy : by moving them together via script, you'll be sure to control everything. Otherwise there will be a few cases where you'll want to prevent the camera from moving by itself, and it is harder if one is the parent of another.

Then :

  1. Use invisible markups (i.e. Transforms of empty GameObjects) to indicate your side limits. Then, in the script where you handle your camera movement, you only execute this movement after having checked your camera position.

  2. Since the middle of the screen also happens to be your cameras's transform.position.x, you can add one more constraint to your camera behaviour : if your player moves to the right, you only move your camera when the player's position.x is greater or equal to the camera's position.x. And vice versa if the player moves left.

  3. On the Y-axis the configuration is the same, but the threshold you'll want to use for moving the camera is not necessarily at 50% of the screen (otherwise the character will be too high and it will look weird). So, you can once again use an invisible markup that you will check instead of the camera's position. Since its position must be always relative to the camera, this one has to be a child of the camera.

Comment
Add comment · Show 1 · 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 Avaciin · Mar 09, 2015 at 10:18 PM 0
Share

This was helpful. Thank you!

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.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

2D Camera Smooth follow, FixedUpdate and LateUpdate odd difference, help needed. 1 Answer

Isometric - Camera follow an object when at the edge of the screen 1 Answer

2D Diablo style movement 1 Answer

following camara issue 1 Answer

How to Manually Move the Camera Horizontally or Vertically? (2D, Parallax), 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges