Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Box2D] Проваливание сквозь полигон. (http://www.flasher.ru/forum/showthread.php?t=187312)

Sintesis 17.11.2012 16:23

Проваливание сквозь полигон.
 
Вложений: 1
Вот демка
GrassyHills.swf   (184.0 Кб)

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

Sintesis 17.11.2012 17:37

Оказывается когда рисую полигон по часовой стрелке - всё нормально, когда против - проваливаюсь сквозь него(

redefy 17.11.2012 20:14

https://docs.google.com/document/pub...d.232fdb007f74

Цитата:

6.2.6. Определение Полигона

Структура b2PolyDef используется для создания выпуклых полигонов. Создание полигонов имеет нюансы, поэтому внимательно читайте текст. Максимальное число вершин определяется константой b2_maxPolygonVertices, по умолчанию равной 8. Если необходимо использовать большее число вершин, то надо изменить константу b2_maxPolygonVertices в файле b2Settings.h .
При построении полигона необходимо указать число вершин, которое будет использоваться. Координаты вершин должны быть указаны в порядке против часовой стрелки относительно оси z правосторонней системы координат. Но на экране это может выглядеть как по часовой стрелке в зависимости от экранных координат.
Полигоны должны быть выпуклыми и грани полигона не должны пересекаться. Другими словами, каждая вершина должна выглядывать наружу. Box2D автоматически замкнёт контур полигона.

Sintesis 17.11.2012 20:23

Точно, они у меня ещё и обратным циклом строятся) требования пожоще чем в 3D)
Значит нужно в своём мини движке дописать отображение нормалей и если они будут пересекаться - развернуть порядок точек.


Часовой пояс GMT +4, время: 23:28.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.