Вопросы с тегом «collision-detection»

Обнаружение столкновения - это определение того, вступают ли два или более объекта в контакт во время игры.

5
Как определить, какие ячейки в сетке пересекаются с данным треугольником?
В настоящее время я пишу симуляцию 2D AI, но я не совсем уверен, как проверить, находится ли положение агента в поле зрения другого. В настоящее время разделение моего мира - это простое разбиение пространства ячеек (сетка). Я хочу использовать треугольник для представления поля зрения, но как я могу вычислить ячейки, …

1
В механизме 2D-физики, как я могу избежать бесполезного разрешения столкновений, когда объекты останавливаются?
В физическом движке, который я разрабатываю (для обучения) с использованием love-2d , я реализовал разрешение столкновений следующим образом: FixedUpdate(dt) // I use fixed timestep foreach collide c1 in allNotStaticColliders c1.integartePhysic // i.e. apply gravitational force.. foreach collider c2 "near" c1 // "near"= I use spatial hashing if collide(c1,c2) resolve collision …

1
Как вызвать события столкновения в LibGDX 3D?
В приведенном ниже коде я привел пример того, что я хочу сделать. У меня есть камера, и я хочу, чтобы она перестала двигаться, когда она попадает в одну из коробок, как мне это сделать? public class Main extends ApplicationAdapter { private final ModelBuilder builder = new ModelBuilder(); private final Environment …

1
Теорема о разделяющей оси с несколькими полигонами?
Я пытаюсь реализовать теорему о разделяющей оси в C #. У меня есть функция, которая может рассчитать минимальный вектор перевода между двумя полигонами. Тем не менее, я не могу создать функцию, которая вычисляет минимальный вектор перевода между одним полигоном и несколькими другими полигонами. Честно говоря, я работал над этим в …

2
Получить сведения о столкновении из Rectangle.Intersects ()
У меня есть игра Breakout, в которой в какой-то момент я обнаруживаю столкновение между мячом и веслом примерно так: // Ball class rectangle.Intersects(paddle.Rectangle); Есть ли способ, которым я могу получить точные координаты столкновения или какие-либо подробности о нем, с текущим XNA API? Я подумал о некоторых базовых вычислениях, таких как …

1
Как работает gluLookAt?
Из моего понимания, gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); эквивалентно: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); Но когда я распечатываю ModelViewматрицу, вызов glTranslatef()не работает должным образом. Вот фрагмент кода: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include …

5
2D обнаружение столкновений для игры в пинбол
До сих пор в предыдущих играх я использовал простое двухмерное столкновение с прямоугольниками, а затем проверял столкновение на уровне пикселей. Если вы играете в пинбол практически во многих кадрах, мяч будет соприкасаться со стеной или другой поверхностью, так есть ли другой подход?

2
Как определить, содержит ли один полигон другой?
У меня есть 2 полигона. Я знаю координаты вершин обоих многоугольников. Какой лучший способ проверить, находится ли один полностью внутри другого? Например, алгоритм должен распознавать только черную трапецию, указанную ниже:

4
Круг внутри круга столкновения
В одном из моих проектов у меня есть игровая площадка в форме круга. Внутри этого круга движется еще один маленький круг. Я хочу, чтобы маленький круг не выходил за пределы большего. Ниже вы можете видеть, что в кадре 2 маленький круг частично снаружи, мне нужен способ вернуть его назад, прежде …

8
Как я могу предотвратить прилипание персонажа моего платформера к настенным плиткам?
В настоящее время у меня есть платформер с плитками для ландшафта (графика позаимствована у Cave Story). Игра написана с нуля с использованием XNA, поэтому я не использую существующий движок или физический движок. Столкновения плитки описываются в точности так, как описано в этом ответе (с простым SAT для прямоугольников и окружностей), …

2
В очень простых трехмерных гоночных играх как обрабатываются столкновения?
Мне было интересно, как происходят столкновения в некоторых простых гоночных играх для 3d автомобилей (особенно в таких играх, как Outrun 2 / Motoracer). В классических автомобильных гоночных играх со сложной средой (открытый мир), я думаю, это делается с помощью базовой коробки (для автомобиля) для столкновения самолета (для трассы, зданий и …

4
Есть ли способ повысить эффективность проверки столкновений системы из n объектов?
Я делаю игру, которая состоит из множества экранных объектов, одним из которых является игрок. Мне нужно знать, какие объекты сталкиваются на каждой итерации. Я сделал что-то вроде этого: for (o in objects) { o.stuff(); for (other in objects) if (collision(o, other)) doStuff(); bla.draw(); } Это имеет O (n ^ 2), …

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

3
Эффективное обнаружение столкновений на основе плиток для множества квадратов?
в настоящее время я работаю над собственной игрой на основе тайлов (думаю, Terraria, но менее фантастической (я думаю, что это слово? Извините, если это не так)). Во всяком случае, в настоящее время у меня работает функция обнаружения столкновений (даже для угловых случаев!), Что стало для меня большим шагом. Есть что-то …

3
Как найти двумерные ячейки сетки, движущиеся по движущемуся кругу?
Я делаю игру, основанную на 2D сетке, где некоторые ячейки проходимы, а некоторые нет. Динамические объекты могут двигаться непрерывно, независимо от сетки, но должны сталкиваться с непроходимыми ячейками. Я написал алгоритм трассировки луча по сетке, который дает мне все ячейки, которые пересекает луч. Однако фактический объект не имеет точечного размера; …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.