Có hai loại hình dạng và ba cách để tạo chúng trong Box2D.
Một b2CircleShape luôn có tâm của nó ở trung tâm của vòng tròn. Nếu bạn muốn tạo một "vòng tròn bị lệch", bạn phải cố định vòng tròn sang một đối tượng khác (ví dụ: một vòng tròn nhỏ bên trong nó) bằng một khớp.
Một b2PolygonShape có thể được khởi tạo với SetAsBox. SetAsBox theo mặc định đặt gốc tọa độ ở giữa hình chữ nhật, nhưng bạn có thể truyền b2Vec2 làm đối số thứ ba để đặt gốc tọa độ ở nơi khác.
Một b2PolygonShape không phải hộp được khởi tạo với gốc tọa độ tại tọa độ cục bộ 0,0. Để tạo một hình dạng chỉ mở rộng một hướng, ví dụ: phải và lên, chỉ cần chỉ định các tọa độ như (0, 0), (0, 5), (5, 5), (5, 0), chỉ xây dựng hình dạng dọc theo tọa độ cục bộ di chuyển lên và sang phải (và theo thứ tự cuộn dây CCW).
Hãy nhớ rằng, nguồn gốc của hình dạng luôn là tọa độ cục bộ (0, 0). Nếu bạn cố gắng nghĩ về nó như là "di chuyển nguồn gốc", bạn sẽ tự làm mình bối rối - những gì bạn đang làm là bù đắp cho các đỉnh khác so với điểm gốc.