Синтаксис:
Используется csharp
public Rigidbody rb;
float speedMove = 4.5f;
float starthight;
private void Start()
{
rb = gameObject.GetComponent<Rigidbody>();
starthight = rb.velocity.y;
}
void Update()
{
if (Input.GetButtonDown("right") && rb.velocity.y == starthight)
{
rb.velocity = new Vector3(1, starthight+0.5f, 0) * speedMove;
}
else if (Input.GetButtonDown("left") && rb.velocity.y == starthight)
{
rb.velocity =new Vector3(-1, starthight + 0.5f, 0) * speedMove;
}
float speedMove = 4.5f;
float starthight;
private void Start()
{
rb = gameObject.GetComponent<Rigidbody>();
starthight = rb.velocity.y;
}
void Update()
{
if (Input.GetButtonDown("right") && rb.velocity.y == starthight)
{
rb.velocity = new Vector3(1, starthight+0.5f, 0) * speedMove;
}
else if (Input.GetButtonDown("left") && rb.velocity.y == starthight)
{
rb.velocity =new Vector3(-1, starthight + 0.5f, 0) * speedMove;
}
Тогда я попыталась двигать с помощью MovePosition - игра не лагает, но теперь персонаж игнорирует все коллайдеры и проходит сквозь объекты и не прыгает вверх (но это можно поправить анимацией)
Синтаксис:
Используется csharp
rb.MovePosition(new Vector3(rb.position.x + 1, 1, rb.position.z));
Подскажите, если ли какое-то решение данной проблемы? Или только навешиванием "костыльного" скрипта на все объекты внешнего мира?