래그돌 마법사(Ragdoll Wizard)
휠 콜라이더 튜토리얼

조인트 및 래그돌 안정성

이 페이지에서는 조인트래그돌의 안정성을 개선하는 팁에 대해 설명합니다.

  • Angular Y LimitAngular Z Limit 조인트 각도를 작게 지정하지 않도록 합니다. 안정성을 유지하려면 최소 각도가 설정에 따라 약 5–15도여야 합니다. 좁은 각도를 사용하는 대신 각도를 0으로 설정해 보십시오. 그러면 축이 고정되어 안정적인 시뮬레이션이 가능합니다.
  • 조인트의 Enable Preprocessing 프로퍼티를 선택 해제합니다. 전처리를 비활성화하면 조인트 제약을 충족할 방법이 없는 상황이 발생할 경우 조인트가 분리되거나 불규칙하게 움직이지 않도록 하는 데 유용할 수 있습니다. 이러한 상황은 조인트로 연결된 Rigidbody 컴포넌트가 정적 충돌 지오메트리에 의해 분리될 때(예를 들어, 벽 안에서 래그돌의 일부를 벽 안에서 스폰하는 경우) 발생할 수 있습니다.
  • (벽 안에서 부분적으로 스폰하거나 큰 힘에 밀리는 등)극한 상황에서는 조인트 솔버로 래그돌의 Rigidbody 컴포넌트가 분리되지 않게 할 수 없습니다. 이로 인해 스트레칭이 발생할 수 있습니다. 이를 처리하려면 ConfigurableJoint.projectionMode 또는 CharacterJoint.enableProjection을 사용하여 조인트에서 투사를 활성화해야 합니다.
  • 조인트로 연결된 Rigidbody 컴포넌트가 불안정하면 Physics 창을 열고(Edit __ > Project Settings__ 로 이동한 다음 Physics 카테고리 선택) Default Solver Iterations 값을 10과 20 사이로 높여 보십시오.
  • 조인트로 연결된 Rigidbody 컴포넌트가 바운스에 정확하게 반응하지 않으면 Physics 창을 열고(Edit __ > Project Settings__ 로 이동한 다음 Physics 카테고리 선택) Default Solver Velocity Iterations 값을 10과 20 사이로 높여 보십시오.
  • 직접 변환 액세스를 다른 Rigidbody 컴포넌트에 조인트로 연결된 Kinematic Rigidbody 컴포넌트와 함께 사용하지 마십시오. 이렇게 하면 PhysX로 해당 Rigidbody 컴포넌트의 내부 속도를 계산하는 단계가 생략되어 솔버에서 원치 않는 결과를 제공합니다. 잘못된 작업 방식의 일반적인 예로, 2D 프로젝트에서 변환 액세스를 사용하여 리그의 루트 분에서 Transform.TransformDirection을 수정하여 캐릭터를 플립하는 경우가 있습니다. Rigidbody2D.MovePositionRigidbody2D.MoveRotation을 대신 사용하면 동작이 크게 개선됩니다.
  • 조인트로 연결된 Rigidbody 컴포넌트의 질량이 너무 다르면 안 됩니다. 질량이 다른 리지드바디의 2배 정도면 문제가 없지만 질량 차이가 10배에 이르면 시뮬레이션이 불안정해질 수 있습니다.
  • 리지드바디 또는 조인트가 포함된 트랜스폼에서 스케일을 1이 아닌 숫자로 조정하지 않도록 합니다. 스케일링이 불안정한 경우가 발생할 수 있습니다.
  • Rigidbody 컴포넌트를 월드에 삽입하면 오버랩되고 오버랩을 방지할 수 없는 경우 Rigidbody 컴포넌트가 다른 컴포넌트에서 더 부드럽게 나오도록 Rigidbody.maxDepenetrationVelocity를 낮춰 보십시오.
래그돌 마법사(Ragdoll Wizard)
휠 콜라이더 튜토리얼