Среда, 20 Ноября 2024, 06:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вращение камеры
HagraelДата: Суббота, 11 Июня 2011, 09:23 | Сообщение # 1
почетный гость
Сейчас нет на сайте
У меня такая идея: по дерганию мыши меняется угол камеры, а далее по некой математической функции находятся ее координаты. Вот как я реализовал поворот камеры, если ее угол больше либо равен 20 градусам:
Code
PositionEntity camera\model, 0, Sin(cameraAngle), Cos(cameraAngle)

То есть я меняю ее Y и Z (Y - вертикальная ось, Z - невидимая), вращая ее вокруг персонажа по кругу с помощью синуса (Y) и косинуса (Z).

Однако если угол меньше 20 градусов, то тут все сложнее. Если я сделаю обработку этого случая таким же способом, то камера будет уходить под землю. А мне надо, чтобы игрок был все время в камере (когда камера направлена в самый верх (а у меня это, кстати -80 градусов), то должна быть видна только голова игрока). С перемещением по оси Z проблем нету (оно напрямую зависит от градуса), но вот как составить зависимость Y от Z не знаю. Конечно, я могу составить прямую зависимость (Y=kZ), но тогда если вы вначале посмотрите на персонажа сверху (там камера будет плавно ездить вокруг) (до 80 гр.), а после опустите камеру до предела (-80 гр.), то после 20 гр. произойдет резкая смена траектории, что не будет хорошей чертой геймплея. Вот, кстати график (будем считать ту кривую сверху дугой smile ). С подобного рода функциями я еще никогда не сталкивался и буду вам признателен, если вы меня толкнете в нужном направлении.




Сообщение отредактировал Hagrael - Суббота, 11 Июня 2011, 09:25
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг