Sleash

Плавное перемещение камеры

В теме 1 сообщение

Всем доброго времени суток, сегодня я хотел бы рассказать вам о плавном перемещении камеры.

Для начала приведу пример: Данную функцию можно использовать для тюннинг-гаражей, и сделать камеру как в оригинальной San Andreas, только плавную.

Есть две команды для этого: InterpolateCameraPos и InterpolateCameraLookAt. Они находятся в инклуде a_players.inc

InterpolateCameraPos

Для начала рассмотрим InterpolateCameraPos и её параметры:

native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);

Теперь разберём ей параметры:

  • plaeyrid - ну тут понятно, ID того игрока, с чьей камерой взаимодействуем.
  • FromX, FromY, FromZ - Начальные координат камеры (откуда будем двигать камеру)
  • ToX, ToY, ToZ - Конечные координаты камеры (куда будем двигать камеру)
  • time - время, за которое камера передвинется с начальной точки до конечной точки. Указывается в миллисекундах.
  • cut - По умолчанию стоит CAMERA_CUT, то есть вырезает анимацию передвижения камеры (просто телепортирует).

          Второй параметр - CAMERA_MOVE - как раз таки включает анимацию плавной камеры.

          P.S. Я провёл 3 теста: Указывал CAMERA_CUT, CAMERA_MOVE и вообще не указывал cut, но всегда камера была плавная, возможно баг инклуда. 

Теперь перейдём к тесту, вот код, который я использовал:

InterpolateCameraPos(playerid, 0.00.020.015.015.015.01750);

Так как везде один и тот же итог, по этому прикрепляю только одну гифку.

P.S. В статьи нельзя загрузить файл .gif, по этому прикреплю imgur: *click*

InterpolateCameraLookAt

Следующая команда: InterpolateCameraLookAt, так же рассмотрим её параметры:

native InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);

Все эти данные мы разобрали, НО теперь камера будет не передвигаться между этими координатами, а смотреть за ними от игрока.

P.S. С cut видимо история повторяется, так как я параметр так же не указывал, и анимация была плавная.

Сразу переходим к тесту, код, который я внёс в мод:

InterpolateCameraLookAt(playerid, 0.00.020.015.015.015.01750);

По причине бага параметра cut так же прикрепляю только одну гифку, а так же на imgur: *click*

 

На этом я хотел бы закончить данный урок-обзор об этих двух малоизвестных функциях. Peace вам люди, пока!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу