Страница 1 из 1

Как ограничить скорость

СообщениеДобавлено: 05 ноя 2017, 14:02
BeeJayZe
Хочу сделать управление для персонажа,пока пробую сделать всё на квадратике. Дело в том,что я не знаю,как ограничить его скорость,он разгоняется до бесконечности,а какие условия и куда ставить,пока не додумался. Может кто подскажет,куда мне вбить MaxMoveSpeed?
Скрытый текст:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent (typeof (Rigidbody2D))]
public class AddForce : MonoBehaviour {
Rigidbody2D Move;
public float moveSpeed = 10f;
public float JumpSpeed = 25f;
public float MaxMoveSpeed = 15f;
void Start()
{
Move = GetComponent<Rigidbody2D> ();
}

void FixedUpdate()
{
if (Input.GetKey (KeyCode.D))
Move.AddForce(new Vector2 (moveSpeed,0));
if (Input.GetKey (KeyCode.A))
Move.AddForce(new Vector2 (-moveSpeed, 0));
if (Input.GetKeyDown (KeyCode.Space))
Move.AddForce(new Vector2 (0, JumpSpeed),ForceMode2D.Impulse);
}


}

Re: Как ограничить скорость

СообщениеДобавлено: 05 ноя 2017, 14:09
Anonymyx
В настройках RigidBody объекта попробуйте повысить параметр Drag.

Re: Как ограничить скорость

СообщениеДобавлено: 16 ноя 2017, 22:08
JackZI
AddForce по названии говорит что управляет инерцией, тоисть он ускоряется, чтобы ограничить силу нужно... ограничить velocity :))

Re: Как ограничить скорость

СообщениеДобавлено: 16 ноя 2017, 23:15
Cr0c
Вангую, что прыжок глючит )) на прыжок задавать velocity вместо AddForce