为什么Box2D/Farseer EdgeShape定义了4个顶点

本文关键字:4个 顶点 定义 EdgeShape Box2D Farseer 为什么 | 更新日期: 2023-09-27 17:56:56

当你创建一个Farseer(或Box2D)边Fixture你写:

FixtureFactory.AttachEdge(start, end, bodyToAttachTheFixtureTo);

这是有道理的 - 您需要startend点来定义边缘。

困扰我的是当您想阅读Fixture时.假设fixture是我们阅读Fixture

  • ((EdgeShape) fixture.Shape).Vertex1
  • ((EdgeShape) fixture.Shape).Vertex2

应该是唯一的选择。但我们也得到了Vertex3Vertex4.为什么?它们是什么意思?

为什么Box2D/Farseer EdgeShape定义了4个顶点

顶点 1 和 4 很可能是"幽灵顶点":http://www.iforce2d.net/b2dtut/ghost-vertices

如果要查找创建边时提供的原始两个顶点,则可能需要顶点 2 和 3。