Size: a a a

2020 November 24

M

Mikhail in unity3d.ru
Стасик
Без фулл срина ): 160-200 ФПС.
С фулл скрином: 220-260 ФПС.
в Фулскрине у тебя бытсрее работает)
источник

M

Mikhail in unity3d.ru
Стасик
В редакторе ФПС нормальный, но как только я перехожу в фулл скрин (Maximize on play) скорость движения заметно падает. Через Debug.Log() проверял  изменение скорости и обнаружил только то что Time.deltaTime выдаёт значения меньше.
И скажу чем меньше Time.deltaTIme тем быстрее игра работает, быстрее кадры сменяются и соответвенно FPS выше
источник

С

Стасик in unity3d.ru
Mikhail
в Фулскрине у тебя бытсрее работает)
Я это знаю) Но я просто всегда считал что используя Time.deltaTime скорость движения будет одинаковым для любого ФПС.
источник

M

Mikhail in unity3d.ru
Стасик
В редакторе ФПС нормальный, но как только я перехожу в фулл скрин (Maximize on play) скорость движения заметно падает. Через Debug.Log() проверял  изменение скорости и обнаружил только то что Time.deltaTime выдаёт значения меньше.
Возмоно у тебя вертикальная синхроизация включена, котора пропускает кадры и кажется что быстрее движется. Попоробуй билд сделать и если также медленно, то просто добавь скорости
источник

M

Mikhail in unity3d.ru
Стасик
Есть проблемка с поворотом персонажа. Когда ФПС падает то он движется быстрее, а когда возрастает то наоборот:
_horizontalDirection = (int)(distance / Mathf.Abs(distance));
_horizontalSpeed = Mathf.Lerp(_horizontalSpeed, _maxHorizontalSpeed, _horizontalAcceleration * Time.deltaTime * 10f);
transform.RotateAround(Vector3.zero, -Vector3.up, _horizontalSpeed * _horizontalDirection * Time.deltaTime * 10f);
А то что ты вокруг мирового центра вращаешь ты в курсе? Может тебе надо локально вращать?
источник

С

Стасик in unity3d.ru
Mikhail
А то что ты вокруг мирового центра вращаешь ты в курсе? Может тебе надо локально вращать?
Персонажа вращаю вокруг цилиндра.
источник

M

Mikhail in unity3d.ru
Стасик
Персонажа вращаю вокруг цилиндра.
А целиндр где стоит?
источник

M

Mikhail in unity3d.ru
в (0,0,0) ?
источник

С

Стасик in unity3d.ru
Mikhail
А целиндр где стоит?
По центру координат и тянется вверх по Y
источник

M

Mikhail in unity3d.ru
Стасик
По центру координат и тянется вверх по Y
Ты типо Helix Jump делаешь?
источник

С

Стасик in unity3d.ru
Mikhail
в (0,0,0) ?
Скорее (0, Y, 0); Где Y текущая позиция цилиндра (цилиндров много).
источник

M

Mikhail in unity3d.ru
Стасик
Скорее (0, Y, 0); Где Y текущая позиция цилиндра (цилиндров много).
А тебе игрока по Y же двигать не надо?
источник

С

Стасик in unity3d.ru
Mikhail
А тебе игрока по Y же двигать не надо?
Для этого есть отдельные функции. Там изменение скорости не сильно заметно.
источник

С

Стасик in unity3d.ru
Стасик
Для этого есть отдельные функции. Там изменение скорости не сильно заметно.
Но да, нужно.
источник

M

Mikhail in unity3d.ru
Стасик
Но да, нужно.
тогда у тебя эта строка не правлиьная
 transform.RotateAround(Vector3.zero, -Vector3.up, _horizontalSpeed * _horizontalDirection * Time.deltaTime * 10f);
источник

M

Mikhail in unity3d.ru
тебе надо вращать вокру положения твоего целиндра. или ещё как-то вычислять позицую относитльео целиндра
источник

С

Стасик in unity3d.ru
Mikhail
тогда у тебя эта строка не правлиьная
 transform.RotateAround(Vector3.zero, -Vector3.up, _horizontalSpeed * _horizontalDirection * Time.deltaTime * 10f);
Ну так, всё работает, ширина цилиндра всегда одинаковая))
источник

С

Стасик in unity3d.ru
Mikhail
тебе надо вращать вокру положения твоего целиндра. или ещё как-то вычислять позицую относитльео целиндра
С изменением высоты скорость вращения не меняется.
источник

M

Mikhail in unity3d.ru
например если у тебя
public Transform cylinder;
 - это ссылка на твой цилиндр, то я бы так крутил бы игрока

transform.RotateAround(cylinder.position, -Vector3.up, _horizontalSpeed * _horizontalDirection * Time.deltaTime * 10f);
источник

M

Mikhail in unity3d.ru
Стасик
Ну так, всё работает, ширина цилиндра всегда одинаковая))
Я вообще не об этом.
источник