2010-05-28 3 views
2

나는 physx (지금 ragdoll에 ik를 추가하려고 노력 중)와 함께 작업 중입니다. 어떤 이유로, 모든 ragdoll 조인트는 마찰이 없으며, 결과적으로 ragdoll은 "흔들 리기"쉽습니다 (특히 공중에 매달려 움직이는 여러 운동 배우와 연결될 때).PhysX : 조인트 마찰/"뻣뻣한"조인트

나는 관절에 마찰을 가하고 "뻣뻣하게"하고 싶습니다. 문이 열리도록 여러 번 열어야하는 문 (매우 녹슨 경첩이 있음)을 상상해보십시오. 즉, 힌지를 중심으로 회전하지만 그리 많이는 아니지만 빠르게 멈추고 회전하기 위해 많은 힘이 필요합니다. 아트 마네킨 (그림을 보려면 Google 이미지 참조)에 대해 생각해보십시오. 팔 다리가 움직이지만 자유롭게 움직이지는 않습니다.

불행히도 physx에서 관절 마찰과 관련된 항목을 찾을 수 없습니다. 설명서, Google 및 헤더를 확인한 결과 아무 것도 찾을 수 없었습니다.

그렇다면 physx와 강성 관절/관절 마찰을 어떻게 구현합니까? (나는 생각한다) 나는 문제없이 physx 게임을 보았다. 그래서 분명히 그렇게 할 수있는 방법이 있어야한다.

P. 나는 여기에 관절/솔버 불안정성에 대해 이야기하는 것이 아닙니다. Ragdoll은 안정적이며 (다소간), 관절은 자유도 (관절 제한)를 존중하지만 관절에는 마찰이 없으며 마찰을 추가하려고합니다.

답변

1

나는이 관련이있을 수도 최근 엔비디아 포럼에 질문을했습니다 link

는 불행하게도 내 질문에 진짜 대답을하지 않았다하지만 사용, 내가하고 싶은 일을하기 위해 관리 스프링 상수없이 댐핑 상수 만 추가하면 관절의 스프링이 도움이 될 수 있습니다. 이것은 내 경우에는 효과가 있지만 왜 그렇게 사용하는지 기뻐하는 동안 그것을 설명 할 수 있는지 완전히 확신 할 수는 없습니다.

ragdoll의 모든 개별 부품에 각도 감쇠 기능을 추가 할 수 있는지 여부는 알지 못합니다. 이동을 시작한 후에 속도가 느려지지만 제대로 보이지 않을 수 있습니다. 아마 당신이 실험해야 할 것들 중 하나.

+0

음, 댐핑 효과가있었습니다. 한계와 조인트에 높은 댐핑 스프링 강도를 설정하면 구형 조인트가 아닌 회전/d6 조인트에서 잘 작동합니다. 그래서 나는 마침내 뻣뻣한 ragdoll을 얻었다. 확실히 전통적인 감각에서 마찰이 아니라 동일한 효과를 제공합니다. 그것은 "문서화되지 않은 기능"처럼 보입니다.하지만 나는 심각하게 의심 스럽습니다. 높은 제동과 제로 강도를 가진 스프링은 이런 식으로 행동해야합니다. – SigTerm

+0

@SigTerm : 안심할 수 있습니다. 내 관심사는 미래의 업데이트로 인해 부서 질 수 있다는 것이 었습니다.다행히 당신이 원하는 것이 아니라면 도움이되었습니다. – identitycrisisuk

0

Physx에서 흔들림이있는 관절에 대해 this forum thread을 발견했습니다. 본 적이 있다면 잘 모르겠지만 도움이되기를 바랍니다.

+0

아니요,이 경우가 아닙니다 - ragdoll은 안정적이지만 좀 더 "딱딱하게"만들 필요가 있습니다. 질문을 업데이트했습니다. – SigTerm

0

왜 그렇게하려고하지 않습니다

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으로 주면이 움직임이 줄어들고 오브젝트가 바닥에서 움직이지 않게됩니다. 마찰과 비슷하지는 않습니다.

관련 문제