
08.10.2011, 13:42
|
|
Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
|
Реализация "Вид от третьего лица"
Вопрос не столько касается движка альтернативы и as3, сколько механизма исполнения в принципе, реализация будет на альтернативе8.
Есть мысль написать простенькую 3D леталку в пространстве(космос), и в ходе планирования встал вопрос о реализации "вид от третьего лица". На первый взгляд ничего сложного, просто добавляем камеру в контейнер с моделью на которой летаем и вперёд... но нет.
Движение модели планирую осуществлять по Vector3D, направление - мышь, длина вектора(скорость) - стрелки ↑/↓. Стандартно. Но если засунуть модель и камеру в один контейнер, то при изменении направления движения будет смотреться не красиво, так как модель по отношению к камере не будет менять своего положения, а хотелось бы плавного перехода при повороте: сперва модель принимает вектор направления (по мышке), а потом ракурс камеры его плавно догоняет, вообщем как в большинстве игр, тот же nfs взять.
На данный момент представляю это следующим образом: модель и камеру помещаем в один контейнер, модель реагирует на мышь мгновенно, а положение контейнера(вектор камеры) высчитывается по EnterFrame на основании разницы векторов модели и контейнера, т.е. вектор контейнера с камерой как бы догоняет вектор модели. Ещё думал о эффекте набора скорости когда при акселерации камера как бы отстаёт от модели.
В правильном направление ли я иду? Уверен что есть какие-то подводные камни. Возможно есть готовые реализации, может на других языках, хотя бы посмотреть алгоритм. Вообщем прошу совета.
|