плавность перемещения делается так (пример затемнения прицела Зеро):
private Variables setOld = new Variables();
private Variables setNew = new Variables();
в public boolean tick()
setTmp = setOld; setOld = setNew; setNew = setTmp;
if(cockpitDimControl) {
if(setNew.dimPosition>0) setNew.dimPosition = setOld.dimPosition-0.05f;
}else {
if(setNew.dimPosition<1) setNew.dimPosition = setOld.dimPosition+0.05f;
}
в reflectWorldToInstruments
mesh.chunkSetAngles("sunOFF", 0.0f, cvt(interp(setNew.dimPosition, setOld.dimPosition, delta), 0.0f, 1.0f, 0.0f, -77.0f), 0.0f);
переменная setNew.dimPosition плавно изменяется за счет формулы setNew.dimPosition = setOld.dimPosition-0.05f в процедуре tick
и мешь двигается плавно. меняя значение прироста переменной можно регулировать скорость перемещения.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.
© В. Высоцкий
__________________
|