Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bolt : using getAxis to output slow acceleration.

Discussion in 'Visual Scripting' started by Metaclay, Apr 22, 2021.

  1. Metaclay


    Sep 28, 2019
    Hi, i'm using Bolt. So i want to use getAxis() and i want to capture the 'w' press. It works but the acceleration is too fast. I want to make the acceleration lot slower.

    This is what i want to achieve (at time 6:10 to 6:25) :
    .The code is at the same video at time 6:00 . That codes works perfectly fine. And this is all i want to achieve but i want to do it in Bolt (visual scripting) rather than manual scripting.

    So that line of code at 6:00 on that video : Velocity = time.Deltatime * acceleration

    That code is controlling how fast or slow the acceleration can go from 0 to 1 when pressing ‘w’ key. But in Bolt, i use ‘getAxis’ and by using default sensitivity setting, if i press “w” it will take less than half a second for the acceleration to go from 0 to 1. I want to make it slower so i can go from 0 to 1 in 3 seconds or 5 seconds.
    In fact , this the same as setting up the sensitivity in input manager to low value, but i want to keep this setting as default and want to control it inside bolt.

    What is the correct workflow in bolt ?


    Attached Files:

    Last edited: Apr 22, 2021
  2. PanthenEye


    Oct 14, 2013
    The workflow is identical; you get Vertical axis and multiply that with time.deltaTime. Then set the velocity float with the result of the multiply node.
  3. Metaclay


    Sep 28, 2019
    Hi, yes that's what i'm trying to do but none of them is working. I uploaded new video to show my bolt setup.

    when pressing and hold 'w', after half a second, the output of getaxis is already saturated or clamped at 1. so no matter i multiply it with, after that first half a second, that value just doesn't increase anymore.

    I want that blend time to be slower, so it will reach running state after for example 3 or 5 seconds.

    Can you tell me what i did wrong ?
  4. ericb_unity


    Unity Technologies

    Nov 24, 2017
    You have many options. One of those is with the Input Manager it work fine when you use a controller with buttons and want to force a progression on something that is true or false.

    In the project settings -> Input manager:

    - Sensitivity: Will change the speed to go from current value to 1 or -1.
    - Gravity: Will change the speed to go from current value to 0. Setting 0.5 will make it take more than a second.