【问题标题】:C# XNA Farseer - Creating Shapes From TexturesC# XNA Farseer - 从纹理创建形状
【发布时间】:2011-12-18 18:55:27
【问题描述】:

根据加载的 Texture2D,我想使用 Farseer 创建碰撞顶点以附加到 XNA 中的物体。

首先要注意。是我没有将 Farseer 用于碰撞以外的任何事情。渲染和所有其他游戏代码都是使用我自己的引擎完成的。 Farseer 只是用作背景物理模拟器(并且只会在发生碰撞时告诉我,然后我会自己处理)。

我应该在这里指出,我是 Farseer 的 100% 新手。以前没用过。

所以,如果我使用 BayazitDecomposer.ConvexPartition(verts) 创建我的列表,我应该将这些数据存储在 Texture2D 对象旁边吗?然后在创建可碰撞演员时即时创建 List 对象?还是我做错了什么?

此外,在http://farseerphysics.codeplex.com/documentation 的示例中,它通过 Vertices.Scale() 缩放顶点...如果我将所有 Farseer 主体都保留在像素空间中,我需要这样做吗?

谢谢。

【问题讨论】:

    标签: c# xna physics farseer


    【解决方案1】:

    所以,如果我使用 BayazitDecomposer.ConvexPartition(verts) 创建我的列表,我应该将这些数据存储在 Texture2D 对象旁边吗?然后在创建可碰撞演员时即时创建 List 对象?还是我做错了什么?

    您使用 BodyFactory 从顶点列表创建 Body 类的实例。我建议为您拥有的每个演员都这样做。但是,您可以通过重用主体来节省一些处理器能力。因此,如果演员死亡,则将身体添加到队列中,然后将其捕捉到创建的新演员。

    此外,在http://farseerphysics.codeplex.com/documentation 的示例中,它通过 Vertices.Scale() 缩放顶点...如果我将所有 Farseer 主体都保留在像素空间中,我需要这样做吗?

    不。然而,这意味着就 Farseer 而言,一个像素是一米。我相信如果半径 * 力的扭矩公式,因此任何依赖于半径的东西都不会像预期的那样表现。我建议让米相当于游戏中实际的米。只是多了一点分割而已。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      相关资源
      最近更新 更多