инерция для вращения камеры
Не немножко переделываю под себя fpc, суть в том что чем дальше курсор от центра экрана, тем быстрее вращается камера, для каждой из осей.
if (Vector3.Distance(Input.mousePosition,centr)>Radiu s)
{
speed= ((Input.mousePosition.x/Screen.width)-0.5f)* sensitivityX;
transform.Rotate(0,(speed), 0);
}
else
{
speed=0;
}
}
Но хочу добавить для камеры инерцию, что-бы суммарный вектор поворота менялся плавно. Подскажите как это сделать? Ну например если я дернул резко мышкой то придалось ускорение, если я перевел мышь в правую зону, то еще некоторое время по инерции камера вращается влево. Я думал вычислять моментальную скорость движения курсора и прибавлять к скорости вращения какую то суммарную инерцию, умноженную на коеффиценты.
if (Time.timeSinceLevelLoad-ts>dt)
{
speedYMoment=(Input.mousePosition.y-x1)/Time.deltaTime;
SummInerc=SummInerc+speedYMoment;
MomentSpeed();
}
Но получается пурга. Вообщем тут больше на логику, чем на код. Но я что-то туплю.
|