본문으로 건너뛰기

M25.03 · Collision Group·Filter Pairs·Physics Debug

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 충돌 형상·그룹 필터·개별 제외 쌍과 실제 접촉을 분리해 후보쌍을 계산한다.
  • 필요한 지지/파지 접촉을 보존하면서 잘못된 넓은 필터를 진단하고 수정 근거를 작성한다.
  • 합성 Physics Debug 기록의 적용 형상·활성/필터·물리 시각·수집 상태를 대조하여 접촉0과 미관측을 구분한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M25.02의 관절/강체 연결과 M25.01의 collider·계층이 선수다. 기존 M10.03의 충돌/접촉을 복습할 수 있다. 네 collider의 집합과 제공 관찰표를 분석하며 실제 PhysX/GUI·GPU·실물 실행은 요구하지 않는다. 일반 문법/설치 절차는 다루지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

충돌 형상이 보여도 접촉이 계산된 것은 아니다

M25.02에서 관절 연결과 가동 범위를 확인했다. 그런데 손가락이 물체를 통과하거나 물체가 바닥을 뚫는다면 관절만 고쳐서는 해결되지 않을 수 있다. collider는 충돌 계산에 쓰는 형상이고, 필터는 어떤 형상 쌍의 충돌을 계산에서 제외할지 정하는 규칙이다. 접촉(contact)은 실제 시각/위치·형상·설정에서 엔진이 산출하는 정보다. 세 가지를 다른 열로 기록한다.

필터가 허용한 쌍이라도 멀리 떨어져 있으면 접촉하지 않는다. 반대로 시각 메시가 겹쳐 보여도 collider의 근사 형상이 다르거나 필터가 막았다면 같은 결과를 기대할 수 없다. 물리 접촉이 없었다는 주장과 접촉 보고서를 받지 못했다는 주장도 구분해야 한다.

그룹과 개별 제외는 적용 범위가 다르다

Collision Group은 collider 집합을 묶어 집합 사이의 충돌 규칙을 지정한다. OpenUSD CollisionGroup의 colliders collection은 구성원을, filteredGroups는 충돌을 제외할 상대 그룹을 나타낸다. 그룹 이름만 만들고 실제 collider 경로가 포함되지 않으면 의도한 규칙이 적용되지 않을 수 있다.

충돌 제외는 접촉을 지울 수 있다: Collider 활성/형상 → Group/Filter → 개별 pair 제외 → Physics Debug/관측.그림 원본 크기로 보기

그림 M25.03-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

Filtered Pairs는 특정 객체 사이의 충돌을 제외하는 더 세밀한 방법이다. OpenUSD FilteredPairsAPI는 개별 제외가 그룹 필터보다 우선한다고 설명한다. 그룹이 허용해도 개별 제외가 남으면 해당 쌍을 복구했다고 할 수 없다. 반대로 개별 제외를 삭제하는 것은 적극적인 허용 명령이 아니므로 다른 그룹 차단까지 없애지는 않는다.

실제 장면에는 그룹 반전·다중 소속/합성, articulation의 self-collision, 관절 간 필터와 런타임별 규칙도 있을 수 있다. 이번 계산은 단일 그룹 소속·반전 없음·다른 제외 없음·모든 collider 활성으로 고정한다. raycast 같은 scene query 필터와 동역학 충돌 필터도 같은 것으로 가정하지 않는다. 실제 소비 엔진에서 적용된 규칙을 확인한다.

네 collider의 여섯 쌍을 먼저 펼친다

이번 합성 자산은 Robot={B(base),F(finger)}, Object={O(box)}, Ground={G(floor)}다. 서로 다른 두 collider의 무순서 쌍은 BF·BO·BG·FO·FG·OG의6개다. BF와 FB를 다른 쌍으로 중복 집계하지 않는다.

이 활동에서는 BF만 제외하기로 한 별도 설계 근거를 제공했다고 가정한다. 이는 제한된 가동 범위의 특정 조립 쌍에 대한 교육용 조건이다. 실제 인접 링크 전체나 닿을 수 있는 자기충돌 쌍을 일괄 제외하라는 뜻이 아니다. 실제 제외에는 구조·가동 범위·접촉 필요성의 검토가 필요하다.

쌍이번 계약의 충돌 검사근거
BF제외이 활동에 제공한 특정 조립 쌍의 설계 예외
BO허용베이스와 상자 충돌을 무시하지 않음
BG허용베이스-바닥 접촉을 보존
FO허용손가락-상자 파지 접촉을 보존
FG허용손가락-바닥 충돌도 무시하지 않음
OG허용상자의 바닥 지지를 보존

따라서 필터 후 검사 가능 후보는5쌍이다. 접촉5개가 발생했다는 계산은 아니다. 후보 집합을 얻은 뒤 현재 형상과 상태에서 실제 접촉이 생성되는지를 관찰해야 한다.

넓은 필터 한 줄이 필요한 접촉을 함께 없앨 수 있다

누군가 Robot과 Object 그룹 사이를 통째로 제외하면 BO와 FO가 모두 막힌다. 기존 BF제외까지 합치면 제외3쌍·후보3쌍(BG,FG,OG)이다. 의도했던 FO 파지 접촉도 사라진다. “관통 문제가 있으니 접촉을 더 많이 제외한다”는 수정은 그 문제를 숨길 수 있다.

이때 FO 개별 제외만 삭제해도 Robot-Object 그룹 차단이 남으면 FO는 여전히 차단된다. 반대로 그룹 차단을 제거했지만 FO 개별 제외가 남아 있다면 역시 복구되지 않는다. 필요한 수정은 잘못된 그룹 차단과 의도하지 않은 개별 제외를 각각 확인하고, BF의 근거 있는 예외만 남기는 것이다. 수정 뒤 후보5쌍과 필수 BO/FO/BG/OG를 다시 대조한다.

