Код документа: RU2638518C1
Область техники
Изобретение относится к области моделирования физических процессов, а более конкретно к системам и способам моделирования поведения игровых элементов во время удаленной игры.
Уровень техники
В связи с увеличением вычислительной мощности современных компьютеров появилась возможность реализации виртуальной реальности, внутри которой моделируются разнообразные физические процессы. Это нашло свое применение в индустрии развлечений - появилось большое количество компьютерных игр-симуляторов, в которых пользователь может управлять смоделированными объектами так, как если бы это происходило в реальном мире (естественно, с заданным уровнем точности). Использование виртуальной реальности дало возможность пользователям, находящимся в разных местах, играть вместе, взаимодействуя с одними и теми же объектами.
Основная проблема компьютерных моделей физических процессов (например, моделирование задач взаимодействия нескольких материальных тел, где в качестве задач могут выступать некоторые компьютерные игры, такие как «бильярд», «настольный футбол» и т.д.) заключается в большой сложности расчетов взаимодействия физических объектов (мяч, игроки, элементы игрового стола и т.д.) друг с другом. Сложность выполняемых расчетов приводит к низкой точности или скорости таких расчетов, что негативно сказывается на комфортности и ощущениях реальности игры или же к большим затратам на организацию вычислительной системы, способной производить необходимые расчеты с необходимой точностью.
На текущий момент есть множество как коммерческих (например, Havok), так и бесплатных (например, PhysX) физических движков (компьютерных программ, которые производят компьютерное моделирование физических законов реального мира в виртуальном мире), предоставляющих свой API (англ. Application Programming Interface, интерфейс прикладного программирования) для моделирования разнообразных физических процессов. Основной недостаток существующих физических движков заключается в низкой точности расчетов, ограниченном количестве взаимодействующих объектов или типов взаимодействующих объектов (например, очень сложно реализовать моделирование взаимодействия резиновых объектов).
Кроме моделирования физических процессов для комфортного ощущения виртуальной реальности пользователем необходима и корректная визуализация моделируемых процессов. Для этого используется множество разнообразных техник с использованием большого спектра вычислительных устройств (например, видеокарт). Наилучшим способом визуализации некоторой физической модели является способ трассировки лучей (англ. ray tracing), в котором моделируется поведение лучей света, проходящих через модель физических процессов. Тем не менее упомянутый способ визуализации является чрезмерно ресурсоемким и не способен выполняться в реальном времени на существующих вычислительных устройствах (включая и суперкомпьютеры). С целью найти компромисс между используемыми вычислительными ресурсами и точностью визуализации используются упрощения, например, такие, как обратная трассировка лучей (англ. backward ray tracing), работающие заметно быстрее, но дающие менее точные результаты.
Поэтому для решения описанных выше проблем используются разнообразные способы осуществления физических процессов, во время которых пользователи могут удаленно выполнять разнообразные действия и наблюдать за результатом выполнения упомянутых действий. Например, во время реализации удаленной игры между пользователями (скажем, в бильярд) пользователи могут управлять киями удаленно, нанося удары по бильярдным шарам, находящимся также удаленно на бильярдном столе, и наблюдая результаты своей игры на мониторах.
Например, в патентной публикации WO 2010000068 А1 описана технология удаленного управления игры в бильярд. Для этой цели на бильярдном столе закрепляются средства, механически взаимодействующие с бильярдными шарами. Пользователь через джойстик управляет перемещением упомянутого средства. После того как упомянутое средство выставляется в нужную позицию, оно наносит удар по бильярдному шару. Недостаток описанного метода в узости применения, ограниченного простой системой (бильярдный стол) и небольшим количеством взаимодействующих элементов (бильярдные шары). Кроме того, в такой системе невозможно реализовать обратную связь между средством, производящим силовое воздействие на бильярдные шары, и пользователем, управляющим таким взаимодействием.
Хотя описанные выше способы работы хорошо справляются с задачами моделирования простых физических процессов, а также визуализации моделируемых процессов, они не способны справиться с моделированием и визуализацией сложных (идентичных физическим) процессов или при большом количестве моделируемых процессов.
Настоящее изобретение позволяет решать задачу моделирования взаимодействия физических объектов.
Раскрытие изобретения
Изобретение предназначено для визуализации моделирования физических процессов.
Технический результат настоящего изобретения заключается в повышении точности моделирования поведения игровых элементов.
Еще один технический результат настоящего изобретения заключается в улучшении точности визуализации на стороне пользователя поведения игровых элементов.
Еще один технический результат настоящего изобретения заключается в увеличении точности обратной связи игрового манипулятора, имитирующего силовое воздействие на игровые элементы за счет формирования физического игрового поля и игровых элементов, оказания силовых воздействий на сформированные игровые элементы и изменения состояния игрового манипулятора на основании параметров поведения игровых элементов, на которые было осуществлено силовое воздействие.
Еще один технический результат заключается в повышении точности передаваемой позиции игровых элементов в момент передачи хода игры во время удаленной игры по меньшей мере двух игроков, который достигается за счет моделирования поведения игровых элементов.
Данные результаты достигаются с помощью использования системы моделирования поведения игровых элементов во время удаленной игры по меньшей мере двух пользователей, при этом упомянутая система содержит: игровой манипулятор, предназначенный для: выявления физического действия, выполняемого пользователем с целью осуществить силовое воздействие на по меньшей мере один игровой элемент; вычисления физических параметров, характеризующих упомянутое физическое действие; передачи вычисленных физических параметров средству выполнения силовых воздействий; средство позиционирования, предназначенное для: определения параметров по меньшей мере двух игровых элементов, причем параметры игровых элементов определяют взаимное расположение и физические свойства игровых элементов и характеризуют состояния упомянутых игровых элементов; передачи определенных параметров игровых элементов средству выполнения силовых воздействий и средству визуализации; средство выполнения силовых воздействий, предназначенное для: определения игрового элемента, на который требуется осуществить силовое воздействие на основании определенных параметров игровых элементов и вычисленных физических параметров выявленного физического действия; вычисления параметров силового воздействия на определенный игровой элемент; осуществления силового воздействия на определенный игровой элемент в соответствии с вычисленными параметрами силового воздействия; средство контроля, предназначенное для: отслеживания поведения игровых элементов во время осуществления силового воздействия средством выполнения силовых воздействий; определения параметров упомянутого поведения, при этом параметры поведения характеризуют изменение состояния игровых элементов; передачи определенных параметров поведения средству визуализации; средство визуализации, предназначенное для: формирования модели поведения игровых элементов на основании определенных параметров игровых элементов и определенных параметров поведения игровых элементов.
В другом частном случае реализации системы каждый пользователь использует собственный игровой манипулятор с целью осуществить силовое воздействие на по меньшей мере один игровой элемент.
Еще в одном частном случае реализации системы игровым элементом является материальный объект, чьи пространственные координаты и физические свойства определяются физическими параметрами игрового элемента.
В другом частном случае реализации системы в качестве одного из игровых элементов выступает игровое поле - материальный объект, на котором располагаются другие игровые элементы.
Еще в одном частном случае реализации системы в качестве игрового поля выступает бильярдный стол.
В другом частном случае реализации системы в качестве игрового элемента выступает бильярдный шар.
Еще в одном частном случае реализации системы игровые элементы удалены от пользователя таким образом, что пользователь, выполняя физическое действие, не способен непосредственно оказать силовое воздействие на игровые элементы.
В другом частном случае реализации системы в качестве физических параметров физического действия выступает по меньшей мере: вектор и величина скорости выполнения физического действия; вектор и величина импульса выполнения физического действия; вектор и величина момента импульса выполнения физического действия; энергия, передаваемая в результате выполнения физического действия.
Еще в одном частном случае реализации системы силовое воздействие на игровой элемент выполняется по меньшей мере одним из следующих способов: механически, посредством удара по игровому элементу средством выполнения силовых воздействий; посредством передачи электромагнитного импульса игровому элементу от средства выполнения силовых воздействий.
В другом частном случае реализации системы параметры силового воздействия включают в себя: время силового воздействия; позицию силового воздействия на игровом элементе; усилие, оказываемое на игровой элемент в определенной позиции и в определенное время.
Еще в одном частном случае реализации системы усилие, оказываемое на игровой элемент, характеризуется по меньшей мере: физической силой, действующей на игровой элемент; импульсом, передаваемым игровому элементу; энергией, передаваемой игровому элементу.
В другом частном случае реализации системы в качестве модели поведения игровых элементов выступает по меньшей мере: совокупность виртуальных 3d моделей игровых элементов, где каждой упомянутой 3d модели ставится в соответствие время, во время которого упомянутая 3d модель была актуальна; видеопоток, снятый со сформированного игрового поля.
Еще в одном частном случае реализации системы средство контроля включает в себя по меньшей мере видеокамеры, датчики движения, дальномеры, тепловизоры; для отслеживания поведения игровых элементов, а также программное обеспечение для определения параметров упомянутого поведения.
В другом частном случае реализации системы параметры поведения игровых элементов характеризуют изменение состояния игрового манипулятора.
Еще в одном частном случае реализации системы параметры поведения игровых элементов характеризуют изменение состояния игрового манипулятора.
В другом частном случае реализации системы средство контроля осуществляет обратную связь с игровым манипулятором, заключающуюся в изменении состояния игрового манипулятора на основании параметров поведения игровых элементов, на которые было осуществлено силовое воздействие.
Еще в одном частном случае реализации системы средство визуализации после формирования модели поведения игровых элементов выполняет визуализацию игровых элементов.
Данные результаты достигаются с помощью использования способов моделирования поведения игровых элементов во время удаленной игры по меньшей мере двух пользователей, содержащих этапы, которые реализуются с помощью средств из системы моделирования поведения игровых элементов, и на которых: с помощью средств позиционирования определяют параметры по меньшей мере двух игровых элементов, представляющих собой материальные объекты, чье взаимное расположение и физические свойства определяются параметрами игровых элементов и характеризуют состояния упомянутых игровых элементов; с помощью игрового манипулятора отслеживают физическое действие, выполняемое пользователем с целью осуществить силовое воздействие на по меньшей мере один игровой элемент, и при выявлении физического действия вычисляют физические параметры, характеризующие упомянутое физическое действие; с помощью средства выполнения силовых воздействий на основании определенных параметров по меньшей мере одного игрового элемента и вычисленных физических параметров определяют игровой элемент, на который требуется осуществить силовое воздействие, и вычисляют параметры упомянутого силового воздействия на определенный игровой элемент; с помощью средства выполнения силовых воздействий осуществляют силовое воздействие на определенный игровой элемент в соответствии с вычисленными параметрами силового воздействия; с помощью средства контроля отслеживают поведение игровых элементов и определяют параметры упомянутого поведения, при этом параметры поведения характеризуют изменение состояния игровых элементов; с помощью средства визуализации формируют модель поведения игровых элементов на основании определенных параметров игровых элементов и определенных параметров поведения игровых элементов.
В другом частном случае реализации способа каждый пользователь использует собственный игровой манипулятор с целью осуществить силовое воздействие на по меньшей мере один игровой элемент.
Еще в одном частном случае реализации способа игровым элементом является материальный объект, чьи пространственные координаты и физические свойства определяются физическими параметрами игрового элемента.
В другом частном случае реализации способа в качестве игрового элемента может выступать игровое поле - физический объект, на котором располагаются другие игровые элементы.
Еще в одном частном случае реализации способа в качестве игрового поля выступает бильярдный стол.
В другом частном случае реализации способа в качестве игрового элемента выступает бильярдный шар.
Еще в одном частном случае реализации способа игровые элементы удалены от пользователя таким образом, что пользователь, выполняя физическое действие, не способен непосредственно оказать силовое воздействие на игровые элементы.
В другом частном случае реализации способа в качестве физических параметров физического действия выступает по меньшей мере: вектор и величина скорости выполнения физического действия; вектор и величина импульса выполнения физического действия; вектор и величина момента импульса выполнения физического действия; энергия, передаваемая в результате выполнения физического действия.
Еще в одном частном случае реализации способа силовое воздействие на игровой элемент выполняется по меньшей мере одним из следующих способов: механически, посредством удара по игровому элементу средством выполнения силовых воздействий; посредством передачи электромагнитного импульса игровому элементу от средства выполнения силовых воздействий.
В другом частном случае реализации способа параметры силового воздействия включают в себя: время силового воздействия; позицию силового воздействия на игровом элементе; усилие, оказываемое на игровой элемент в определенной позиции и в определенное время.
Еще в одном частном случае реализации способа усилие, оказываемое на игровой элемент, характеризуется по меньшей мере: физической силой, действующей на игровой элемент; импульсом, передаваемым игровому элементу; энергией, передаваемой игровому элементу.
В другом частном случае реализации способа в качестве модели поведения игровых элементов выступает по меньшей мере: совокупность виртуальных 3d моделей игровых элементов, где каждой упомянутой 3d модели ставится в соответствие время, во время которого упомянутая 3d модель была актуальна; видеопоток, снятый со сформированного игрового поля.
Еще в одном частном случае реализации способа средство контроля включает в себя по меньшей мере видеокамеры, датчики движения, дальномеры, тепловизоры; для отслеживания поведения игровых элементов, а также программное обеспечение для определения параметров упомянутого поведения.
В другом частном случае реализации способа параметры поведения игровых элементов характеризуют изменение состояния игрового манипулятора.
Еще в одном частном случае реализации способа средство контроля осуществляет обратную связь с игровым манипулятором, заключающуюся в изменении состояния игрового манипулятора на основании параметров поведения игровых элементов, на которые было осуществлено силовое воздействие.
В другом частном случае реализации способа средство визуализации после формирования модели поведения игровых элементов выполняет визуализацию игровых элементов.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы моделирования поведения игровых элементов во время удаленной игры.
Фиг. 2 представляет структурную схему способа моделирования поведения игровых элементов во время удаленной игры.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Удаленная игра между игроками - игра, во время которой игровые элементы и игроки находятся на расстояниях друг от друга, исключающих непосредственное взаимодействие игроков с игровыми элементами (например, игроки не способны непосредственно оказывать силовые воздействия на игровые элементы).
Фиг. 1 представляет структурную схему системы моделирования поведения игровых элементов во время удаленной игры.
Структурная схема системы моделирования поведения игровых элементов во время удаленной игры содержит пользователя 100, игровые элементы 120, игровой манипулятор 130, средство позиционирования 140, средство выполнения силовых воздействий 150, средство контроля 160 и средство визуализации 170.
Для упрощения пользователи 100.1 и 100.2 отображены как один пользователь 100, игровое поле 120.1 и игровые элементы 120.2 отображены только как игровые элементы 120.
В одном из вариантов реализации системы игровой манипулятор 130, средство позиционирования 140, средство выполнения силовых воздействий 150 и средство визуализации 170 являются периферийными компьютерными устройствами, а средство контроля 160 - компонентом компьютерной системы общего назначения, персонального компьютера или сервера, описанных на Фиг. 3.
В одном из вариантов реализации системы в качестве одного из игровых элементов 120 выступает игровое поле - материальный объект, на котором располагаются другие игровые элементы 120.
В одном из вариантов реализации системы в качестве игрового поля выступает бильярдный стол, а в качестве игрового элемента, расположенного на игровом поле, - бильярдный шар.
Например, совокупность всех игровых элементов 120, присутствующих в системе моделирования поведения игровых элементов во время удаленной игры, представляет собой бильярдный стол для игры в снукер, 1 белый, 6 цветных и 15 красных шаров размеров, массы, материала и формы, соответствующих правилам игры в снукер.
В одном из вариантов реализации системы игровые элементы 120 удалены от пользователя 100 таким образом, что пользователь 100, выполняя физическое действие, не способен непосредственно оказать силовое воздействие на игровые элементы.
Например пользователь #1100.1 может находиться в одном городе, пользователь #2 100.2 - в другом, а бильярдный стол с бильярдными шарами - в третьем.
В одном из вариантов реализации системы игровым элементом 120 является материальный объект, чьи пространственные координаты и физические свойства определяются физическими параметрами игрового элемента 120.
В одном из вариантов реализации системы в качестве физических свойств игрового элемента 120 выступают по меньшей мере:
- физические размеры,
- векторная скорость движения (включающая направление движения и скалярное значение скорости движения),
- коэффициент трения поверхности.
Например в случае, когда в качестве игровых элементов 120 выступают бильярдный стол и бильярдные шары, в качестве физических свойств выступают радиусы шаров, их пространственные координаты, начальные скорости, коэффициенты трения сукна игрового поля и поверхности бильярдных шаров.
Игровой манипулятор 130 предназначен для:
- выявления физического действия, выполняемого пользователем 100 с целью осуществить силовое воздействие на по меньшей мере один игровой элемент 120;
- вычисления физических параметров, характеризующих упомянутое физическое действие;
- изменения своего состояния на основании данных, полученных от средства контроля 160, при этом в качестве состояния игрового манипулятора 130 выступает по меньшей мере
• векторная скорость перемещения игрового манипулятора 130 (например, тормозящее движение);
• амплитудно-частотные характеристики вибрации игрового манипулятора 130;
• температурные характеристики игрового манипулятора 130;
- передачи вычисленных параметров средству выполнения силовых воздействий 150.
При этом состояние игрового манипулятора 130 характеризует по меньшей мере его
- поведение (например, силу вибрации),
- физические характеристики (например, геометрические размеры).
В одном из вариантов реализации системы каждый пользователь 100 использует собственный игровой манипулятор 130 с целью осуществить силовое воздействие на по меньшей мере один игровой элемент 120.
В одном из вариантов реализации системы игровой манипулятор 130 для выявления физического действия, выполняемого пользователем 100, осуществляет захват движения, реализуемый по меньшей мере:
- контактно, с использованием датчиков, закрепленных на пользователе 100 или встроенных в игровой манипулятор 130;
- бесконтактно, с использованием видеокамер, датчиков движений и т.п.
В случае, когда в качестве игровых элементов 120 выступает бильярдный стол и бильярдные шары (т.е. для удаленной игры в бильярд), в качестве контактного игрового манипулятора 130 может выступать сенсорный игровой контроллер, выполненный в форме бильярдного кия, обладающий соответствующим весом и балансировкой и содержащий датчики, предназначенные для определения физических действий, выполняемых пользователем 100, вычисления физических параметров, характеризующих определенные физические действия.
В одном из вариантов реализации в качестве бесконтактного игрового манипулятора 130 может выступать система Kinect. Пользователь 100 выполняет движения прицеливания и удара кием по шару (при этом в руках пользователя 100 никакого кия может и не быть, а также отсутствовать бильярдный стол, на котором происходит игра), система Kinect производит видеосъемку действий пользователя 100 (таким образом оцифровывает его действия), распознает выполняемые движения и вычисляет значения физических параметров выполняемых движений пользователя 100, такие как скорость удара, ускорение удара, вектор движения, закручивание и т.д. В случае использования контактного сенсорного игрового манипулятора 130 указанные выше физические параметры получаются игровым манипулятором 130 от установленных в игровой контроллер датчиков или же вычисляются на основании данных, полученных с других датчиков игрового манипулятора 130.
В одном из вариантов реализации системы в качестве физических параметров выполняемого физического действия выступает по меньшей мере:
- вектор и величина скорости выполнения физического действия;
- вектор и величина импульса выполнения физического действия;
- вектор и величина момента импульса выполнения физического действия;
- энергия, передаваемая в результате выполнения физического действия.
В одном из вариантов реализации системы игровой манипулятор 130 изменяет свое состояние на основании параметров поведения игрового манипулятора 130 (т.е. параметры поведения игровых элементов характеризуют изменение состояния игрового манипулятора), таких как
• векторная скорость перемещения игрового манипулятора 130 (например, тормозящее движение, тем самым создавая ощущение у пользователя силового воздействия игрового манипулятора 130 на физический объект, хотя как такового силового воздействия не производится),
• амплитудно-частотные характеристики вибрации игрового манипулятора 130,
• температурные характеристики игрового манипулятора 130,
получаемых от средства контроля 160.
Например, в случае использования контактного игрового манипулятора 130, выполненного в форме бильярдного кия, упомянутый манипулятор при выполнении удара по шару может имитировать вибрации, возникающие во время удара, сопротивления удару и т.д.
В одном из вариантов реализации системы параметры поведения игровых элементов 120 характеризуют изменение состояния игрового манипулятора 130.
Средство позиционирования 140 предназначено для:
- определения параметров по меньшей мере двух игровых элементов 120, причем параметры игровых элементов определяют взаимное расположение и физические свойства игровых элементов 120 и характеризуют состояния упомянутых игровых элементов;
- изменения состояния по меньшей мере одного игрового элемента 120 (такого как положение игрового элемента 120) на основании полученных данных от средства контроля 160;
- передачи определенных ранее средством позиционирования 140 параметров игровых элементов средству выполнения силовых воздействий 150 и средству визуализации 170.
В одном из вариантов реализации системы в качестве физических свойств игровых элементов 120 выступают по меньшей мере:
- физические размеры;
- масса;
- форма;
- векторная скорость;
- векторное ускорение;
- момент инерции;
- момент импульса;
- кинетическая и потенциальная энергия, которой обладает игровой элемент.
Кроме того, средство позиционирования 140 позволяет модифицировать игровое поле 120 на основании заранее заданных данных (например, типа игры) или данных, полученных от средства контроля 160.
В одном из вариантов реализации системы модификация игрового поля 120 заключается по меньшей мере в:
- изменении геометрии игрового поля 120 (например, изменении физически размеров игрового поля, изменении количества и расположения игровых элементов 120 на игровом поле и т.д.);
- изменении характеристик поверхности игрового поля 120 (например, изменении силы трения поверхности игрового поля, изменении жесткости поверхности игрового поля).
Например для разных видов бильярда (русский бильярд, пул, снукер, карамболь и т.д.) используются бильярдные столы разной формы, с разным размером и расположением луз. Игровое поле 120 может быть устроено таким образом, чтобы оно могло динамически изменять свои физические размеры (за счет перемещаемых плит, формирующих поверхность бильярдного стола) в зависимости от выбранного типа бильярдной игры. Аналогично бильярдные лузы могут изменять свои размеры (за счет устройства в виде диафрагмы) и положение (за счет перемещения физического устройства лузы в нужную позицию у борта бильярдного стола).
В зависимости от того, какой тип бильярдной игры выбран, выбираются также бильярдные шары соответствующего размера, веса и других физических свойств.
Средство выполнения силовых воздействий 150 предназначено для:
- определения игрового элемента 120, на который требуется осуществить силовое воздействие на основании определенных средством позиционирования 140 параметров игровых элементов и вычисленных игровым манипулятором 130 физических параметров выявленного физического действия;
- вычисления параметров силового воздействия на определенный игровой элемент 120;
- осуществления силового воздействия на определенный игровой элемент 120 в соответствии с вычисленными параметрами силового воздействия.
В одном из вариантов реализации системы силовое воздействие на игровой элемент выполняется по меньшей мере:
- механически посредством удара по игровому элементу 120 средством выполнения силовых воздействий 150;
- посредством передачи электромагнитного импульса игровому элементу 120 от средства выполнения силовых воздействий 150.
Например для бильярдного стола 120.1 и бильярдных шаров 120.2 система выполнения механических силовых воздействий 150 на бильярдный шар 120.2 может быть реализована следующим образом: над бильярдным столом по направляющим перемещается система, состоящая из ударного стержня и электромагнитной катушки, управляющей движением стержня. Упомянутая система обладает возможностью позиционирования во всех трех плоскостях и может расположиться перед бильярдным шаром 120.2 таким образом, чтобы последующий удар ударным стержнем пришелся в том месте, куда целился пользователь 100, и с такими параметрами силового воздействия (передача энергии, импульса и т.д.), которые соответствуют физическому действию пользователя 100.
С другой стороны для бильярдного стола 120.1 и бильярдных шаров 120.2 система выполнения силовых воздействий 150 на бильярдный шар 120.2 с помощью электромагнитного импульса может быть реализована следующим образом: под бильярдным столом 120.1 находится система электромагнитов, которая при получении команды формирует электромагнитный импульс нужной структуры (где под структурой электромагнитного импульса понимается продолжительность, амплитудно-частотные характеристики электромагнитного импульса и т.д.), необходимый, чтобы придать бильярдному шару 120.2 (внутри которого находится материал, обладающий ферромагнитными свойствами) необходимую энергию, импульс, вектор движения (включая закручивание) и т.д. При этом электромагнитный импульс может быть продолжительным, имитирующим удар кием по битку с оттяжкой.
В одном из вариантов реализации системы параметры силового воздействия включают в себя:
- временные характеристики силового воздействия (такие как временная метка (англ. timestamp) начала оказания силового воздействия и промежуток времени, в течение которого оказывается силовое воздействие);
- позицию силового воздействия на игровом элементе 120, при этом под позицией силового воздействия понимается место в игровом элементе 120 (в частности, на поверхности игрового элемента 120) оказания силового воздействия;
- усилие, оказываемое на игровой элемент 120 в определенной позиции и в определенное время.
В одном из вариантов реализации системы усилие, оказываемое на игровой элемент 120, характеризуется по меньшей мере:
- физической силой, действующей на игровой элемент 120;
- импульсом, передаваемым игровому элементу 120;
- энергией, передаваемой игровому элементу.
Средство контроля 160 предназначено для:
- отслеживания поведения игровых элементов 120 во время осуществления силового воздействия средством выполнения силовых воздействий 150, при этом поведение игрового элемента 120 представляет собой изменение характеристик игрового элемента 120 во времени (таких как векторная скорость, пространственные координаты игрового элемента 120 и т.д.);
- определения параметров упомянутого поведения, при этом параметры поведения характеризуют изменение состояния по меньшей мере одного игрового элемента 120, при этом состояние игрового элемента 120 представляет собой совокупность характеристик игрового элемента 120 (таких как векторная скорость, пространственные координаты игрового элемента 120 и т.д.);
- передачи определенных параметров поведения средству позиционирования 140 с целью изменения состояния по меньшей мере одного игрового элемента 120;
- передачи определенных параметров поведения средству визуализации 170.
В одном из вариантов реализации системы средство контроля 160 включает в себя по меньшей мере:
- видеокамеры,
- датчики движения,
- дальномеры,
- тепловизоры;
для отслеживания поведения игровых элементов 120, а также программное обеспечение для определения параметров упомянутого поведения.
В одном из вариантов реализации системы средство контроля 160 осуществляет обратную связь с игровым манипулятором 130, заключающуюся в изменении состояния игрового манипулятора 130 на основании параметров поведения игровых элементов 120, на которые было осуществлено силовое воздействие.
В одном из вариантов реализации системы средство контроля 160 в зависимости от определенных параметров игровых элементов 120 может передать данные средству позиционирования 140 с целью изменить физические свойства игровых элементов 120.
Например, во время игры в снукер, после того как цветной бильярдный шар 120.2 попадает в лузу, средство контроля 160 определяет пространственные координаты упомянутого бильярдного шара 120.2 и передает данные средству позиционирования 140 с целью переместить упомянутый бильярдный шар 120.2 снова на бильярдный стол 120.1 в заранее заданную позицию (согласно правилам игры в снукер).
Средство визуализации 170 предназначено для:
- формирования модели поведения игровых элементов 120 на основании определенных средством позиционирования 140 параметров игровых элементов и определенных средством контроля 160 параметров поведения игровых элементов.
В одном из вариантов реализации системы в качестве модели поведения игровых элементов 120 выступает по меньшей мере:
- совокупность виртуальных многомерных моделей (например, 3d-моделей) игровых элементов 120, где каждой упомянутой модели ставятся в соответствие уникальные временные характеристики (такие как временная метка (англ. timestamp) и промежуток времени), во время действия которых упомянутая модель была актуальна;
- видеопоток, снятый средством визуализации 170 со сформированного игрового поля 120.
В одном из вариантов реализации системы средство визуализации 170 после формирования модели поведения игровых элементов выполняет визуализацию (например, отображение на мониторе компьютера) игровых элементов 120.
В одном из вариантов реализации системы с целью визуализации сформированной модели поведения игровых элементов 120 используется по меньшей мере:
- очки виртуальной реальности или шлем виртуальной реальности, одетый на голову пользователя 100 (таким образом пользователь может видеть бильярдный стол и перемещающиеся по нему шары так, как будто играет за реальным бильярдным столом);
- монитор, на экране которого отображается 3d модель;
- игровые элементы, сходные с теми, которые использовались в системе моделирования поведения игровых элементов во время удаленной игры.
Например, в результате моделирования поведения игровых элементов 120 во время удаленной игры были получены параметры игровых элементов 120 (такие как координаты расположения игровых элементов 120 на игровом поле). На игровом поле у пользователя 100 средство позиционирования 140 расстанавливает игровые элементы 120 согласно полученным параметрам.
В одном из вариантов реализации системы визуализация сформированной средством визуализации 170 модели поведения игровых элементов 120 осуществляется посредством восстановления положения копии игровых элементов 120, доступных пользователю 100, по меньшей мере
- вручную, силами пользователя 100;
- автоматически с использованием средства, аналогичного средству позиционирования 140;
на основании данных, предоставляемых средством визуализации 170, в виде
- набора данных, описывающих положения (например, трехмерные координаты) игровых элементов 120;
- световых отметок положения игровых элементов 120 (например, формируемых системой лазеров).
Например, в случае, если пользователь 100.1 играет в бильярд за бильярдным столом, то визуализация модели поведения бильярдных шаров 120.2 может заключаться в подсвечивании на упомянутом бильярдном столе 120.1 позиций, занимаемых бильярдными шарами 120.2 после выполнения удара пользователем 100.2. Таким образом, пользователь 100.1 выполнил расстановку по указанным позициям бильярдных шаров 120.2, получает позицию, схожую с позицией на удаленном бильярдном столе 120.1.
После того как пользователь выполнил физические действия, следствием которых стало силовое воздействие на бильярдные шары на удаленном бильярдном столе, бильярдные шары пришли в движение и по прошествии какого-то времени остановились. После этого средством контроля 160 определяет положения бильярдных шаров, и полученные данные передаются средству визуализации 170. Средство визуализации 170 с помощью лазера подсвечивает места на столе, где требуется выставить бильярдные шары, чтобы расположение шаров стало идентичным расположению шаров на удаленном бильярдном столе.
Таким образом, с использованием средств системы моделирования поведения игровых элементов во время удаленной игры становится возможным организовать удаленную игру нескольких пользователей 100 друг с другом, при условии, что каждый из участвующих в игре пользователей 100 может как обладать требуемым для игры спортивным инвентарем (например, бильярдным столом), так и не обладать (доступен только шлем виртуальной реальности).
Рассмотрим работу системы моделирования поведения игровых элементов во время удаленной игры на примере организации удаленной игры в бильярд между двумя пользователями.
Оба пользователя #1 100.1 и #2 100.2 играют удаленно, т.е. не находятся рядом с бильярдным столом. Пользователь #1 100.1 для игры в качестве игрового манипулятора 130 использует контактный сенсорный игровой контроллер, выполненный в виде бильярдного кия, а пользователь #2 100.2 использует для той же цели бесконтактный сенсорный игровой контроллер, таким образом при игре пользователь #2 100.2 будет наносить удары пустой рукой, а игровой манипулятор 130 будет интерпретировать эти движения как движения ударом кия. Для визуализации результатов игры пользователь #1 100.1 использует очки виртуальной реальности, а пользователь #2 100.2 экран проектора, на который транслируется видео с выбранного ракурса.
Перед началом игры пользователи выбирают тип игры (например, снукер, русский бильярд, американский пул, карамболь и т.д.) и передают свой выбор средству контроля 160. В зависимости от выбранного типа игры и заданной игровой ситуации (например, позиция черного шара для розыгрыша права первого хода) средство контроля 160 передает соответствующие команды средству позиционирования 140 изменить геометрию бильярдного стола 120 и выставить шары 120 на бильярдном столе 120 в заданном правилами выбранной игры порядке. Изменение модификации бильярдного стола 120 производится перемещением пластин, формирующих борта и поверхность бильярдного стола 120, а также формированием луз требуемого размера. Также в зависимости от выбранного типа бильярда выбираются шары требуемых свойств (размеров, цветов и т.д.), а также выбираются дополнительные игровые элементы (фишки для карамболя и т.д.).
После того как бильярдный стол 120 и игровые элементы 120 готовы к игре (установлены нужные размеры, свойства поверхности и бортов, шары расставлены в требуемом правилами порядке), начинается активная фаза игры. Пользователь #1 100.1 производит удар игровым манипулятором 140 «кий», ориентируясь по изображению, получаемому на свои очки виртуальной реальности 170. Датчики, расположенные в кие, определяют параметры движения и силу, с которой данное движение осуществляется. Например, в качестве таких параметров могут выступать скорость и ускорение движения кия, направление движения кия, закручивание кия и т.д. и передают их средству выполнения силовых воздействий 150. Средство выполнения силовых воздействий 150 представляет собой систему электромагнитов, расположенных под бильярдным столом 120. На основании полученных данных и исходя из законов электромагнетизма рассчитывается, в какой области стола и какой конфигурации надо сгенерировать электромагнитный импульс, чтобы произвести силовое воздействие, идентичное тому, какое производит удар бильярдного кия по бильярдному шару. Поскольку в рассматриваемом примере используется электромагнитная система управления движением бильярдных шаров, то используются специальные бильярдные шары, идентичные по массе, параметрам поверхности (сила трения и т.д.), балансировке и т.д. с бильярдными шарами, используемыми при игре в настольный бильярд, но содержащие материалы, обладающие ферромагнитными свойствами и реагирующие на электромагнитные импульсы, генерируемые средством выполнения силовых воздействий 150.
После выполнения удара средство контроля 160 отслеживает перемещение шаров 120 по бильярдному столу 120, определяет их пространственные координаты и передает средствам визуализации 170 пользователей 100. Средства визуализации 170 на основании полученных данных создают виртуальную модель бильярдного стола и бильярдных шаров на нем. Средство контроля 160 также отслеживает ход игры, ведет счет в рамках установленных правил и модифицирует игровое поле 120 или позицию шаров 120 в рамках установленных правил (например, при игре в снукер после успешного забивания цветного шара в лузу упомянутый шар средством позиционирования 140 по команде от средства контроля 160 изымается из лузы и устанавливается в установленную для данного шара позицию, в случае неудачного или ошибочного удара средством позиционирования 140 производится восстановление предыдущей позиции шаров на столе).
Фиг. 2 представляет пример структурной схемы способа моделирования поведения игровых элементов во время удаленной игры.
Структурная схема способа моделирования поведения игровых элементов во время удаленной игры содержит следующие этапы: этап 210, на котором определяют параметры игровых элементов 120, этап 220, на котором отслеживают физические действия пользователя 100, этап 230, на котором определяют игровой элемент 120 для выполнения силового воздействия, этап 240, на котором осуществляют силовое воздействие на игровой элемент 120, этап 250, на котором отслеживают поведение игровых элементов 120, и этап 260, на котором формируют модель поведения игровых элементов 120.
На этапе 210 с помощью средств позиционирования 140 определяют параметры по меньшей мере двух игровых элементов 120, представляющих собой материальные объекты, чье взаимное расположение и физические свойства определяются параметрами игровых элементов и характеризуют состояния упомянутых игровых элементов.
На этапе 220 с помощью игрового манипулятора 130 отслеживают физическое действие, выполняемое пользователем 100 с целью осуществить силовое воздействие на по меньшей мере один игровой элемент 120, и при выявлении физического действия вычисляют физические параметры, характеризующие упомянутое физическое действие.
На этапе 230 с помощью средства выполнения силовых воздействий 150 на основании определенных на этапе 210 параметров по меньшей мере одного игрового элемента 120 и вычисленных на этапе 220 физических параметров определяют игровой элемент 120, на который требуется осуществить силовое воздействие, и вычисляют параметры упомянутого силового воздействия на определенный игровой элемент 120.
На этапе 240 с помощью средства выполнения силовых воздействий 150 осуществляют силовое воздействие на определенный на этапе 230 игровой элемент 120 в соответствии с вычисленными на этапе 230 параметрами силового воздействия.
На этапе 250 с помощью средства контроля 160 отслеживают поведение игровых элементов 120 и определяют параметры упомянутого поведения, при этом параметры поведения характеризуют изменение состояния игровых элементов 120.
На этапе 260 с помощью средства визуализации 170 формируют модель поведения игровых элементов 120 на основании определенных на этапе 210 параметров игровых элементов 120 и определенных на этапе 250 параметров поведения игровых элементов 120.
Рассмотрим работу способа моделирования поведения игровых элементов во время удаленной игры на примере организации удаленной игры в настольный футбол между двумя пользователями.
Для визуализации игрового процесса пользователь #1 100.1 использует шлем виртуальной реальности, а пользователь #2100.2 игровой стол, оборудованный для игры в настольный футбол и оборудованный средствами, обеспечивающими удаленное управление. Воздействие на игровые элементы 120 пользователь #1 100.1 осуществляет через игровой манипулятор 130, а пользователь #2 100.2 через ручки, которыми оборудован игровой стол. Таким образом, пользователь # 1 100.1 будет видеть игру, транслируемую на дисплей шлема виртуальной реальности, и управлять игрой с помощью игрового манипулятора 130, в качестве которого выступает контактный сенсорный игровой контроллер типа «перчатки виртуальной реальности», т.е. перчатки, оборудованные датчиками, отслеживающими движение рук, кистей пальцев и т.д.
В начале игры, до того, как пользователи 100 приступили к выполнению физических действий, средство контроля 160 сбрасывает счет в ноль (0:0) и передает команды средству позиционирования 140 выставить модели футболистов в начальные позиции, очистить игровое поле 120.1 от мячей 120.2, в случае, если они присутствуют на игровом поле 120.1, а также зафиксировать мяч 120.2 в центре поля и приготовить его к сбрасыванию.
После того как игра началась, каждый пользователь 100 пытается перехватить своими футболистами мяч 120.2, перемещающийся по игровому полю 120.1, и забросить его в ворота соперника. Модели футболистов жестко закреплены на стержнях, сами стержни могут совершать поступательные и вращательные движения, которыми могут управлять пользователи 100. С этой целью пользователь #1 100.1 осуществляет поступательные движения руками и вращательные движения кистями, которые отслеживаются датчиками, установленными на надетых им «перчатках виртуальности». Движения оцифровываются, и по оцифрованным данным определяются характеристики, описывающие действия пользователя #1 100.1 - скорость и ускорение поступательного движения руки (которое впоследствии будет интерпретировано как поступательное движение стержня с закрепленными на нем моделями футболистов), угловые скорость и ускорение вращательного движения кисти (которое впоследствии будет интерпретировано как вращательное движение стержня с закрепленными на нем моделями футболистов). При использовании прецизионных датчиков возможно отслеживать не только изменения движения первого и второго порядка (скорость и ускорение), но и изменения движения более высоких порядков, что делает моделирование игрового процесса более точным. После того как характеристики определяются, они передаются средству выполнения силовых воздействий 150. Средство выполнения силовых воздействий 150 по полученным характеристикам определяет стержень, на который должно быть оказано силовое воздействие. Полученные характеристики переводятся в сигнал электромоторам, осуществляющим движение выбранного стержня как поступательно, так и вращательно. Таким образом производится удар моделями футболистов по мячу. При этом с упомянутого стержня могут датчиками средства выполнения силовых воздействий определяться характеристики вибрации, испытываемой стержнем, скорость и ускорение движения и т.д. и передаваться игровому манипулятору 130. Таким образом пользователь # 1 100.1 будет не только управлять моделями футболистов, но и чувствовать ответную реакцию игрового манипулятора 130 (например, при ударе на мяч может произойти фиксирование мяча между моделью футболиста и поверхностью игрового поля 120, что вызовет резкую установку как поступательного, так и вращательного вращения стержня, что при игре на физическом столе заметно ощущается рукой). Тем самым пользователь #1 100.1 может более точно управлять своими моделями футболистов.
В то время как игра продолжается, средство контроля производит постоянный (в реальном времени) мониторинг игрового поля: производится видео- и аудиозапись, определяются характеристики игрового поля 120.1 и игровых элементов 120.2 (мяча и моделей футболистов, зафиксированных на стержнях). Видео- и аудиоданные передаются на шлем виртуальной реальности 170 пользователя #2 100.2. Таким образом, пользователь #1 100.1 испытывает эффект присутствия, т.е. состояние, как будто он играет за физическим столом, стоя прямо перед ним. Для более точной визуализации может отслеживаться положение шлема виртуальной реальности 170 с тем, чтобы осуществлять видеосъемку игрового поля 120.1 с таких позиций и под таким ракурсом, как будто пользователь #1 100.1 находится рядом с игровым полем.
По определенным характеристикам игрового поля 120.1 и игровых элементов 120.2 средство контроля 160 контролирует ход игры: если мяч забит, то средство контроля 160 меняет счет и передает команды средству позиционирования 140 выставить модели футболистов в начальные позиции, а также зафиксировать мяч 120.2 в центре поля и приготовить его к сбрасыванию.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая, в свою очередь, память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20, в свою очередь, содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который, в свою очередь, подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.3. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
Изобретение предназначено для визуализации моделирования физических процессов. Технический результат настоящего изобретения заключается в повышении точности моделирования поведения игровых элементов. Еще один технический результат настоящего изобретения заключается в улучшении точности визуализации на стороне пользователя поведения игровых элементов. Еще один технический результат настоящего изобретения заключается в увеличении точности обратной связи игрового манипулятора, имитирующего силовое воздействие на игровые элементы за счет формирования физического игрового поля и игровых элементов, оказания силовых воздействий на сформированные игровые элементы и изменения состояния игрового манипулятора на основании параметров поведения игровых элементов, на которые было осуществлено силовое воздействие. Еще один технический результат заключается в повышении точности передаваемой позиции игровых элементов в момент передачи хода игры во время удаленной игры по меньшей мере двух игроков, который достигается за счет моделирования поведения игровых элементов. 2 н. и 31 з.п. ф-лы, 3 ил.
Способ сетевой компьютерной игры в гонки и оптико-механический генератор двух случайных чисел, используемый при реализации способа