На капсуле висит характер контроллер и скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerControler : MonoBehaviour
{
public float speed = 11.0F; // Скорость передвижения персонажа
public float jumpSpeed = 11.0F; // Сила прыжка
public float gravity = 30.0F; // Гравитация
public CharacterController controller; // Загрузка контроллера
private Vector3 _moveDirection; // Вектор смещаем персонажа
void Awake()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
PlayerMove();
}
void PlayerMove()
{
if (controller.isGrounded) // Проверяем находится ли мы на, земде если да тогда
{
_moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
_moveDirection = transform.TransformDirection(_moveDirection);
_moveDirection *= speed;
if (Input.GetButton("Jump"))
{
_moveDirection.y = jumpSpeed;
}
}
_moveDirection.y -= gravity * Time.deltaTime;
controller.Move(_moveDirection * Time.deltaTime);
}
}
using System.Collections;
public class PlayerControler : MonoBehaviour
{
public float speed = 11.0F; // Скорость передвижения персонажа
public float jumpSpeed = 11.0F; // Сила прыжка
public float gravity = 30.0F; // Гравитация
public CharacterController controller; // Загрузка контроллера
private Vector3 _moveDirection; // Вектор смещаем персонажа
void Awake()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
PlayerMove();
}
void PlayerMove()
{
if (controller.isGrounded) // Проверяем находится ли мы на, земде если да тогда
{
_moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
_moveDirection = transform.TransformDirection(_moveDirection);
_moveDirection *= speed;
if (Input.GetButton("Jump"))
{
_moveDirection.y = jumpSpeed;
}
}
_moveDirection.y -= gravity * Time.deltaTime;
controller.Move(_moveDirection * Time.deltaTime);
}
}
Когда персонаж поднимается по наклонной плоскости все нормально а вот когда спускается идет рывками - прыжками. Как можно это поправить?
Скрытый текст:
Заранее благодарен.