본문으로 건너뛰기

M10.03 · RigidBody·Collider·CCD·접촉·마찰

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 표시 메시·동적 강체·정적 충돌체·kinematic 물체의 역할을 구분하여 가상 구성 오류를 진단한다.
  • 스텝당 이동거리와 접촉 거리의 합을 계산하고 이산 검출·CCD·offset 설정의 효과와 한계를 설명한다.
  • 단순 정/동마찰 모델의 힘을 계산하고 접촉/마찰 문제에서 먼저 확인할 증거를 제안한다.

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

권장 선수

M07.01의 힘/질량과 M08의 visual/collision/물리 속성이 선수다. PhysX 경로의 개념을 Isaac Sim 6.2 자료와 연결하며, 기본 실습은 합성 기록과 종이 계산이다. 실제 엔진·GPU·물체를 실행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

보이는 것과 부딪히는 것은 별도다

화면의 메시가 있다는 사실은 물체가 중력에 반응하거나 다른 물체와 부딪힌다는 뜻이 아니다. 동적 RigidBody는 질량·관성·힘에 따른 운동 상태를 갖는 강체다. Collider는 충돌 검사에서 쓰는 형상과 관련 설정이다. 표시 메시, 강체, 충돌 형상을 나누어 보면 ‘바닥을 뚫고 떨어짐’이 서로 다른 원인에서 나올 수 있음을 이해할 수 있다. 강체만 있고 collider가 없으면 중력으로 움직여도 접촉할 형상이 없다.

정적 환경은 동적 강체 없이 충돌 형상을 둘 수 있다. 바닥은 충돌하되 중력에 떨어지는 물체가 아닐 수 있다. kinematic 물체는 애플리케이션이 정한 운동을 따르는 방식으로 쓰며 접촉의 영향을 받아 자유 동역학처럼 밀려나는 물체와 다르다. 구체적인 이동 API와 속도 전달 방식도 확인해야 한다. 위치를 매 프레임 강제 설정하는 것과 힘/토크로 움직이는 것을 같은 실험으로 읽지 않는다.

충돌 형상이 있어도 pair 필터가 접촉을 제외하거나 해당 형상의 simulation 참여가 꺼졌을 수 있다. 또 raycast 같은 장면 질의의 참여와 물리 접촉 참여는 구분될 수 있다. 광선이 검출했다는 사실만으로 그 물체가 물리적으로 받쳐 준다고 단정하지 않는다. 공식 PhysX 충돌 설명은 simulation shape와 scene query shape를 구분한다. 여기서는 API 실행 없이 이 역할을 가상 구성표로 검사한다.

얇은 벽은 두 표본 사이에서 사라질 수 있다

이산 충돌 검출은 스텝의 표본 위치에서 형상을 비교한다. 일정 속도 크기 v(m/s), 스텝 간격 Δt(s)라면 이동거리는 d=vΔt(m)다. v=2 m/s, Δt=0.01 s이면 d=0.02 m, 즉 20 mm다. 이동 방향을 x축으로 두고 중심이 −0.01에서 +0.01 m로 이동하는 반지름 0.001 m 구와 벽 x∈[−0.001,0.001] m를 생각하자. 양 끝 표본에서 구는 벽과 겹치지 않지만 중간 경로는 벽을 지나간다. 두 끝만 검사하면 이 접촉을 놓칠 수 있다.

얇은 벽과 이산 위치 검사. 개념도에서 두 표본 위치는 벽과 겹치지 않지만 이동 구간은 벽을 지난다. CCD/스텝 설정의 필요성을 보여 주며 특정 엔진의 CCD 보장을 뜻하지 않는다.그림 원본 크기로 보기

그림 M10.03-1. 개념도에서 두 표본 위치는 벽과 겹치지 않지만 이동 구간은 벽을 지난다. CCD/스텝 설정의 필요성을 보여 주며 특정 엔진의 CCD 보장을 뜻하지 않는다. 직접 제작.

스텝을 줄이면 이동거리가 줄어들지만 모든 형상/운동에서 관통을 막는 충분조건이 되는 것은 아니다. 실제 검출의 여유와 회전·상대 운동·필터·형상 조건도 있다. ‘d가 두께보다 크면 반드시 실패’, ‘작으면 무조건 통과’라는 법칙으로 바꾸지 않는다. 위 예는 실패 가능성을 직접 보이는 한 가지 경로다.

