问题标签 [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.
c# - Farseer 物理引擎 - 无论施加何种脉冲,身体都不会超过一定的速度
您好,我对 Farseer 引擎比较陌生,我目前正在尝试与我自己的引擎集成。我决定测试一些东西,看到样本,但我所做的肯定有问题,即使我看不出有什么问题。
我只是在 , 中添加了一个Body
并World
调用了ApplyLinearImpulse(new Vector2(200f,0))
然后我尝试了更高的数字,但速度保持不变。有限制吗?怎么了 ?
如果需要,我会提供更多细节,但我猜这是我错过的非常愚蠢的东西。
提前致谢 !
c# - 先知物理学……你好世界……?
我不知道为什么,但我似乎无法找出为什么这不起作用......我正在尝试做一些非常简单的事情,比如刚刚从屏幕上掉下来的东西。
似乎最新的下载和网站上的第一个示例代码,我还是错了。
我有这个:
但我得到2个错误:
没有CreateBody()
方法(AddBreakableBody()
虽然有)
CircleShape 构造函数接受 2 个参数(这很简单,但在示例中仍然出错)
我已经尝试了很多东西,我很困惑为什么我能得到这个。此代码对其他人有用吗?我的dll错了吗?
c# - MonoTouch JIT 似乎不喜欢自定义哈希集类
我正在努力让 FarseerPhysics 在 MonoTouch 中进行编译。当我在 System.Collections.Generic 中使用 HashSet 时它工作得很好,但是 Farseer 有它自己的用于 Xbox 360 和 Windows Phone 的 Hashset 类,所以我认为为 IPHONE 也包含该哈希集是有意义的。
这是 Farseer 哈希集代码:
它们被这样使用:
当我将 IPHONE 添加到 Farseer 哈希集类文件中的#if 时,有两个问题。
首先是我在声明中遇到错误,编译器说 HashSet 是 System.Collections.Generic.HashSet 和 FarseerPhysics.Common.HashSet 之间的模棱两可的引用。在 Visual Studios 编译器中不会发生此错误。我怀疑这是因为 MonoTouch 确实实现了 Hashset,其中 Xbox 360 和 Windows Phone .Net API 也没有。不太清楚为什么其中任何一个都没有哈希集,但我怀疑对我来说最好使用哈希集的 Farseers 版本。
另一个问题是,如果我在 iPhone 设备上运行应用程序时明确设置声明以使用 FarseerPhysics.Common.Hashset(即 new FarseerPhysics.Common.HashSet();),我会收到错误消息
'在使用 --aot-only 运行时尝试 JIT 编译方法'System.Collections.Generic.Dictionary'2:.ctor()'。\n'
我还应该指出,这个错误不会发生在模拟器中,只发生在实际设备上。
c# - 如何开始,从哪里学习(Farseer)
最近几天我试图从 farseer 库开始,但是我无法让任何东西正常工作。文档很差,互联网上与 3.3.1 版本相关的资源并不多(任何?)。这是我第一次尝试使用物理引擎,所以这对我来说是更大的问题。
c# - Farseer 物理 (Box2D) - 夹具绕点旋转
我在 Farseer 物理引擎(使用 XNA)中旋转夹具时遇到了一些麻烦。基本上,我有一个固定装置,设置如下:
然后我使用代码旋转
哪个工作正常。问题是,它总是围绕矩形的左上角旋转,我需要它围绕中心旋转。我将如何围绕它的中心旋转夹具?(我为我的愚蠢道歉 - 我是 Farseer / Box2D 的新手,我毫不怀疑这是造成这个问题的主要原因,但我已经在互联网上搜索了好几个小时,但一无所获。)
box2d - 对象之间的 Farseer 跨度
有一种情况:对象“A”落在静态对象“B”上,但是当“A”落在“B”上时,“A”和“B”之间存在跨度。如何解决问题?
c# - 如何围绕中心旋转这个矩阵?
我的 XNA 游戏使用 Farseer Physics,这是一个 2d 物理引擎,带有用于物理引擎数据的可选渲染器,以帮助您进行调试。可视化调试数据非常有用,因此我将其设置为根据相机的状态进行绘制。这完美地工作,除了z轴旋转。看,我有一个支持移动、缩放和 z 轴旋转的相机类。我的调试类使用 Farseer 的调试渲染器创建矩阵,使调试数据根据相机绘制,它做得很好,除了一件事.. z 轴旋转使用屏幕的左上角 ( 0, 0),而我的相机使用视口的中心作为 (0, 0) 旋转。有人对我有什么建议吗?如果我可以让调试抽屉从中心旋转,它将与我的相机完美配合。
c# - 如何在物理引擎中有效地模拟静态矩形网格?
我正在制作一个太空射击游戏,它发生在一个大地牢中,它由定义墙壁的大矩形组成。游戏中的一切都是使用 Farseer Physics 进行物理模拟的。但是有一个问题:我希望地牢看起来足够大,但这要求我的网格中至少有 80x80 个矩形,这意味着在最坏的情况下,我有 6400 个物理模拟的身体,这并不完全是性能友好,你可以猜到。
我的临时解决方案是将网格划分为垂直切片,以便对于每一列,使用布尔加法操作添加所有矩形,然后使用生成的凹多边形创建一个主体。它稍微提高了性能,但是多边形倾向于混乱,变得不存在,阻塞通常应该可以遍历的方式,甚至变得无效,并导致 Farseer 崩溃。
我一直在考虑制作某种算法,以某种方式找到墙壁的最大区域并将它们合并成一个大矩形,并继续对较小的矩形执行此操作,直到所有孔都被填满,但我不知道如何实现这个. 这似乎是一个完美的解决方案,因为它可以解决性能问题以及我现在遇到的凹多边形混乱。有没有人知道如何实现这样的事情?
完全停止使用物理引擎并不是一个解决方案,因为我的游戏中的很多东西都依赖它。
编辑:这里有一个小例子,说明身体现在的样子:(每个数字都是一个身体)
这就是我希望他们成为的样子:
c# - 使用 Farseer Physics Engine 3.0 在 XNA 上创建一个单独的重力控制岛
我刚开始使用 Farseer 引擎,到目前为止它在我的应用程序中很容易理解和实现。我想知道是否有办法将控件放入不同的“世界”,以便我可以仅操纵该对象的重力,但允许其他对象保持默认的世界重力。有谁知道如何做到这一点或知道任何可能对我有帮助的资源?
谢谢,汤姆
c# - Farseer 3.3 DebugViewXNA - 连接它
我一直在 XNA 中试用 farseer 3.3。对于我的一生,我无法让 DebugViewXNA 工作。
我有一个 World 对象,里面有几具尸体。身体固定在多边形模型上,所以我需要 debugviewXNA 类来为我绘制这些,但找不到如何去做。我假设我需要将顶点传递给它,但找不到如何从 World 对象访问这些顶点,我也不知道要准确调用哪个方法。我发现 farseer 3.3 的问题之一是支持似乎仅限于“查看示例”,但它们似乎并没有显示答案,谷歌告诉我我不是唯一一个有这种感觉的人。
非常感谢那些更有经验的人的任何帮助!
提前致谢