Sign in to follow this  
Followers 0
Sleash

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

1 post in this topic

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

Для начала приведу пример: Данную функцию можно использовать для тюннинг-гаражей, и сделать камеру как в оригинальной 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 вам люди, пока!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.