CCD는 Continuous Collision Detection의 약자로 표본 사이의 운동도 고려해 충돌 누락을 줄이는 방법이다. PhysX의 sweep 방식과 speculative 방식은 방법과 한계가 다르다. Isaac Sim 6.2의 sweep CCD 예제는 scene과 body 양쪽의 활성화를 요구한다. 설정 하나만 켰다는 기록으로 적용됐다고 단정하지 않는다. 빠른 회전이나 지원 형상·경로의 조건도 확인하고 계산 비용/새 접촉 오류와 함께 비교한다. CCD를 켠 뒤에도 collider 누락·필터 제외·잘못된 scale은 별개 결함이다.

접촉 생성 시점과 쉬는 간격을 구별한다

PhysX의 contactOffset은 두 형상이 가까워질 때 접촉 후보/제약 생성을 준비하는 거리와 관련되고 restOffset은 쉬는 상태의 상대 간격과 관련된다. 두 형상의 효과는 쌍으로 읽는다. 이 설명은 PhysX 경로의 속성 의미이며 다른 백엔드에 같은 숫자를 그대로 이식하는 규칙이 아니다. 각 contactOffset은 음수가 아니고 해당 restOffset보다 커야 한다.

가상 형상 A/B의 contactOffset을 각각 0.002/0.003 m라면 합은 0.005 m다. 형상 간 분리 거리가 그 합보다 작아지면 침투 전에도 접촉 생성이 시작될 수 있다. 이것이 5 mm에서 즉시 강한 반발력이 튀어나온다는 뜻은 아니다. 두 restOffset이 0이면 그 합은 0이므로 쉬는 간격의 의도도 contact 합과 다르다. 공식 PhysX 접촉 거리 설명을 이 구분의 근거로 삼는다.

접촉 거리를 너무 크게 하면 불필요한 접촉과 계산 비용/형상 해석 문제가 늘 수 있고, 너무 작게 하면 주어진 스텝에서 접촉을 늦게 다루는 문제가 생길 수 있다. 값 하나를 늘려 모든 떨림을 해결하려 하지 않는다. collider의 두께/scale·초기 겹침·상대 속도·질량비·drive 이득·스텝/solver 설정을 함께 기록한다. 원인을 바꿔 가며 같은 초기 조건에서 비교할 때도 한 번에 바꾸는 항목을 제한한다.

정마찰은 항상 최대값으로 작용하지 않는다

단순 Coulomb 마찰 모형에서 접촉 법선력 크기를 N_f(N), 접선 마찰력 크기를 F_t(N), 정/동마찰계수를 μ_s/μ_d로 쓰자. 계수는 무차원이다. 정지 상태의 마찰은 필요한 범위에서 최대 μ_s N_f까지 제공될 수 있고, 미끄러짐에서는 단순화한 크기 μ_d N_f를 쓴다.

Ft≤μsNf(정지),Ft=μdNf(미끄러짐).F_t\leq\mu_s N_f\quad\text{(정지)},\qquad F_t=\mu_d N_f\quad\text{(미끄러짐)}.

가상 수평면에서 질량 m=1 kg, 중력가속도 g=10 m/s², 수직 가속도와 다른 수직 힘이 없다고 가정하면 N_f=mg=10 N이다. μ_s=0.4, μ_d=0.3이면 정마찰 최대는 4 N이다. 수평으로 3 N을 밀 때 필요한 마찰은 3 N이며 4 N을 항상 거는 것이 아니다. 5 N을 밀어 미끄러진다면 단순 동마찰은 3 N, 순수 수평 힘은 2 N, 가속도는 2 m/s²다. 힘 방향은 운동을 방해하는 쪽이고, 정지에서는 움직이려는 경향을 막는다.

