Перейти к содержимому


Фотография

Управление самолетом ботами.


Лучший Ответ vlad333000 , 21 August 2015 - 22:56

Sledo, вот пример вашей физики (Данный пример является "идеальным" вариантом силы тяжести и сильно грубый), без других сил. Если заметите, то по скриптам вся физика - это тупо смена свойств объекта на большой частоте, а в итоге получается имитация реальной физики Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 21 August 2015 - 14:04

Хотел написать свой посадочный автопилот, но что то не нашел можно ли задавать вручную крен, тангаж и т.п. ботам или ЛА. Есть ли тут подобные команды?


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 15:14

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#3 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 21 August 2015 - 17:01

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

А что то такое которое взаимодействует с физикой игры нет? Ну вот как будто за штурвалом сидишь и управляешь ЛА, только по средством команд в скрипте.

Сообщение отредактировал Sledo: 21 August 2015 - 17:01

  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 17:32

Sledo, вся физика в играх это изменение вот этих вот параметров, только это происходит очень часто и человек видит это как обычное видео. Возьмите обычную формулу силы тяжести и примените её к объекту командой setVelocity раз так 30 в секунду и будет вам изменение скорости объекта под влиянием силы тяжести

Сообщение отредактировал vlad333000: 21 August 2015 - 17:33

  • 0

#5 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 21 August 2015 - 18:25

Sledo, вся физика в играх это изменение вот этих вот параметров, только это происходит очень часто и человек видит это как обычное видео. Возьмите обычную формулу силы тяжести и примените её к объекту командой setVelocity раз так 30 в секунду и будет вам изменение скорости объекта под влиянием силы тяжести

Ага, а заодно просчет сил инерции, лобового сопротивления, подъемной силы крыла, тяги двигателя и т.д. Нет проблем что бы написать свой движок на уже готовом физическом движке. Этим много кто занимается, но я предпочитаю использовать уже существующие стандартные возможности физ. движка. Практика показывает что это намного эффективней и быстрее своих велосипедов, при том же результате.


  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 19:49

Sledo, ну ок, идите к nvidia и спрашивайте у них как работает их физический дфижок PhysX, а заодно еще к бохемии забегите и узнайте как управлять физикой в их движке (Который использует PhysX): ибо все что мы можем изменять: это скорость, положение, ориентацию и массу

PS А вы думали это легко будет? Если в том же моде ACE банальная баллистика пули превращена в пару страниц, формата А4, кода, в котором черт ногу сломит!

Сообщение отредактировал vlad333000: 21 August 2015 - 19:50

  • 0

#7 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 21 August 2015 - 21:27

Sledo, ну ок, идите к nvidia и спрашивайте у них как работает их физический дфижок PhysX, а заодно еще к бохемии забегите и узнайте как управлять физикой в их движке (Который использует PhysX): ибо все что мы можем изменять: это скорость, положение, ориентацию и массу

PS А вы думали это легко будет? Если в том же моде ACE банальная баллистика пули превращена в пару страниц, формата А4, кода, в котором черт ногу сломит!

Дело то в чем? Дело в том что мы, как игроки вполне можем управлять ЛА без особых проблем и с физикой. Более того, боты так же вполне себе используют физику. Так вот, обычно, и это хорошая практика, берутся блоки кода которые отвечают за эти телодвижения, и на них забиваются ключевые слова, которые к примеру "делают" ровно то же, что и игрок. Например перемещение по мышки оси Х, инициализирует блок кода поворота самолета, эти данные обычно в виде цыфарок, и нет ни каких проблем с инициализацией блока кода, если эти цыфарки будут поступать не от, мышки, а от скрипта при определенных условиях. Блоку кода абсолютно все равно, от чего он получает данные.

Это и есть - физический движок т.е. там, где я использую физику которая уже готова, а не пишу ее опять. Поскольку Арма имеет физический движок, то вполне вероятно что и тут можно как то его использовать. Хотя конечно не факт.

 

Думаю и правда надо бы сбегать к БИСам, спросить у них, а то их автопилот это просто ужасный ужас ужаса.


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 21:52

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

, ИИ это совсем другая часть игрового движка. А команды которые я писал выше делают тоже самое, что и обычные скрипты отвечающие за управление, только вы решили найти тут какую-то физику

PS Вы собираетесь сделать Автопилот (ИИ для самолета) для ИИ? Вам не кажется это странным? И да скрипты в автопилоте для ботов вам не помогут, тут нужно писать свою логику поведении ИИ (FSM)

