Объект не успевает достичь нужной точки

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Объект не успевает достичь нужной точки

Сообщение powerscin 22 сен 2011, 15:31

Добрый день, у меня есть проблема, в игре есть объект который следует за пальцем, если палец водить медленно то все окей, а вот если им водить побыстрее то объект уже существенно начинает отставать.
Вопрос, это можно как нибудь исправить?
powerscin
UNIт
 
Сообщения: 54
Зарегистрирован: 25 июл 2011, 18:55

Re: Объект не успевает достичь нужной точки

Сообщение skandver 22 сен 2011, 15:32

Увеличить скорость объекта.о_О
skandver
UNец
 
Сообщения: 12
Зарегистрирован: 04 авг 2011, 03:42

Re: Объект не успевает достичь нужной точки

Сообщение powerscin 22 сен 2011, 17:12

Нет) я не правильно выразился, каждый раз когда вызывается функция FixedUpdate() и когда касание происходит, объект мгновенно перемещается в место касания
powerscin
UNIт
 
Сообщения: 54
Зарегистрирован: 25 июл 2011, 18:55

Re: Объект не успевает достичь нужной точки

Сообщение seaman 22 сен 2011, 17:15

Уменьшить FixedTimeStep
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Объект не успевает достичь нужной точки

Сообщение Zaicheg 22 сен 2011, 17:36

Перенесено.

Для начала, напишите, как вы перемещаете объект.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Объект не успевает достичь нужной точки

Сообщение powerscin 22 сен 2011, 21:21

Понял, объект двигаю следующим образом:
Синтаксис:
Используется csharp
        Vector3 NewPositionV3;
        Vector3 OldPositionV3;

        void FixedUpdate () {
        if(Input.touches[i].phase == TouchPhase.Moved){
                                        if(я попал пальцем на объект){
                                                NewPositionV3 = Camera.mainCamera.ScreenToWorldPoint(new Vector3(Input.touches[i].position.x, Input.touches[i].position.y, 0.0f));
                                                NewPositionV3.z = this.transform.position.z;
                                                OldPositionV3 = this.transform.position;
                                                Vector3 offset = (NewPositionV3 - OldPositionV3);
                                                this.transform.position = this.transform.position + offset;
                                }              
                                       
}


объясняю почему я так делаю: дело в том, что на разных устройствах разные разрешения экранов и просто указывать в пикселях смещение я не могу, поэтому смещение постоянно высчитывается в единицах Unity.
И еще раз повторю, если я медленно веду палец то все впорядке, объект точно туда попадает где палец останавливается, если я быстро палец проведу, то объект все равно в место касания "приходит" но с опозданием.
Последний раз редактировалось powerscin 22 сен 2011, 21:56, всего редактировалось 1 раз.
powerscin
UNIт
 
Сообщения: 54
Зарегистрирован: 25 июл 2011, 18:55

Re: Объект не успевает достичь нужной точки

Сообщение seaman 22 сен 2011, 21:26

каждый раз когда вызывается функция FixedUpdate()

А это что было?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Объект не успевает достичь нужной точки

Сообщение powerscin 22 сен 2011, 21:57

Подправил, просто когда переписывал некоторый код вырезал и про это забыл
powerscin
UNIт
 
Сообщения: 54
Зарегистрирован: 25 июл 2011, 18:55

Re: Объект не успевает достичь нужной точки

Сообщение powerscin 23 сен 2011, 13:52

Может как то можно повысить fps? Может это помочь?
powerscin
UNIт
 
Сообщения: 54
Зарегистрирован: 25 июл 2011, 18:55


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 33