问题标签 [farseer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
551 浏览

windows-phone-7 - 带有 Mango 的 Farseer 物理引擎 3.1

当我尝试使用针对芒果的 WP7 游戏来引用 farseer 的项目时,它给出了一个错误,即这些项目在“刷新级别”中是不同的

与 NoDo 游戏的集成效果很好。

我应该如何解决这个问题?我不想最终创建一个 NoDo 游戏...

0 投票
2 回答
1454 浏览

c# - Farseer 米/像素比

我已经在 c++ 中使用 box2d 做了很多工作,并且正在尝试使用 C#。看起来 Farseer 通常用于代替 Box2D(我知道 Box2DXNA,但它似乎有点过时了。)所以,Farseer 是我一直在使用的。当我使用 C++ 和 Box2D 时,每个人都建议不要使用 1 像素/米的比例(出于什么原因,我不知道),通常建议使用 30 像素/米左右的比例。当我一直在研究 Farseer 时,我看到了很多相互矛盾的说法。有人说使用 1pixel/meter,有人说使用比例尺,有人说使用 ConvertUnits.ToSimUnits 和 ConvertUnits.ToDisplayUnits 等。

那我应该用什么?现在,我正在使用 ConvertUnits,但一切都呈现在奇怪的地方。是否有事实上的标准或我应该遵循的任何标准?提前致谢。

0 投票
1 回答
663 浏览

c# - FarSeer:在鼠标单击时删除对象

我仍在开发一个小游戏,当我使用 FarSeer Engine 3.3 用鼠标单击时,我想删除框[如果有解决方案,我可能已经使用 3.1]

不要向我展示示例来源[我已经全部拥有并深入挖掘了它们]我的问题仍然存在通过检查鼠标与对象的碰撞。在 FarSeer,所有对象都在一个世界上进行交互,我必须将我的鼠标传递到这个世界,它可能除了我想要的之外什么都不做。

如何在 FarSeer 上成功使用 IsTheObjectClicked [通过鼠标右键或鼠标左键]。

(更多,不要提供来自 FarSeer 网页的任何文档,它没有更新)谢谢

0 投票
1 回答
1099 浏览

iphone - 更改 Farseer 物理引擎设置以提高性能

我已经成功地使用Farseer使用XNA开发了我的一款游戏。游戏在 Windows 和 WP7 中运行就像一个魅力。我目前正在使用MonotouchMonogame将我的游戏移植到IOS中。我已经成功地编译和使用了 Farseer,并在我的游戏的第一个版本中移植到 Monotouch 和 Monogame。除了表演,一切都很好。游戏在 iPhone 设备上运行速度要慢得多。我做了一些代码调查,似乎主要瓶颈是 Farseer。当它必须管理超过 5-6 个带有单个夹具(圆圈)的物体时,它变得非常慢。

阅读文档时,我注意到要调整 Farseer,我可以更改 Setting 静态类的值:

表现

为了充分利用引擎,您应该尝试遵循以下指南:

启用睡眠 睡眠使您可以在世界上拥有大量的身体。它还可以增加发动机的稳定性,因为一堆物体中的小运动不会在堆栈中传播。睡眠体的开销很小,因此建议启用它。

禁用 CCD 连续碰撞检测可防止隧道效应,但会以性能为代价。如果隧道没有问题,则应该一起禁用 CCD。

最小化位置和速度迭代次数 大量迭代使引擎更稳定,但以性能为代价。您应该调整这些值以适合您的游戏。

坏消息是,如果我更改该类的任何值,似乎什么都不会发生。我试图改变值如下:

我也尝试使用较低的值,例如 VelocityIterations = 1 但似乎没有任何改变......

有人已经更改了设置类值以提高性能吗?

0 投票
1 回答
592 浏览

vb.net - 在 VB.NET.XNA 中使用 Farseer Physics 进行 Raycast 缺失检测

我正在使用光线投射来确定绳索接头的锚点位置。通过使用一些简单的绘图调用,我可以看到在光线投射返回的点可靠地创建了ropejoint。我的问题在于返回点。它偶尔会穿过身体,返回对面边界上的一个点,有时会在身体内部。它似乎总是失败,也就是说,如果我投射一条重复穿过的光线,它会继续穿过并返回相同的错误点。这让我相信我的身体有问题。我正在为有问题的身体使用 TextureToBody 转换器。

另一个较小的问题是我必须从我的关节位置在每个方向上减去 10/64 才能使其准确连接。我不知道为什么会这样。(64pixels=1meter是我使用的转换比例)

光线投射方法:

0 投票
1 回答
938 浏览

c# - C# XNA Farseer - 从纹理创建形状

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

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

我应该在这里指出,我对 Farseer 是 100% 的新手。以前从未使用过它。

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

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

谢谢你。

0 投票
1 回答
505 浏览

mono - 如何将 Farseer 与 MonoTouch/ExEn 应用程序一起使用?

我正在尝试使用 ExEn 和 MonoTouch 为 iOS 构建一个带有 XNA 和 Farseer Physics 3.3 的游戏。理论上这应该可以正常工作,但我无法让 Farseer 在 iPhone 上工作。

我为 MonoTouch/ExEn 编译了 Farseer,它在 iPhone 模拟器中运行良好。但是一旦我切换到实际的 iPhone,我的项目就不再编译了。MonoDevelop 链接器似乎出现了问题。编译器弹出消息“mtouch exited with code 1”,我得到以下链接器错误输出:http://pastebin.com/y62ykJP2。如果我在项目选项中禁用链接,应用程序会编译并部署到 iPhone,但随后会崩溃。

如果我注释掉所有实例化 Farseer 定义的对象的代码,我不会收到任何链接器错误,并且程序部署和运行都很好。所以问题显然出在我为 MonoTouch 构建的 Farseer 上。

不幸的是,我不知道从这里去哪里。我应该从哪里开始寻找这样的链接器错误?或者,更好的是:是否有人成功编译了 Farseer 3.3 并将其与 MonoTouch 和 ExEn 一起使用?

0 投票
1 回答
367 浏览

box2d - 如何让两个身体在 Farseer 中发生碰撞并将冲动传递给第二个身体?

我有一个带有冰球(圆形夹具)和球棒(由用户的鼠标移动控制)的沙箱。如果用户击中冰球,我希望它根据鼠标移动速度获得脉冲。但是我有问题:

  • 在碰撞委托中,如果我检查蝙蝠的线速度,它要么是 0|0,要么是完全随机的(似乎)。
  • 如果我只是给冰球一个恒定的脉冲,球棒的移动速度是不包括在内的。
  • 我想在两个身体的接触点而不是冰球的中心施加脉冲。如果发生碰撞,有没有办法访问该点的坐标?

解决这个问题的正确方法是什么?

0 投票
1 回答
925 浏览

collision-detection - Farseer:碰撞检测,但没有进一步的身体交互

我有一个在迷宫般的世界中滚动的球。如果球越过某条线,我希望一个事件上升。我不想在这条线上放置纹理,也不想让球偏转。如何做呢?

谢谢!

0 投票
1 回答
2127 浏览

c# - Farseer 物理引擎文档

有没有关于 farseer 2D 物理引擎的优秀文档?我真的需要 XNA 2D 游戏

谢谢