- Home /
need help increasing walk speed
ve been using the locomotion script given by mixamo for my third person character and walking forward is really slow, but strafing and walking to the side is faster, im more confident in javascript and the code given is Csharp, this is the code:
using UnityEngine;
using System.Collections;
public class LocomotionScript : MonoBehaviour {
private Animator anim;
// Use this for initialization
void Start () {
anim = this.transform.GetComponent<Animator>();
}
void OnGUI () {
GUILayout.Label("CONTROLS");
GUILayout.Label("Movement: W A S D");
GUILayout.Label("Turn: Q E");
GUILayout.Label("Jump: Spacebar");
}
// Update is called once per frame
void Update () {
float horizontal = Input.GetAxis ("Horizontal");
float vertical = Input.GetAxis ("Vertical");
//anim.SetFloat ("Speed", vertical);
//anim.SetFloat ("Direction", horizontal);
anim.SetFloat("Vertical", vertical, 0.15f, Time.deltaTime);
anim.SetFloat("Horizontal", horizontal, 0.15f, Time.deltaTime);
/*
//Procedural rotation input, applied while moving. This allows turning without the need for turning animations.
if (vertical > 0.05f){
if(horizontal > 0.05f)
//this.transform.Rotate(Vector3.up * (Time.deltaTime + 2), Space.World);
if(horizontal < -0.05f)
//this.transform.Rotate(Vector3.up * (Time.deltaTime + -2), Space.World);
}
else if (vertical < -0.05f){
if(horizontal > 0.05f)
//this.transform.Rotate(Vector3.up * (Time.deltaTime + -2), Space.World);
if(horizontal < -0.05f)
//this.transform.Rotate(Vector3.up * (Time.deltaTime + 2), Space.World);
}
*/
//Procedural rotation input for stationary turning
if(Input.GetKey(KeyCode.Q)){
anim.SetFloat("Turn", -1, 0.1f, Time.deltaTime);
this.transform.Rotate(Vector3.up * (Time.deltaTime + -2), Space.World);
}
else if (Input.GetKey(KeyCode.E)){
anim.SetFloat("Turn", 1, 0.1f, Time.deltaTime);
this.transform.Rotate(Vector3.up * (Time.deltaTime + 2), Space.World);
}
else { anim.SetFloat("Turn", 0, 0.1f, Time.deltaTime); }
//Pressing the space bar will cause the character to jump
if (Input.GetButton("Jump")){
StartCoroutine(TriggerAnimatorBool("Jump"));
}
}
///Triggers the bool of the provided name in the animator.
///The bool is only active for a single frame to prevent looping.
private IEnumerator TriggerAnimatorBool (string name){
anim.SetBool(name, true);
yield return null;
anim.SetBool(name, false);
}
}
Do you mean that the animations are playing too slowly, or that the character is actually moving too slowly?
I am assu$$anonymous$$g that you meant animation based on the code pasted, but it wasn't clear in the question.
the animation is fine, this is the only code attached to the player, just i need him to move forward fast, velocity-wise he needs to walk faster, im using the mixamo locomotion script
Okay, the code that you pasted is only handling animation.
I recommend that you locate the movement script that you are using and read up on some basic vector math. There are plenty of resources available on Google for that.
It might also be helpful to go over the Unity scripting tutorials so that the code makes a little more sense.
Your answer
![](https://koobas.hobune.stream/wayback/20220613183220im_/https://answers.unity.com/themes/thub/images/avi.jpg)