Войти
ПрограммированиеФорумФизика

Мысли о collision detection (2 стр)

Страницы: 1 2
#15
8:21, 29 авг 2023

MrShoor
Одних dot 7 штук, это сфера с треугольником или с лучем?
Для box намного проще

#16
8:28, 29 авг 2023

Aslan
> Одних dot 7 штук
Во-первых, dot - операция быстрая. Во-вторых, тут капсула задается двумя произвольными точками. Поэтому сравнивать надо не с AABB, а с OBB. А с OBB у тебя только на трансформ будет +4 dot-а, и разница уже не такая большая.

> это сфера с треугольником или с лучем?
С лучом конечно

#17
(Правка: 10:25) 10:11, 29 авг 2023

MrShoor
Для шутера самая примитивная коллизия игрока с уровнем. AABB против плоскости - проверяешь одну ближайшую вершину, так и AABB против конвекса.
Это для стрельбы, рейкаста уже имеет смысл точно считать луч с конвекс

#18
17:14, 29 авг 2023

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

#19
18:45, 29 авг 2023

MrShoor
> Самая примитивная коллизия - это плоскость со сферой.

сфера со сферой же.

#20
20:02, 29 авг 2023

Der FlugSimulator
> сфера со сферой же.
Точка-точка :))

#21
20:15, 29 авг 2023

Der FlugSimulator
> сфера со сферой же.
Ну сфера со сферой само собой еще проще.
Но от плоскости нам не избавиться, т.к. карту уровней хочется из плоскостей.

#22
(Правка: 1 сен 2023, 17:36) 7:45, 31 авг 2023

MrShoor
> А чтобы найти ближайшую вершину - нужно проверить все вершины?
Ближайшая вершина AABB к плоскости:
boxCenter.x-sign(planeNormal.x)*boxSize.x
boxCenter.y-sign(planeNormal.y)*boxSize.y
boxCenter.z-sign(planeNormal.z)*boxSize.z

Страницы: 1 2
ПрограммированиеФорумФизика