그룹 규칙을 전부 지우는 것도 충분한 해설이 아니다. 실제 파일에서 대상 경로가 존재하고, collection 합성과 제외 관계가 현재 collider에 해석되는지 대조한다. 왜 특정 예외가 있었는지·현재 가동 범위에서 어떤 접촉이 필요한지를 남겨야 한다. 변경 전후 규칙·collider 경로·원본/override 지문과 관찰을 보존한다.

Physics Debug는 어떤 상태를 보여 주는가?

먼저 렌더 메시와 실제 충돌 근사를 함께 읽는다. 원본 USD 형상과 엔진이 지원하지 못해 바꾼 fallback 형상이 다를 수도 있다. 그다음 collider/강체 활성 상태와 적용 필터·질량·관절을 확인한다. 화면에 선이 그려지는 것만으로 실제 접촉 계산/보고가 완료됐다고 승인하지 않는다.

NVIDIA Physics Debug 안내는 step별 관찰·엔진 상태 시각화와 로그 확인을 설명한다. 설치 버전마다 메뉴/도구가 달라질 수 있으므로 여기서는 특정 클릭 경로를 필수 실습으로 요구하지 않는다. 해당 도구를 실제 사용했다면 엔진/버전·설정·step과 무엇을 관찰했는지 남긴다.

특히 접촉점/형상이 update 시작 상태에서 표시되고 렌더 물체는 update 끝 상태를 나타내면 같은 화면에서도 시각이 다를 수 있다. 합성 예에서 접촉 기록은 physics tick10의 시작80ms, 렌더 pose는 같은 update 끝88ms라고 주어졌다. 두 기록은8ms 차이다. 즉시 “접촉점 위치가 틀렸으니 엔진 결함”이라고 결론 내리지 말고 같은 시각·프레임으로 맞추거나 차이를 표시한다.

접촉0을 설명할 근거를 순서대로 찾는다

아래는 실제 실행이 아닌 진단용 기록이다. 보고 수치0과 보고 미수집을 같은 값으로 채우지 않는다.

기록제공 상태무엇을 말할 수 있나
T1FO 그룹 차단, active collider 확인, 보고 수집됨·접촉0현재 필터에서 제외됨. 파지 접촉을 검증한 것이 아님
T2FO 허용, collider 사이 간격0.10m, step/보고 확인·접촉0현재 떨어진 형상에서0은 예상 가능. 접촉 조건의 필터 검증은 추가 필요
T3FO 허용, 렌더만 갱신, 물리 step/보고 수집 여부 없음실제 접촉 유무 미확인.0으로 채워 안전/완료를 보고하지 않음
T4필요한 접촉을 유도한 고정조건 시험, 엔진 형상·필터/step 확인, 보고에 FO존재이 합성 시험에서 FO 접촉 근거 있음. 힘/유지·파지 성공·실물 안전은 별도

진단은 경로/최종 형상→활성/적용 필터→실제 물리 step·같은 시각→보고 구독/대상/임계값→접촉/힘·과업 결과 순서로 한다. 알려진 허용 접촉의 양성 대조와 의도한 제외 쌍의 음성 대조를 함께 두면 수집기 고장과 필터 오류를 구분하기 쉽다. 실제 시험을 하지 않았다면 이 표의 예측/제공 관찰로 표시한다.

기존 2.4 충돌 형상과 2.12 트러블슈팅을 보충 경로로 쓴다. 필요한 쌍이 계산되는지 확인한 다음 M25.04에서 질량·마찰·강성/감쇠를 보정한다. 필터로 사라진 접촉을 마찰 수치로 복구할 수는 없다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    2.4 충돌 형상 설계

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    2.12 트러블슈팅

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

네 collider/세 그룹·BF제외와 T1~T4를 종이에 분석한다. 실제 엔진에 필터를 적용하는 활동은 아니다.

  1. 무순서6쌍을 쓰고 BF만 제외한 후보를 나열한다. 실제 접촉 개수는 아직 모른다고 적는다.
  2. Robot-Object 그룹 차단을 추가해 바뀐 쌍과 남은 후보를 계산한다. FO 개별 제외를 삭제했을 때 그룹 차단이 남으면 어떻게 되는지 설명한다.
  3. 필요한 접촉을 보존하는 수정안을 쓰고 원래 BF예외의 근거와 BO/FO/BG/OG를 다시 확인한다.
  4. T1~T4의 접촉0/미확인/확인 범위를 나누고80ms/88ms를 같은 시각으로 비교하면 생기는 오류와 다음 수집 항목을 적는다.

막히면 허용/제외/실제 접촉/보고 수집을 네 열로 나눈다. 모든 경우를 “충돌 없음”으로 처리하거나 보고 미수집을0으로 바꾸면 미충족이다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

필터 후 후보5쌍이 남았다. “이번 프레임에서 접촉이5개 발생했다”는 설명이 맞는가? 후보와 실제 접촉·보고의 차이를 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

Robot-Object 그룹 차단과 FO개별 제외가 함께 있다. FO개별 제외만 지웠으니 파지 접촉을 복구했다는 주장을 평가하라. 반대로 그룹 차단만 지운 경우도 비교하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

화면에서 상자가 바닥 위에 있고 접촉 보고 파일이 없다. 렌더 pose88ms와 접촉 디버그80ms도 어긋난다. 무엇을 확인해야 하며, 현재 보고할 수 없는 결론은 무엇인가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.