Сообщение отредактировал vlad333000: 21 August 2015 - 22:00

  • 0

#9 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 21 August 2015 - 22:24

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

, ИИ это совсем другая часть игрового движка. А команды которые я писал выше делают тоже самое, что и обычные скрипты отвечающие за управление, только вы решили найти тут какую-то физику

Очень странно, мне показалось что ЛА используют физику при полете, а непросто изменяют вектор движения. Точнее даже не движения, а направления.

 

 

PS Вы собираетесь сделать Автопилот (ИИ для самолета) для ИИ? Вам не кажется это странным? И да скрипты в автопилоте для ботов вам не помогут, тут нужно писать свою логику поведении ИИ (FSM)

Да, именно так. ИИ для ИИ. Старый ИИ выключаем, новый ИИ включаем и будет хорошо..


  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 22:34

Очень странно, мне показалось что ЛА используют физику при полете, а непросто изменяют вектор движения. Точнее даже не движения, а направления.

Все объекты используют физику, но в компьютере физика - это тупо изменение свойств объектов (Положение, Ориентация, Скорость...) на высокой частоте (Симуляция мира ее еще некоторые называют (Не путать с отрисовкой мира)). Да вообще в компьютере все как с видео - обычные статичные картинки на высокой частоте = видео, так же и в играх: быстрое изменение положение объекта = движение...
Так что команды описанные выше при применение определенных законов и правил и есть ваша физика
  • 0

#11 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 August 2015 - 22:56   Лучший Ответ

Sledo, вот пример вашей физики (Данный пример является "идеальным" вариантом силы тяжести и сильно грубый), без других сил. Если заметите, то по скриптам вся физика - это тупо смена свойств объекта на большой частоте, а в итоге получается имитация реальной физики

Прикрепленные файлы

  • Прикрепленный файл  ball_test.VR.7z   1.04К   14 Количество загрузок:

Сообщение отредактировал vlad333000: 21 August 2015 - 22:58

  • 0

#12 OFFLINE   Sledo

Sledo

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 22 August 2015 - 15:00

Все объекты используют физику, но в компьютере физика - это тупо изменение свойств объектов (Положение, Ориентация, Скорость...) на высокой частоте (Симуляция мира ее еще некоторые называют (Не путать с отрисовкой мира)). Да вообще в компьютере все как с видео - обычные статичные картинки на высокой частоте = видео, так же и в играх: быстрое изменение положение объекта = движение...

Так что команды описанные выше при применение определенных законов и правил и есть ваша физика

Вы можете не объяснять мне что такое физика, я сам ее писал когда то. И это не тупое изменение параметров ГО, а изменение этих параметров, в соответствии с формулами физики.

 

Банальный пример - гравитационное притяжение. Формула - F = G ( (m1 * m2) /( r * r) )

А вот блок кода физики гравитации:

float F = 0;
float m1 = 0; //масса ГО
float r = 0; //расстояние между ГО


function Gravity (float m1, float r)
{
  _float G = 0,0000000000667f; //Гравитационная постоянная
  _float m2 = 5974200000000000000000000; //масса Земли

  F = G * ((m1 * m2) / (R * R) );
}

Цикл на каждый кадр ()
{
  //на самом деле тут нужна еще функция расчета действия силы (F) на ГО, но мне лень его писать
  GO.pozition.y -= F;
}

И здесь, мне абсолютно все равно, от чего значения я передаю в функцию Gravity. Из скрипта который я писал, или от весов подключенных к компьютеру (которые между прочим все равно передают параметры из "скрипта").

Вот что такое физический движок. А не тупое изменение параметров ГО, как будто есть физика. Это принятие параметров,  расчет физики, и применение рассчитанных параметров, непосредственно к ГО. Вы же мне пытаетесь втолковать, что прослойки формул не используются, и изменение параметров ГО происходит напрямую, но так, как будто есть физика, т.е. не мгновенно.

 

Впрочем, раз другого не дано, я думаю что поступлю так - сосканирую параметры с посадки самолета которым управляет человек, и просто буду изменять их в полном соответствии с контрольными значениями при управлении ботом, используя интерполяцию. Получатся те же яйца, только в профиль.


Сообщение отредактировал Sledo: 22 August 2015 - 15:01

  • 0




Яндекс.Метрика