проблема с управлением текстурами

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

проблема с управлением текстурами

Сообщение pashkandr 13 май 2012, 09:38

перепробовал все что смог придумать... теперь вся надежда на вас.

дело вот в чем, я решил начать свое обучение со зднания аналога гитар хиро. На нынешней стадии програмирую движение текстуры грифа, так чтобы он двигался с соответсвующей скоростью. при, кроме этого требуеться чтобы текстура грифа растягивалась так, чтобы каждый бегущий по нему огонек(хз как еще назвать) распологался на ладу. Тоесть чем выше тем тем сжатее текстура(т. к. огоньки бегут чаще). вот мой код:

function Update ()
{
Speed = ConstScript.SPEED/10;

//опытным путем установил что расстояние в текстурах измеряется в 10раз меньших единицах чем расстояние в самой три-д комнате.(я прав??)

Scl = (MainScript.Temp3)*(Speed)*12 ;

//12 - число ладов * РАСТОЯНИЕ которое проходят тригеры за одну долю(время*скорость). мысль в том, чтобы посчитать какой длинны должен быть один лад(одна 12-ая текстуры) и соответственно умножить на 12.

Til = 1/Scl;

renderer.material.SetTextureScale ("_MainTex", Vector2(1,Til));
offset += Time.deltaTime*Speed*(Til);

if(offset/Mathf.Round(offset) == 1)
{
offset = 1;
}
renderer.material.SetTextureOffset ("_MainTex", Vector2(0,offset));
}


Вот. но! из-за чего-то стала возникла ошибка - текстура очень медленно, но заметно уезжает. из-за того что ее размер не подходит накапливается сдвиг. Я не могу понять почему
все мои попытки исправить:

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


было еще что-то.. но не важно... вообщем если кто-то может помочь советом, буду очень признателен.
Последний раз редактировалось pashkandr 13 май 2012, 14:39, всего редактировалось 1 раз.
pashkandr
UNец
 
Сообщения: 10
Зарегистрирован: 28 ноя 2011, 22:31

Re: проблема с управлением текстурами

Сообщение seaman 13 май 2012, 11:08

мы не можем сказать точно сколько кадров в каждую секунду

Время с предыдущего кадра = Time.deltaTime
ЗЫ: поправьте Ваше сообщение - используйте теги форматирования кода - читать его невозможно.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: проблема с управлением текстурами

Сообщение pashkandr 13 май 2012, 14:42

так лучше? я просто не знаю как по другому, простите меня.. на форумах не сижу обычно

Ну через deltaTime ниодин работающий алгоритм мне в голову так и не пришел... это что-то простое.. а я улезаю в дебри какие-то... может ваши свежие голову помогут =D
pashkandr
UNец
 
Сообщения: 10
Зарегистрирован: 28 ноя 2011, 22:31


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16