Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
1
Question by sLysdal · Feb 05, 2010 at 11:59 PM · cameracarfollowsmooth

Smooth camera not really smooth

hello, i have this camera following my car in my project, it should be smooth, tho when you see it turning it seems like the camera is lagging..

i have a example here:
http://lysdal.org/s-dev/unity3d/test.html

the controls are:
a - forward
s - backward
a / d - turning
space - brake



Thanks in advance,

Soren

@AquaGeneral sure, its in the standard assets, here:

/* This camera smoothes out rotation around the y-axis and height. Horizontal Distance to the target is always fixed.

There are many different ways to smooth the rotation but doing it this way gives you a lot of control over how the camera behaves.

For every of those smoothed values we calculate the wanted value and the current value. Then we smooth it using the Lerp function. Then we apply the smoothed values to the transform's position. */

// The target we are following var target : Transform; // The distance in the x-z plane to the target var distance = 10.0; // the height we want the camera to be above the target var height = 5.0; // How much we var heightDamping = 2.0; var rotationDamping = 3.0;

// Place the script in the Camera-Control group in the component menu @script AddComponentMenu("Camera-Control/Smooth Follow")

function Update () { // Early out if we don't have a target if (!target) return;

 // Calculate the current rotation angles
 wantedRotationAngle = target.eulerAngles.y;
 wantedHeight = target.position.y + height;

 currentRotationAngle = transform.eulerAngles.y;
 currentHeight = transform.position.y;

 // Damp the rotation around the y-axis
 currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);

 // Damp the height
 currentHeight = Mathf.Lerp (currentHeight, wantedHeight, heightDamping * Time.deltaTime);

 // Convert the angle into a rotation
 currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);

 // Set the position of the camera on the x-z plane to:
 // distance meters behind the target
 transform.position = target.position;
 transform.position -= currentRotation * Vector3.forward * distance;

 // Set the height of the camera
 transform.position.y = currentHeight;

 // Always look at the target
 transform.LookAt (target);

}

Edit: i tried changing the size, it didnt work :/

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

6 Replies

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

Answer by AquaGeneral · Feb 06, 2010 at 08:13 AM

I can see what you mean however I can't quite figure out the problem without looking at the camera script. Could you post it?

Edit: Ah, I didn't realize you meant the standard assets smooth camera script.

I recall having a few problems with this in the past. I am not sure entirely what I did to fix it up. But I do recall lowering the scale of the scene, which is probably when the problem went away.

A quick way of finding out if that's the problem or not is just lowering the scale of the car, and see if that helps.

Edit 2: Is the target of the camera a rigidbody by any chance? Here are some things to try if that's the case:

  • Raise the Solver Iteration Count in the Physics Manager.
  • Lower the Time Scale in the Time Manager. It might be a temporary fix.
  • Lower the Fixed Timestep in the Time Manager. Another potential yet temporary fix.
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 sLysdal · Feb 07, 2010 at 08:14 PM 0
Share

i tried all three, only the fixed timestep change worked.. so now it works, thanks :D

avatar image
9

Answer by mightytron · Mar 01, 2010 at 08:39 AM

Hi, I had a similar problem. Tried Damping, Lerping aso and it always lagged. Finally it worked after I put all my camera lerping and damping code into the fixedupdate...

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 Novodantis 1 · Sep 19, 2010 at 10:16 AM 0
Share

Thankyou very much, you just told me exactly what I needed to know :)

avatar image ComeSweetDeath · Sep 01, 2014 at 07:34 PM 0
Share

Thank you... thank you... thank you... thank you...

avatar image
2

Answer by Moki · Oct 26, 2010 at 04:35 AM

I changed the 'LateUpdate' function in the SmoothCamera script to 'FixedUpdate', that seems to solve the lag.

Comment
Add comment · 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
1

Answer by unity3Ddev · Sep 18, 2012 at 04:02 PM

Guys the hole purpose of this script is create a lag effect. If you don't want the lag then increase the damping values to match your requirement.

var heightDamping = 2.0; var rotationDamping = 3.0;

Note :- Going for FixedUpdate is like finding solution but not the problem. FixUpdate affect Time.deltaTime property that's why it is not damping inside.

Comment
Add comment · 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
0

Answer by ProgramYourFace · May 30, 2015 at 11:30 AM

Thanks this FixedTimeStep fixed it for me to. Now I have smooth fallowing arms.:)

Comment
Add comment · 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
  • 1
  • 2
  • ›

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

Smooth Camera help 0 Answers

Changing Target Depending On Car Selected 1 Answer

How to make a camera that follows more than one character? 1 Answer

How do I make a camera look for a specific GameObject while networking? 1 Answer

Smooth Camera Follow Script, Weird Movement... Please help! 1 Answer


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