Цитата(Modera @ 18.01.2019, 18:00)
Из которых все без иключения модели состоят в твоей игре. Шарики, кубики и другие примитивы перебираются точно так-же.
Еще раз, я уже незнаю как еще тебе объяснить.
Есть огромное бесконечное пространство, по сути это абсолютно весь мир игры, если хочешь представь это как бесконечный график с осями xyz.
В этом мире движек рисует, пусть будут модели из треугольников. Но каждая модель это точка в пространстве мира, уже относительно этой точки рисуются треугольники этой модели.
Ты находишься в точке, пусть 0.0.0 в этом мире, предположим ты выстрелил из этой точки по направлению вектора (0 10 20), теперь ты от этой точки ведешь трасировку по этому вектору с шагом определенным чтобы не пробежать ни одну модель. Т.е. ты сдвинулся на (0 1 2) , теперь ты проверяешь есть ли тут в ПРОСТРАНСТВЕ МИРА по этим координатам какая та модель, НО т.к. модель не точка а кучка треугольников то проверяешь уже попадание по , скажем сфере в которой умещается вся модель, если попадает то уже считаешь в какой именно треугольник на этой модели ты попал. Если не попал то перемещаешься на новую точку в ПРОСТРАНСТВЕ по заданному вектору и снова все проверяешь. И таким образом пока во что то не воткнешься.
Еще раз, модель это модель состоящая из треугольников, но у тебя в мире много этих моделей и у всех свои координаты. Если и так не понятно то представь что ты кинул кирпич через забор , утрированно ты знаешь только точку где за забором стоит человек, этот человек в мире не точку а объемная модель. Вот чтобы понять попал ты в него или нет тебе нужно просчитать по траектории кирпича где он будет находится, и не попал ли на каждой итерации ты в точку вокруг которой объем занимает человек. Вот только тут у тебя может быть толпа людей за забором или бесконечное пространство. Перебирать в лоб абсолютно каждого человека на планете слишком долго, а если у кирпича нет веса и он просто полетел в небо , космос, другую галактику ... . Это и есть трасировка, ты пускаешь луч, каждый раз сдвигаешься в пространсве и ждешь когда во что то воткнушься, когда воткнулся ты можешь знать что это за объект.
Цитата(Люпус Эст @ 18.01.2019, 19:23)
Вот не пойму, что за дроч на создание геометрии террейна в левеледиторах.
Дроч потому что есть выбор, пытаться делать полноценный 3д редактор со всеми вытекающими. Создание треугольников\полигонов\uv карт\ инструментария для удобной работы с ними и еще тонну всего, или обойтись максимально простыми средствами. Написать 3д редактор моделей очень сложно и их пишут не один год и даже не 2-3(3дмакс\майка\ксюха и т.д.). Гораздо проще реализовать самое базовое. В сталкере так и сделали, весь моделинг идет в стороннем софте, сам редактор уровня просто дает двигать это готовые модели и поверх накатывать игровые объекты(точки спавна\свет и т.д.). В сорсе уже сделали примитивнй 3д редактор с минимально необходимым набором инструментов чтобы редактировать примитивы, террейн сделать можно но инструменты неудобные. В UE пошли дальше и к тому что есть в сорсе добавили недостающие удобные инструменты именно для террейна и кривых поверхностей.