Страница 1 из 1

Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 21:13
Anvarito
Вобщем столкнулся с проблемой, что обьекты движутся по диагоналям немного быстрее чем если бы они двигались по осям.
transform.Translate(vector * (Time.deltaTime * speed));
вот просто в апдейте эта строчка, больше ничего нет, что можно сделать подскажите плиз (c#)

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 21:17
1max1
transform.Translate(Vector3.ClampMagnitude(vector, speed) * Time.deltaTime);

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 21:23
Anvarito
1max1 писал(а):transform.Translate(Vector3.ClampMagnitude(vector, speed) * Time.deltaTime);

хммм, примерно так я и предпологал, но в таком виде у меня обьекты вообще не двигаются...

до этого сделал вот так, но этот способ просто не помогает. ничего не менялось...
vector = Vector3.ClampMagnitude(vector, speed);
transform.Translate(vector * (Time.deltaTime * speed));

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 21:32
1max1
Ну дебагом пробегись чему равен вектор, чему равен speed. Может там вообще нули, было бы неплохо увидеть фул код.

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 22:00
Anvarito
вобщем суть в чем, спавнер обьектов порождает обьекты, некоторые стоят прямо, некоторые повёрнуты на 45 градусов.
для движения к каждому обьекту прикреплён скрип у которого в апдейте лишь одна строчка, которую я писал выше.
так же есть переменная Vector3 которой в инспекторе задаю по Иксу - 1, а тем обьектом что боком повёрнуты - по Иксу 1 и по Игрику - 1. в итоге они движуться боком да, но быстрее чем те обьекты которые стоят прямо

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 17 окт 2018, 22:12
1max1
вобщем суть в чем, спавнер обьектов порождает обьекты, некоторые стоят прямо, некоторые повёрнуты на 45 градусов.
для движения к каждому обьекту прикреплён скрип у которого в апдейте лишь одна строчка, которую я писал выше.
так же есть переменная Vector3 которой в инспекторе задаю по Иксу - 1, а тем обьектом что боком повёрнуты - по Иксу 1 и по Игрику - 1. в итоге они движуться боком да, но быстрее чем те обьекты которые стоят прямо

Это и так было понятно из первого поста, не знаю зачем ты это написал, я просил тебя дать фул код и отдебажить переменные, а ты продублировал свое первое сообщение другими словами...

п.с. Еще можно сделать так:
transform.Translate(vector.Normalized * speed * Time.deltaTime);

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 18 окт 2018, 10:44
Anvarito
1max1 писал(а):
вобщем суть в чем, спавнер обьектов порождает обьекты, некоторые стоят прямо, некоторые повёрнуты на 45 градусов.
для движения к каждому обьекту прикреплён скрип у которого в апдейте лишь одна строчка, которую я писал выше.
так же есть переменная Vector3 которой в инспекторе задаю по Иксу - 1, а тем обьектом что боком повёрнуты - по Иксу 1 и по Игрику - 1. в итоге они движуться боком да, но быстрее чем те обьекты которые стоят прямо

Это и так было понятно из первого поста, не знаю зачем ты это написал, я просил тебя дать фул код и отдебажить переменные, а ты продублировал свое первое сообщение другими словами...

п.с. Еще можно сделать так:
transform.Translate(vector.Normalized * speed * Time.deltaTime);


это и есть фул код лол, только в литературном виде, это всё что есть в данном скрипте больше ничего нет. дебаг показывает нормальную скорость и векторы

Re: Ограничение скорости при движении по диагоналям

СообщениеДобавлено: 18 окт 2018, 11:53
1max1
это и есть фул код лол, только в литературном виде

А нужен в нормальном, мне не известно откуда берется speed, может это вообще константа, а может ты в инспекторе ее задаешь, поэтому я просил полностью показать весь код (уже не надо).
дебаг показывает нормальную скорость и векторы

Ну видать не судьба, залей сюда демо-проект, гадать на кофейной гуще можно очень долго.