Запитання з тегом «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 (c1,c2) …

1
Як викликати події зіткнення в LibGDX 3D?
У наведеному нижче коді я поставив приклад того, що я хочу зробити. У мене є камера, і я хочу, щоб вона перестала рухатися, коли вона потрапляє в одну з коробок, як це зробити? public class Main extends ApplicationAdapter { private final ModelBuilder builder = new ModelBuilder(); private final Environment 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> …

5
2D виявлення зіткнень для гри в пінбол
Поки що в попередніх іграх я використовував просте 2D зіткнення з коробками, потім перевіряв на рівні пікселів на предмет зіткнення. Якщо проводити гру в пінбол майже у багатьох кадрах, м'яч буде контактувати зі стіною чи іншою поверхнею, тож чи є інший підхід?

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

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

8
Як я не дозволяю персонажу мого платформера чіплятись на стінові плитки?
В даний час у мене є платформер з плитками для місцевості (графіка, запозичена у Cave Story). Гра написана з нуля за допомогою XNA, тому я не використовую існуючий двигун чи фізику. Зіткнення плиток описані майже точно так, як описано в цій відповіді (з простим SAT для прямокутників і кіл), і …

2
Як у дуже простих 3D гоночних іграх обробляються зіткнення?
Мені було цікаво, як робляться зіткнення в деяких простих іграх з 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 комірки сітки, змітані рухомим колом?
Я роблю гру на основі 2D сітки, де деякі клітини прохідні, а деякі ні. Динамічні об'єкти можуть рухатися безперервно, незалежно від сітки, але потрібно стикатися з непрохідними осередками. Я написав алгоритм простеження променя на сітці, який дає мені всі клітини, що промінь перетинається. Однак фактичний об'єкт не має точкових розмірів; …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.