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 /
  • Help Room /
avatar image
0
Question by Hootlook · Aug 09, 2018 at 04:19 PM · vector3lerpquaternions

How to get a velocity to use as a lerp time

Hello,

I am making a script that makes my camera tilt on the sides when i strafe, on top of that i would like to have my tilt to reset at the original pose when i hit a wall. So my guess was that i need to get my Player's velocity to use it as a lerp time float, not noticing how stupid it was it acually kind of worked but i guess just getting the velocity and detecting only when the player dont move is a better choice but it leaves me with the same problem: How can i use a vector3 as a float value ? i did notice that my playerVelocity Vector worked as a float if would specify the axis when i play with this Lerp i can tilt only facing some directions, some dont work and some makes my camera tilt jerky. Any ideas ? ===========================================================================

  void LateUpdate()
     {
         Vector3 playerVelocity = GameObject.Find("Player").GetComponent<Rigidbody>().velocity;
         float zvel = playerVelocity.x * playerVelocity.z;
         /*    float t = currentLerpTime / lerpTime;
             t = Mathf.Sin(t * Mathf.PI * 0.5f);
             //increment timer once per frame
             currentLerpTime += Time.deltaTime;
             if (currentLerpTime > lerpTime)
             {
                 currentLerpTime = lerpTime;
             }
             float perc = currentLerpTime / lerpTime;
             */
 
         if (Input.GetAxisRaw("Horizontal") < 0)
         {
             leftTilt();
         }
 
 
         if (Input.GetAxisRaw("Horizontal") > 0)
         {
             transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y,
 -2.5f), Time.deltaTime * lerpTime * zvel);
         }
         else if (Input.GetAxisRaw("Horizontal") == 0)
         {
             transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0), Time.deltaTime * lerpTime * zvel);
         }
 
     }
 
     void leftTilt()
     {
         Vector3 playerVelocity = GameObject.Find("Player").GetComponent<Rigidbody>().velocity;
         float zvel =   playerVelocity.z;
         float xvel = playerVelocity.x;
 
         float global = xvel * zvel;
         transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y,
 2.5f), Time.deltaTime * lerpTime * global);
 
         if (zvel <= 0)
         {
             transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0), Time.deltaTime * lerpTime);
         }
 
     }
Comment
Add comment · Show 2
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 Hootlook · Aug 09, 2018 at 03:51 PM 0
Share

And why is my text all cramped up ?!

avatar image MT369MT · Aug 09, 2018 at 08:44 PM 1
Share

To know the velocity (speed) of a Rigidbody as a float value use:

 float Speed = GameObject.Find("Player").GetComponent<Rigidbody>().velocity.magnitude;

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

173 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 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 registering it is at correct position when it isn't 0 Answers

Vector3.Lerp not moving object backwards 0 Answers

Character controller won't rotate - Is it bad quaternion math or something else? 1 Answer

Smooth Forward Movement with a CoRoutine 1 Answer

Help with combining Vectors 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