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 ronronmx · Aug 27, 2010 at 05:35 PM · movementvelocitydistanceif-statements

Scripting: If velocity goes up, do this...

First of all, hi there!

I'm trying to change my camera's orthographicSize as its target speeds up and slows down. Right now my "if" statement checks to see if the forward velocity of the target is above 8, and if it is, it slowly raises the camera's orthographicSize with a Mathf.Lerp operation, and when the forward velocity goes below 8, it decreases it.

This is not really giving me the effect I want though. Instead, I would like to check if the target's velocity is going up or down. I think I need to check the current forward velocity against last frame's forward velocity, that way I will know if the target's velocity is increasing or decreasing after each frame.

In the end, here's what I'm after:

"If target velocity is increasing, then start zooming out, else if target velocity is decreasing, start zooming in."

This way the faster my target goes, the more the camera will zoom out, and the slower it goes, the more it zooms in. I'm not quite sure how to check if the velocity is increasing or decreasing relative to the last frame's numbers.

Any advice would be really helpful and 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
1

Answer by Eric5h5 · Aug 27, 2010 at 06:47 PM

Maybe you just want to map orthographic size based on velocity?

function Update () {
    camera.orthographicSize = Mathf.Lerp (minZoom, maxZoom, Mathf.InverseLerp (0.0, maxVelocity, rigidbody.velocity.magnitude));
}
Comment
Add comment · Show 3 · 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 ronronmx · Aug 27, 2010 at 10:32 PM 0
Share

Eric, thanks for your help. I tried your code and it's almost doing what I want, I just need to "slow down" the zoo$$anonymous$$g effect now, as it zooms in and out too fast. So how can I slow down the Lerp?

Thanks

avatar image Eric5h5 · Aug 28, 2010 at 11:54 AM 0
Share

@ronronmx: you could use that code to set a target variable ins$$anonymous$$d, and then lerp between the current size and the target over time, in a similar way to the standard SmoothFollow script.

avatar image ronronmx · Aug 29, 2010 at 03:02 AM 0
Share

@Eric5h5: I see what you mean, I will study the SmoothFollow script and set it up like you suggested. Thanks again for the help!

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

No one has followed this question yet.

Related Questions

needed velocity to reach target in required duration 2 Answers

Accurate and timely velocity-based movement 0 Answers

2D one distance at a time movement 2 Answers

Player slows down when jumping/velocity changes 1 Answer

Character won't move (Fixed) 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