в моем маленьком платформере у меня есть персонаж, который может прыгать.Если он прыгает достаточно высоко, камера должна следовать за персонажем вверх.Если он недостаточно высок, камера остается на своей оси Y и следует только за игроком через ось X.Я добился этого примерно так:
void FixedUpdate()
{
float posX = Mathf.SmoothDamp(transform.position.x, player.transform.position.x, ref velocty.x, smoothTimeX);
float posY = Mathf.SmoothDamp(transform.position.y, (player.transform.position.y + OffSetY), ref velocty.y, smoothTimeY);
if(player.transform.position.y > heightOfPlayerForCamFollow) // change camera hight only when player has reached certain height level
{
transform.position = new Vector3(posX, posY, transform.position.z);
}
else
{
transform.position = new Vector3(posX, 0, transform.position.z);
}
}
Однако теперь, когда игрок достиг определенной высоты прыжка, камера прыгает на позицию игрока, а не следует за ним.Просто из-за того, что я даю игрокам позицию Y.Как бы я изменил свой код, чтобы камера следовала, а не телепортировалась к игроку?
Спасибо :)