Как плавно изменить размер ортогональной камеры?C#

Место общения программистов C#
Anonymous
Как плавно изменить размер ортогональной камеры?

Сообщение Anonymous »

Я пытаюсь плавно изменить размер орто в Cinemachine. Я настроил масштабирование с помощью колесика мыши, но это происходит мгновенно, и мне хотелось бы, чтобы это заняло несколько секунд и сделало это плавно. Как медленное увеличение и уменьшение масштаба. Кажется, я не могу заставить его работать. В настоящее время я использую Cinemachine для камеры и вводю действия для захвата масштабирования. и я установил для него определенное число, потому что я хочу, чтобы это были максимальные значения увеличения и уменьшения масштаба.
Я знаю, что Cinemachine имеет плавный путь для мгновенного изменения путевых точек, я надеюсь, что есть один для мгновенного изменения масштаба, или кто-то знает, как сделать это по-другому. то, что я хочу сделать, похоже на масштабирование, которое есть в финальной фэнтезийной тактике, когда вы нажимаете кнопку, и оно медленно приближается к заданному значению и откатывается, а не вручную, продолжайте прокручивать / нажимать кнопку снова и снова, чтобы, наконец, доставить его туда, куда вы хотите. это.
Может сработать что-то вроде медленного уменьшения значения с плавающей запятой. но это может занять больше времени, чем мне бы хотелось. Но я приветствую любые идеи о том, как это сделать.

Код: Выделить всё

public class Zoom : MonoBehaviour
{

public CinemachineVirtualCamera currentCamera;

public void OnZoomIn(InputAction.CallbackContext context)
{

if (context.started == true)
{
currentCamera.m_Lens.OrthographicSize = 7.0f;

}
}

public void OnZoomout(InputAction.CallbackContext context)
{
if (context.started == true)
{
currentCamera.m_Lens.OrthographicSize = 14.0f;
}
}
}
Я пробовал добавить значение скорости и пробовал использовать time.deltatime, но либо я сделал это неправильно, либо что-то в этом роде, потому что это просто испортило всю камеру и увеличило или уменьшило масштаб далеко и все равно произошло мгновенно.

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-smoothly

Вернуться в «C#»