Чем конкретно отличается func _process(delta) от _physics_process()?
Обработка физики с помощью _physics_process() аналогична, но она должна использоваться для процессов, которые должны выполняться до каждого этапа физики, такого, как управление персонажем
Как это понять?
_phisics_process() это Это значение с плавающей запятой, представляющее продолжительность времени, прошедшего с момента предыдущего кадра. Как правило, это будет примерно 1/60 или 0,0167 секунды. Имея эту информацию, мы можем перестать думать о том, сколько нужно сдвинуть каждый кадр, и рассматривать только нашу желаемую скорость в пикселях в секунду (120 из приведенного выше расчета).
а func _process(delta) это функция экстрактора и указывает, как данные должны быть переданы. Тип дельта-процесса влияет на то, как инфо-провайдер получает обновленные данные. Когда объект ODS поставляется с обновленными данными, объект необходимо сериализовать, чтобы данные также можно было перезаписать.
если обобщить, физикс процесс высчитывает действия что были только что (предыдущий кадр),
а процесс дельта высчитывает то, что происходит здесь и сейчас, тобеж к примеру, тебе нужно сделать так, если Игрок коснулся стены, он должен сказать "Ауч", то это прописывать нужно в физикс процесс, потому что тот проверяет по предыдущему кадру, не произошло ли столкновение.
Надеюсь помог.
Разница аналогичная, как между Update и FixedUpdate в Unity.
_process() вызывается так часто, как позволяет скорость ЦП
_physics_process() вызывается с фиксированной скоростью
Проще говоря, _process зависит от вашего FPS.
Если FPS почему-то просядет — процесс пострадает тоже...
Поэтому нужно использовать _physics_process при обработке физики.