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 zioneig · Sep 16, 2020 at 08:49 PM · 2d-platformercamera-movement

Created Mario like camera, now my player jitters when jumping

Originally my camera just locked onto the player and follow it at the center of the screen. When I use that code everything is fine. However I created a mario like camera that only moves when the player reaches a specific point of the screen, it works however my camera jitters all over the place when jumping, not sure if it is moving too fast for the camera but I am very confused.

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class CameraFollower : MonoBehaviour { public GameObject player; public Vector2 followOffset; public float speed = 10; private Vector2 threshold;

 private PlayerPlatformerController playerRb;

 private void Start()
 {
     threshold = calculateThreshold();
     playerRb = player.GetComponent<PlayerPlatformerController>();
 }

 void FixedUpdate()
 {
     Vector2 follow = player.transform.position;
     float xDifference = Vector2.Distance(Vector2.right * transform.position.x, Vector2.right * follow.x);
     float yDifference = Vector2.Distance(Vector2.up * transform.position.y, Vector2.up * follow.y);

     Vector3 newPosition = transform.position;

     if(Mathf.Abs(xDifference) >= threshold.x)
     {
         newPosition.x = follow.x;
     }
     if(Mathf.Abs(yDifference) >= threshold.y)
     {
         newPosition.y = follow.y;
     }

     float moveSpeed = playerRb.GetVelocity().magnitude > speed ? playerRb.GetVelocity().magnitude : speed;
     transform.position = Vector3.MoveTowards(transform.position, newPosition, moveSpeed * Time.deltaTime);
 }

 Vector3 calculateThreshold()
 {
     Rect aspect = Camera.main.pixelRect;
     Vector2 t = new Vector2(Camera.main.orthographicSize * aspect.width / aspect.height, Camera.main.orthographicSize);
     t.x -= followOffset.x;
     t.y -= followOffset.y;
     return t;
 }

 //draws blue box for the deadzone
 void OnDrawGizmos()
 {
     Gizmos.color = Color.blue;
     Vector2 border = calculateThreshold();
     Gizmos.DrawWireCube(transform.position, new Vector3(border.x * 2, border.y * 2, 1));
 }

}

Comment
Add comment · Show 1
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 zioneig · Sep 17, 2020 at 01:27 AM 0
Share

Welp I gave up and found out about cinemachine, many more options much less work, thanks unity!

0 Replies

· Add your reply
  • Sort: 

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

152 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 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 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

Camera Movement and Zooming limit, 2 Answers

2D Cinemachine with Lookahead time respawn problem 4 Answers

Cinemachine camera shake on button press 0 Answers

[RESOLVED] Cinemachine Framing Transposer acts differently on different devices 1 Answer

camera problem 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