Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

justice_st

3д вектор+парабола

Рекомендованные сообщения

Вопщем есть игра с C# script hook к ней. Есть Player.character.position - вектор из начала координат в позицию игрока и есть Game.CurrentCamera.Direction - единичный вектор, означающий куда направлена игровая камера. Но нет в скриптхуке и в нативных функциях главного - правильно работающей функции, находится ли объект на экране (видим ли он) или нет. Единственное что мне пришло в голову (без учета того что объект может быть спрятан за другим объектом, например стеной или зданием). 2д зона видимости примерно похожа на параболу, а игрок скорее всего находится в ее фокусе. Надо имея вектор позиции и вектор направления, определить что находится между ветвями параболы - на экране, а что нет. То есть получить набор векторов составляющих параболу.

Вот как это выглядит примерно в 2д

screenshot20130509001.jpg

Что можно сделать с векторами:

clipboardhs.jpg

Поделиться сообщением


Ссылка на сообщение
OgGzVpV.png

0BdKg2e.png

Скрытый текст

 

Цитата

посоны

я джуса забанил

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение

Неплохо было бы хотябы построить параболу из единичного 2д вектора (убрать Z). Нужно походу смещение от вектора положения в сторону вектора камеры. Вот именно смещение в сторону вектора как сделать я ваще хз

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...