• Как правильно настроить считывание клавиш?

    @DrRen7
    caramel2312, 662bf022babab255004650.png
    Ну вот в mover можно сделать так переходы осуществляются через MovePower по сути что и есть скорость
    using UnityEngine;
    
    public class Mover : MonoBehaviour
    {
        Rigidbody _rb;
        float _currentSpeed;
        [SerializeField] float _walkSpeed=5f;
        [SerializeField] float _runSpeed=7f;
        [SerializeField] float _sprintSpeed=10f;
    
        Vector2 _inputVec2;
        Vector3 _moveVecto3;
        bool _sprint;
        bool _superStrint;
        bool _lastUpdateSuperPos;
        float _currentSuperSprintTime;
        float _superSprimtTime = 1f;
        Animator _anim;
        private void Start()
        {
            _rb = GetComponent<Rigidbody>();
            _anim = GetComponent<Animator>();
        }
    
        private void Update()
        {
            InputRead();
            SpeedControll();
            AnimUpdate();
        }
        void InputRead()
        {
            _sprint=Input.GetKey(KeyCode.LeftShift);
            _superStrint =Input.GetKey(KeyCode.LeftAlt);
            if (_superStrint && !_lastUpdateSuperPos) _currentSuperSprintTime = _superSprimtTime;
            _inputVec2.Set(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
            _lastUpdateSuperPos = _superStrint;
    
    
        }
        void AnimUpdate()
        {
            _anim.SetFloat("MoveFront",_inputVec2.x);
            _anim.SetFloat("MoveSIde", _inputVec2.y);
            if (IsMove())
            {
                if (_inputVec2.sqrMagnitude > 1f) _inputVec2.Normalize();
            }
            _anim.SetFloat("MovePower", _currentSpeed);
        }
    
        void SpeedControll()
        {
            _currentSpeed = _sprint ? _sprintSpeed : _walkSpeed;
            if (_superStrint && !(_currentSuperSprintTime > 0))
            {
                _currentSpeed = _sprintSpeed;
                _currentSuperSprintTime -= Time.deltaTime;
            }
            
        }
        private void FixedUpdate()
        {
            _moveVecto3.Set(_inputVec2.x, 0, _inputVec2.y);
            _rb.MovePosition(_rb.position+_moveVecto3 * Time.fixedDeltaTime * _currentSpeed);
        }
    
        bool IsMove()
        {
            return _inputVec2.sqrMagnitude != 0;
        }
    }

    это код для состояния на земле, если чучуть поиграться то можно допилить для остальных, ну для приседания по сути ничего менять не надо только сделать ограничение на скорость ну и измение размера коллайдера туда и обратно. С падением все интересней надо проверку на землю и изменить код для движения
    Написано
  • Почему текстуры с blockbench в unity ломаются?

    @DrRen7
    Попробовал в URP все нормально. 662bccae8e2b8753037313.png
    Как вариант попробуй сделать текстуру квадратной
    Написано
  • Как правильно настроить считывание клавиш?

    @DrRen7
    662ba3d433235568232638.png
    Вот как то там лучше сделать
    MoveFront, MoveSIde - это координаты вектора движения для 2D смешивания
    MoveFall - это rb.velocity.y если падение и набор высоты разные движения, мб надо для анимации приземления с большей высоты
    MovePower - скорость движения, для перехода идла, ходьбы и бега
    IsGround - переход между воздухом и землей
    IsCrouch - переход между состоянием присядя и в полный рост
    Attack - атака, можно использовать и bool

    ну это как бы сделал я. А так надо сидеть и думать о прерывания и как смешивать. Условно бег и ходьбу можно в 1 смешивание запихнуть, грубо говоря как на геймпад чуть отклонение ходьба полное бег а кнопка еще и спринт
    Написано
  • Почему выводится type mismatch при загрузке файла анимации в юнити?

    @DrRen7
    MAX_x, анимация и аниматор это разные компоненты. Грубо говоря аниматор это контроллер который воспроизводит определенную анимацию и его надо настраивать
    6627e5a15ffc4348554937.png
    Написано
  • Почему выводится type mismatch при загрузке файла анимации в юнити?

    @DrRen7
    сделай скрин из инспектора. И ты анимируешь камеру?
    Написано
  • Некорректное объединение объектов, как исправить?

    @DrRen7
    LinaApenko,
    можно проверить 66267944c8e10780827150.png
    потом выбрать face ALt+N->Flip
    хотя обычно розовый цвет это потеря текстур, надо удалить старый и назначить новый.И да если потом это идет в игровой движок то лучше все превратить в треугольники (ctrl + t)
    Написано
  • Как сделать переход на другую сцену при подборе 15 предметов на юнити?

    @DrRen7
    Да. Item должны иметь коллайдеры в режиме триггер и rigidbody c IsKineMatic

    сделал ассет что б понятней было https://disk.yandex.ru/d/hfLevbu4APkGMA
    Написано