|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||||||
Получить положение камеры18.12.2023, 10:49. Показов 5434. Ответов 66
Метки нет (Все метки)
Помогите составить формулу. Нужно в игре развернуть камеру таким образом чтобы она смотрела на координаты точки, которые я задам. Есть 2 переменные, которые отвечают за поворот персонажа. Первая переменная float относительно X её значения от -1 до 1. И точно так же переменная Y. Вот допустим персонаж находится на координатах x: 0, y: 0. А повернуть камеру надо чтобы она смотрела на координаты x: 50 y: 50. Надо составить какую то формулу, которая будет определять в какую сторону нужно повернуться, чтобы смотреть на нужные координаты.
Вот для примера координаты персонажа, координаты на которые он смотрит и значение камеры. Char Coords x:0 y:0 Object Coords x:10 y:0 Camera value x:1 y:0 Char Coords x:0 y:0 Object Coords x:0 y:10 Camera value x:0 y:1 Char Coords x:0 y:0 Object Coords x:-10 y:0 Camera value x:-1 y:0 Char Coords x:0 y:0 Object Coords x:0 y:-10 Camera value x:0 y:-1 Char Coords x:0 y:0 Object Coords x:10 y:10 Camera value x:0.70 y:0.70 Char Coords x:0 y:0 Object Coords x:-10 y:-10 Camera value x:-0.70 y:-0.70 Нужна функция которая будет принимать координаты персонажа и координаты объекта и возвращать правильные переменные для камеры.
0
|
||||||
| 18.12.2023, 10:49 | |
|
Ответы с готовыми решениями:
66
Получить положение курсора (Си) Положение камеры Положение камеры |
| 19.12.2023, 09:23 | |||
|
Однако ж мы увлеклись
0
|
|||
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||
| 19.12.2023, 14:55 [ТС] | ||
0
|
||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
|
| 19.12.2023, 15:02 | |
|
WEewt345, вот, видишь, что функция нормализации с тригонометрическими функциями оказалась полезной. Кроме самой нормализации, ещё и угол вычисляет)
WEewt345, конечно, в будущем лучше делать с помощью кватернионов, но если игра простая, сейчас на один раз так сойдет
0
|
|
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 19.12.2023, 15:12 | ||
|
Если не используем кватернионы (да и вообще не слышали про математические библотеки для игр), то нам нужно только два угла - текущее направление и направление на объект, и дальше интерполяция для анимации. Ну а как ТС это реализует используя только два угла, я бы посмотрел .
0
|
||
| 19.12.2023, 15:17 | |
|
Не по теме: zayats80888, я не знаю, нужна ли ТС нормализация или нет? Я написал, что он просил. Общайся с ним, ему задавай вопросы, ему помогай, а не мне... ;) Если есть идеи, то не стесняйся, пиши. Советуй ему более правильные решения. Форум общий, я как бы не стал его опекуном из-за того, что пару раз ему ответил)
0
|
|
| 19.12.2023, 15:28 | |
|
0
|
|
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 19.12.2023, 15:49 | ||
|
Добавлено через 44 секунды
0
|
||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 19.12.2023, 16:57 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||
| 19.12.2023, 17:18 [ТС] | ||
0
|
||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
|||||||||
| 19.12.2023, 17:58 | |||||||||
GetCameraPosition? Она что должна была кого-то двигать)но т.к. atan2 может возвращать отрицательный угол, то можно возвращаемый данной функций угол нормализировать:
Надеюсь вы можете два угла сравнить... и на основе сравнения решать, как вращать (по часовой или против) но, мне кажется, что вот эта идея лучше:
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||
| 19.12.2023, 21:00 [ТС] | ||
|
Какие 2 угла надо сравнить? Первый угол это координаты персонажа и объекта? А какой тогда второй?
0
|
||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
||||
| 19.12.2023, 21:06 | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||
| 19.12.2023, 21:15 [ТС] | ||
|
0
|
||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
|
| 19.12.2023, 21:31 | |
|
WEewt345, допустим, персонаж находится на точке (0, 0), а твоя камера смотрела на точку (50, 50). Ты хочешь, чтобы она теперь смотрела на точку (50, 20). И вот, как я понял, ты хочешь понять, как поворачивать камеру (против или по часовой стрелке).
Когда камера смотрела на точку (50, 50) угол равен 0.785398 -> 45° Когда камера смотрит на точку (50, 20) угол равен 0.380506 -> 21,8° И теперь подумай, как поворачивать камеру?
0
|
|
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
|||||||
| 19.12.2023, 22:03 [ТС] | |||||||
0
|
|||||||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
|
| 19.12.2023, 22:50 | |
|
WEewt345,
0
|
|
|
0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 56
|
||
| 19.12.2023, 23:26 [ТС] | ||
|
0
|
||
|
Нарушитель
6699 / 3100 / 1064
Регистрация: 01.06.2021
Сообщений: 11,982
|
|
| 19.12.2023, 23:30 | |
|
0
|
|
| 19.12.2023, 23:30 | |
|
Указать положение камеры в SlimDX 11
Рассчитать положение креста в изображении с веб-камеры Изменить положение камеры не меняя фокус - Helix Toolkit 3D Приложение крашится если после вызова камеры поменять положение на горизонталь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|