Вверх.
Вид для печати
Вверх.
Попробуй вот так:
Не проверялКод HTML:stock CameraToActor(playerid, Float:px, Float:py, Float:pz, Float:ax, Float:ay, Float:az, Float:angle, time = 1000)
{
new Float:fx, Float:fy;
fx = ax - (2.0 * floatsin(-angle, degrees)); //2.0 - расстояние камеры от актёра, скорее всего с ним стоит поиграться
fy = ay - (2.0 * floatcos(-angle, degrees)); //Тоже самое
InterpolateCameraPos(playerid, px, py, pz, fx, fy, az, time);
InterpolateCameraLookAt(playerid, px, py, pz, ax, ay, az, time);
return 1;
}
Работает! Практически так как надо.
http://imgur.com/a/mUvq3
1 скрин - твой скрипт + координата z;
2 скрин - как бы хотелось, возможно так реализовать?
Вчера пробовал вариант с cameditor'ом, что бы с помощью его вычесть конечную координату камеры, но почему то в виртуальном не работает.
Ты скорее всего не ту координату z меняешь.
Пробуй вот так:
Там, где стоит 0.5, попробуй также немного изменять если чтоКод HTML:stock CameraToActor(playerid, Float:px, Float:py, Float:pz, Float:ax, Float:ay, Float:az, Float:angle, time = 1000)
{
new Float:fx, Float:fy;
fx = ax - (2.0 * floatsin(-angle, degrees)); //2.0 - расстояние камеры от актёра, скорее всего с ним стоит поиграться
fy = ay - (2.0 * floatcos(-angle, degrees)); //Тоже самое
InterpolateCameraPos(playerid, px, py, pz, fx, fy, az + 0.5, time); //То место, (!)откуда(!) игрок будет смотреть
InterpolateCameraLookAt(playerid, px, py, pz, ax, ay, az, time); //То место, (!)куда(!) игрок будет смотреть
return 1;
}
Камера смотрит вниз.
Если не выйдет сдвинуть камеру как показано на втором скрине, то ничего страшного. Меня устраивает и камера на первом скрине.
Ну так я ж говорю, поизменяй значение 0.5, например, на 0.3 или 0.1, или вовсе увеличь. Траектория, насколько видно, правильная, дело за малым.
Всем спасибо. Проблема решена.