이 계산은 접촉이 유지되는 단일 평면의 단순 모형이다. 실제 PhysX 접촉 solver의 모든 마찰 patch/충격량 계산을 재현한 것은 아니다. 두 재질의 계수와 combine mode, 접촉 위치/법선·형상·drive 상태가 결과에 영향을 준다. 물체가 떨어지는 원인이 collider 누락인데 마찰을 올리거나, 충돌이 없는 상황에서 μ만 추정하면 원인을 잘못 고른 것이다. 기존 2.5 CCD와 2.6 접촉의 자세한 적용에서도 표시→구성→시간/검출→접촉 힘의 순서로 근거를 좁힌다.

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

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

    2.3 강체 역학과 시뮬레이션 시간

    설명 범위 충족 · 전체 단위 검수와 별개

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

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

    2.4 충돌 형상 설계

    설명 범위 충족 · 전체 단위 검수와 별개

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

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

    2.5 Tunneling과 CCD

    설명 범위 충족 · 전체 단위 검수와 별개

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

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

    2.6 물리 재질과 접촉 역학

    설명 범위 충족 · 전체 단위 검수와 별개

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

  • 기존 요약 레슨 · 관련 기존 자료 · 보충 참고

    Physics step과 solver 안정성

    목표 일부 관련

    핵심 요약 레슨입니다. 자세한 유도·수식·코드는 연결된 상세 본문을 함께 읽으세요.

  • 기존 요약 레슨 · 관련 기존 자료 · 보충 참고

    충돌·마찰 파라미터 튜닝

    목표 일부 관련

    핵심 요약 레슨입니다. 자세한 유도·수식·코드는 연결된 상세 본문을 함께 읽으세요.

학습 범위와 한계

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

실습 필수

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

입력은 다음 합성 기록이다. A는 visual+동적 강체만 있고 collider가 없다. B는 바닥의 정적 collider다. C는 본문의 구/벽과 속도·스텝 조건이며 contactOffset A/B는 별도 가상 pair의 0.002/0.003 m다. 마찰 계산은 1 kg 수평면 모형을 쓴다.

  1. A가 B를 통과하는 구성 원인과 수정 후 확인할 것을 설명한다. kinematic으로 위치를 강제한 경우와 자유 동역학의 차이도 적는다.
  2. C의 이동거리와 두 끝 표본을 비교한다. CCD 및 contact/rest offset에서 확인할 조건과 각각 해결하지 못하는 결함을 적는다.
  3. 3 N/5 N 수평 힘의 마찰과 운동을 계산한다. 실제 엔진의 미끄러짐을 진단할 추가 기록 두 가지를 제안한다.

관찰은 역할·거리/설정·힘/근거로 나누어 적는다. 막히면 mm를 m로 바꾸고, 마찰 계산 전에 접촉이 존재하는지 확인한다. 실제 엔진이나 물체를 실행할 필요는 없다.

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

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

물체가 화면에 보이고 raycast에 잡히지만 바닥의 접촉 반력이 없다. 이를 동적 collider 참여의 증거로 확정할 수 있는가? 표시/질의/동역학/접촉의 역할로 설명하라.

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

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

확인 문제 Q2

속도 3 m/s, 스텝 0.02 s의 이동거리를 구하라. 두께 0.004 m 벽을 반드시 검출한다고 할 수 있는가? contactOffset 0.001/0.002 m의 합과 sweep CCD의 적용 조건도 설명하라.

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

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

확인 문제 Q3

수평 접촉에서 N_f=20 N, μ_s=0.5다. 수평 힘 8 N에 정지해 있다면 마찰력은 10 N인가? 실제 미끄러짐 기록을 해석할 때 추가로 확인할 것을 제안하라.

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

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

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

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    Stage에서 보이는 mesh가 중력으로 떨어지지 않는 이유를 세 계층 관점에서 설명하라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    triangle mesh collider를 동적 그리퍼 링크에 그대로 쓰는 것의 단점을 세 가지 쓰라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    sweep CCD와 speculative CCD의 차이를 설명하고 빠르게 회전하는 긴 막대에 적합한 대안을 논하라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 보고서 · 관련 기존 자료 · 보충 참고

    실습 보고서 · 기존 원고와 평가 안내

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 보고서 · 관련 기존 자료 · 보충 참고

    실습 보고서 · 기존 원고와 평가 안내

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    render mesh, collision mesh, mass model을 분리하는 이유를 각각 쓰라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    static collider와 kinematic body가 같은 점과 다른 점을 설명하라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    CCD를 켜도 tunneling이나 ghost collision이 완전히 사라진다고 보장할 수 없는 이유를 쓰라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 요약 점검 · 관련 기존 자료 · 보충 참고

    정교한 시각 메시를 충돌 형상으로 그대로 쓰는 주된 문제는?

    목표 일부 관련

    선택 정답만으로 독립 수행을 보장하지 않음

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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