首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PhysX:关节摩擦/刚性关节

PhysX:关节摩擦/刚性关节
EN

Stack Overflow用户
提问于 2010-05-28 20:14:58
回答 3查看 3K关注 0票数 2

目前我正在使用physx (试图将ik添加到add玩偶中)。由于某些原因,所有碎布玩偶的关节都是无摩擦的,因此,碎布玩偶往往会“摇晃”,特别是当它悬挂在空中并连接到几个移动的运动学演员时。

我想在关节上增加摩擦力,使它们变得“僵硬”。想象一下,一扇门(带有极其生锈的铰链)需要被踢几次才能打开--也就是说,它绕着铰链旋转,但旋转的次数不多,很快就会停止,需要很大的力才能使其旋转。或者想想艺术人体模型(参见谷歌图片)--他们的四肢可以移动,但不能自由摆动。

不幸的是,我在physx中找不到任何与关节摩擦相关的东西。我已经检查了文档、google和headers,但没有找到任何有用的东西。

那么,如何使用physx实现刚性关节/关节摩擦呢?(我想)我见过没有这个问题的physx游戏,所以显然应该有一些方法来做到这一点。

另外,我在这里不是在谈论关节/解算器的不稳定性。碎布玩偶是稳定的(或多或少),关节遵守自由度(关节限制),但关节没有摩擦力,我想为它们添加摩擦力。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-28 21:08:26

我最近在nvidia论坛上问了一个问题,可能与此有关:link

不幸的是,我没有得到我的问题的真正答案,但我设法做了我想做的事情,如果你只添加一个阻尼常数,而不是弹簧常数,那么在关节中使用弹簧可能会对你有所帮助。这对我来说很有效,但我不能解释为什么,所以虽然我很高兴使用它,但我不完全确定是否推荐它。

我不知道你是否也可以在布娃娃的所有单独部分添加角度阻尼,这将使他们在开始移动后更快地减速,但它可能看起来不正确。可能是你必须尝试的其中一件事。

票数 1
EN

Stack Overflow用户

发布于 2010-05-28 20:20:36

我在Physx中找到了关于关节抖动的this forum thread,不知道你是否看过它,但我希望它能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2010-10-17 23:05:16

你为什么不试试:

d6Desc.swingDrive.driveType.raiseFlagMask(NX_D6JOINT_DRIVE_VELOCITY);d6Desc.swingDrive.forceLimit = 0.1f;d6Desc.twistDrive.driveType.raiseFlagMask(NX_D6JOINT_DRIVE_VELOCITY);d6Desc.twistDrive.forceLimit = 0.1f;d6Desc.driveAngularVelocity.x = 0;d6Desc.driveAngularVelocity.y = 0;d6Desc.driveAngularVelocity.z = 0;

你用一个很小的力把速度调到0,这样运动就会减少,你的物体就会停止在地板上的运动。它不完全像摩擦力,而是很接近。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2928834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档