Страница 1 из 1

Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 01:19
waruiyume
Здравствуйте, подскажите как найти коллайдеры попавшие в треугольник или трапецию?

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 13:57
samana
А треугольник и трапеция это тоже 3d объекты? Если да, то может попробовать mesh collider нужной формы и включая/выключая его ловить пересечения через OnCollision. Но я не проверял эту идею, может и не сработает.

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 20:30
waruiyume
Это пространство через которое что-то прошло за 1 кадр: треугольник- это свайп через перспективную камеру, а трапеция(ну почти) это взмах мечём.
Вариант с мешем мне не нравится потому, что коллизии/входы в триггер происходят только в следующем кадре, и они приходят не разом, а через событие, а потому их сначала нужно собрать, а обрабатывать после того как закончится шаг физики...
Для треугольника, пока намутил костыль из кучи OverlapBox, хорошо бы что-то более простое найти.

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 21:07
Cr0c
A,B,C - точки треугольника, P - точка

N1 = (By-Ay)*(Px-Ax) - (Bx-Ax)*(Py-Ay);
N2 = (Cy-By)*(Px-Bx) - (Cx-Bx)*(Py-By);
N3 = (Ay-Cy)*(Px-Cx) - (Ax-Cx)*(Py-Cy);

Result = ((N1>0) and (N2>0) and (N3>0)) or ((N1<0) and (N2<0) and (N3<0));

Если в 2д, для 3д сначала определить принадлежность точки плоскости треугольника и приводить к 2д

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 21:13
waruiyume
Найти КОЛЛАЙДЕРЫ в трапеции или треугольнике(3d)

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 21:45
Cr0c
Разбить вершины коллайдера по разные стороны плоскости треугольника, выбрать ближайшую с каждой стороны, точку пересечения отрезка этих точек на плоскости треугольника и попадание этой точки в треугольник. ИМХО.
Трапеция - это два треугольника.

Re: Найти коллайдеры в трапеции или треугольнике(3d)

СообщениеДобавлено: 11 ноя 2017, 23:49
waruiyume
Спасибо за идею!