void Update()
{
float moveX = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime);
if (grounded && (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.W)))
//rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); // резко
//rb.AddForce(new Vector2(0f, jumpForce)); --> не работает
//rb.AddForce(Vector2.up*8000*Time.deltaTime); //--> не работает с Time.deltaTime
Нашел в интернете 3 варианта, попробовал все, но прыжок все равно резкий (будто телепорт). Видел совет умножать на Time.deltaTime, но тогда персонаж вообще прыгать отказывается... Подскажите, как прыжок плавным сделать?
var jumpVectorAndPowerOfJump = new Vector2(0, 10);
rigidbody2D.AddForce(jumpVectorAndPowerOfJump , ForceMode2D.Impulse);
или
gameObj.rigidbody2D.AddForce(Vector3.up * 10 * Time.deltaTime);
//направление * на множитель силы прыжка * на промежуток времени пере просчетом следующей силы на прорисовке следующего кадра
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости