Unity how to move player code example
Example 1: unity move character
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
[SerializeField] private float speed = 5.0f;
private void Update()
{
var horizontal = Input.GetAxis("Horizontal");
var vertical = Input.GetAxis("Vertical");
transform.Translate(new Vector3(horizontal, 0, vertical) * (speed * Time.deltaTime));
}
}
Example 2: move character unity
using UnityEngine;
using System.Collections;
// This script moves the character controller forward
// and sideways based on the arrow keys.
// It also jumps when pressing space.
// Make sure to attach a character controller to the same game object.
// It is recommended that you make only one call to Move or SimpleMove per frame.
public class ExampleClass : MonoBehaviour
{
CharacterController characterController;
public float speed = 6.0f;
public float jumpSpeed = 8.0f;
public float gravity = 20.0f;
private Vector3 moveDirection = Vector3.zero;
void Start()
{
characterController = GetComponent<CharacterController>();
}
void Update()
{
if (characterController.isGrounded)
{
// We are grounded, so recalculate
// move direction directly from axes
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical"));
moveDirection *= speed;
if (Input.GetButton("Jump"))
{
moveDirection.y = jumpSpeed;
}
}
// Apply gravity. Gravity is multiplied by deltaTime twice (once here, and once below
// when the moveDirection is multiplied by deltaTime). This is because gravity should be applied
// as an acceleration (ms^-2)
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
characterController.Move(moveDirection * Time.deltaTime);
}
}
Example 3: how to add movement in unity
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private string moveInputAxis = "Vertical";
public float moveSpeed = 0.1f;
public Rigidbody rb;
public bool cubeIsOnTheGround = true;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
float moveAxis = Input.GetAxis(moveInputAxis);
ApplyInput(moveAxis);
if(Input.GetButtonDown("Jump") && cubeIsOnTheGround == true)
{
rb.AddForce(new Vector3(0, 7, 0), ForceMode.Impulse);
cubeIsOnTheGround = false;
}
private void ApplyInput(float moveInput)
{
Move(moveInput);
}
private void Move(float input)
{
transform.Translate(Vector3.forward * input * moveSpeed);
}
private void OnCollisionEnter(Collision collision) {
if(collision.gameObject.tag == "Ground") {
cubeIsOnTheGround = true;
}
}
}
Example 4: how to move player in unity 3d
float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); float speed = 5.0f; void Update(){ transform.position = new Vector3(horizontal, 0, vertical) * speed * Time.deltaTime; }
Example 5: unity player move script
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoveMe : MonoBehaviour { public float speed = 6.0F; public float jumpSpeed = 8.0F; public float gravity = 20.0F; private Vector3 moveDirection = Vector3.zero; private float turner; private float looker; public float sensitivity; // Use this for initialization void Start () { } // Update is called once per frame void Update () { CharacterController controller = GetComponent<CharacterController>(); // is the controller on the ground? if (controller.isGrounded) { //Feed moveDirection with input. moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); moveDirection = transform.TransformDirection(moveDirection); //Multiply it by speed. moveDirection *= speed; //Jumping if (Input.GetButton("Jump")) moveDirection.y = jumpSpeed; } turner = Input.GetAxis ("Mouse X")* sensitivity; looker = -Input.GetAxis ("Mouse Y")* sensitivity; if(turner != 0){ //Code for action on mouse moving right transform.eulerAngles += new Vector3 (0,turner,0); } if(looker != 0){ //Code for action on mouse moving right transform.eulerAngles += new Vector3 (looker,0,0); } //Applying gravity to the controller moveDirection.y -= gravity * Time.deltaTime; //Making the character move controller.Move(moveDirection * Time.deltaTime); } }