Как сгенерировать текстуры, чтобы они соответствовали фигурам? - PullRequest
7 голосов
/ 10 декабря 2011

У меня есть случайно сгенерированная серия EdgeShapes, как показано здесь:

enter image description here

Мой вопрос: как мне заполнить эту нижнюю область текстурой, чтобы она выглядела как земля?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

По предположению кого-то из IRC:

Создайте многоугольник, используя OpenGL, а затем сопоставьте его 1: 1 с формой Box2D и текстурируйте многоугольник.

0 голосов
/ 09 января 2012

Из древней памяти и, глядя на код, это невозможно сделать с помощью краевых фигур. Вы можете связать их вместе, но даже в этом случае не существует самосовершенствования, которое позволило бы фигуре перекрывать себя и быть. , , что? Там не создано ни нормали, ни центроида.

Это всего лишь предположение - с тех пор, как я использовал box2d, прошло много времени, - но можно ли вместо этого создать полигон? Сначала вы должны создать N точек в массиве и использовать этот массив в качестве значений y вдоль вершины, чтобы имитировать грунт. Тогда вы бы сделали значение y каждой точки равным значению y соседней (левой или правой) точки с течением времени. Когда точки достигают конца, они удаляются из массива, а новое значение перемещается на другой конец массива.
Можно ли это сделать и повлияет ли это на точки соприкосновения с другими объектами?

...