нужна помощь зала |
[Aug. 10th, 2023|06:43 am] |
я понимаю, что скорее всего это просьба в пустоту, однако. Охуенные Шутки Юмора от анонов я буду просто тереть, неймфагов прошу воздержаться от.
итак. задача такая. есть 2.5д карта, составленая из выпуклых полигонов (ну да, дум). есть axis-oriented bounding box. он не может крутиться. задача: определить, что большая часть этого бокса свисает с уступа, и вычислить, куда его толкать, чтобы он с уступа съехал. кстати, этот самый bounding box всегда квадратик, если оно важно.
если что, это для часто возникающей в думе фигни, когда труп зацепился краем бокса за границу сектора, и висит в воздухе. там же физония нет. окей, простейшая проверка центральной точки может сказать, что труп потенциально висит. но, как это самое, есть то самое.
например, труп может лежать на решётке из секторов, центр типа в воздухе, но большая часть имеет поддержку. или зацепиться может не краем. или ещё куча случаев. поэтому нужно универсальное аналитическое решение, а не куча хаков-проверок. я нутром чую, что решение несложное, но туплю и не могу придумать. при этом желательно, чтобы решение не занимало стопицот времени, у нас рилтайм, всё-таки. и трупов бывает ОЧЕ МНОГА.
если что, нарезать квадратик на кусочки по линиям пересечений не проблема. в смысле, для проверок, а не на куски распилить в игре. ;-) я чую, что где-то здесь и лежит решение, но никак не могу ничего придумать дальше.
upd: предварительно сделал решение по мотивам совета illyge. посмотрим, если будет удовлетворительно — то и ладно.
upd2: да блядь, самое главное забыл! спасибо всем откликнувшимся. простите, если мои ответы выглядели как засирание идеи — не, это я просто пытался пояснить, почему не подходит. |
|
|