Version: 2022.2
언어: 한국어
물리
플레이어

물리 2D

Edit > Project Settings…> Physics 2D로 이동하면 물리 2D에 대한 글로벌 설정을 관리할 수 있습니다.

참고:3D 물리의 글로벌 설정을 관리하려면 물리 프로젝트 설정 문서를 참조하십시오.

물리 2D 인스펙터 설정
물리 2D 인스펙터 설정

물리 2D 설정은 물리 시뮬레이션의 정확도에 대한 제한을 정의합니다.더 정확한 시뮬레이션을 위해서는 일반적으로 더 많은 프로세싱 오버헤드가 요구되므로, 이 설정을 사용해 정확성과 성능을 프로젝트에 가장 잘 맞게 조정할 수 있습니다.자세한 내용은 일반 물리 문서를 참조하십시오.

General Settings 탭

Physics 2D 관리자 창의 General Settings 탭에서 사용할 수 있는 프로퍼티는 다음과 같습니다.

프로퍼티 기능
Gravity 모든 리지드바디 2D 게임 오브젝트에 적용되는 중력의 양을 설정합니다. 일반적으로 중력은 Y축의 음의 방향으로만 설정됩니다.
Default Material 개별 콜라이더 2D에 레퍼런스가 할당되지 않은 경우, 물리 머티리얼 2D에 대한 레퍼런스를 설정합니다.
Velocity Iterations 물리 엔진이 속도 효과를 결정하기 위해 수행하는 연산 반복 횟수를 설정합니다. 숫자가 클수록 물리 계산이 정확해지지만 CPU 시간이 증가합니다.
Position Iterations 물리 엔진이 포지션 변화를 결정하기 위해 수행하는 연산 반복 횟수를 설정합니다. 숫자가 클수록 물리 계산이 정확해지지만 CPU 시간이 증가합니다.
Velocity Threshold 탄성 충돌의 임계값을 설정합니다. 이 값보다 상대 속도가 낮은 충돌은 비탄성 충돌로 간주됩니다. 즉, 충돌하는 게임 오브젝트가 서로 튕겨나가지 않습니다.
Max Linear Correction 제약 해결 시 사용되는 최대 리니어 포지션 보정 값을 설정합니다(범위: 0.0001–1000000). 오버슈트를 방지하는 데 유용합니다.
Max Angular Correction 제약 해결 시 사용되는 최대 각도 보정 값을 설정합니다(범위: 0.0001–1000000). 오버슈트를 방지하는 데 유용합니다.
Max Translation Speed 리지드바디 2D 게임 오브젝트의 물리 업데이트 도중의 최고 리니어 속도를 설정합니다.
Max Rotation Speed 리지드바디 2D 게임 오브젝트의 물리 업데이트 도중의 최고 회전 속도를 설정합니다.
Baumgarte Scale Unity가 충돌 중복을 해결하는 속도를 결정하는 스케일 요소를 설정합니다.
Baumgarte Time of Impact Scale Unity가 충돌 시점 중복을 해결하는 속도를 결정하는 스케일 요소를 설정합니다.
Time to Sleep 리지드바디 2D가 움직임을 멈춘 후 잠자기 모드로 전환될 수 있는 경과 시간(초)을 설정합니다.
Linear Sleep Tolerance Time to Sleep이 경과한 후 리지드바디 2D가 잠자기 모드로 전환되는 리니어 속도를 설정합니다. || | Angular Sleep Tolerance* | Time to Sleep이 경과한 후 리지드바디 2D가 잠자기 모드로 전환되는 회전 속도를 설정합니다. || | Default Contact Offset** 콜라이더가 실제로 접촉하고 있지 않더라도 접촉 중인 것으로 간주할 근접 거리 값을 설정합니다.거리가 contactOffset 값의 합보다 작은 콜라이더는 접촉을 생성합니다.따라서 충돌 검사 시스템은 오브젝트가 약간 떨어져 있어도 접촉 제약을 예측적으로 적용할 수 있습니다.주의:이 값을 너무 낮추면 연속 폴리곤 충돌을 계산하는 Unity의 기능이 마비될 수 있습니다.반대로 값을 너무 많이 늘리면 버텍스 충돌에 대한 아티팩트가 발생할 수 있습니다.
Simulation Mode 드롭다운 메뉴에서 Unity가 2D 물리 시뮬레이션을 실행할 때 선택합니다.
Fixed Update 이 옵션을 선택하면 MonoBehaviour.FixedUpdate가 호출된 직후 Unity에서 물리 시뮬레이션을 실행합니다.
Update 이 항목을 선택하면 MonoBehaviour.Update가 호출된 직후 Unity에서 물리 시뮬레이션을 실행합니다.
스크립트 이 항목을 선택하면 Physics2D.Simulate을 통해 물리 시뮬레이션을 수동으로 실행할 수 있습니다.
Queries Hit Triggers Triggers로 표시된 콜라이더 2D가 (라인캐스트 또는 래이캐스트 같은) 물리 쿼리와 교차하는 경우 적중(hit)을 반환하게 하려면 이 옵션을 활성화합니다.기본적으로 활성화되어 있습니다.
Queries Start In Colliders 콜라이더 2D 안에서 시작된 물리 쿼리가 시작된 콜라이더를 감지할 수 있게 하려면 이 옵션을 활성화합니다.
Callbacks On Disable 접점이 있는 콜라이더가 비활성화된 경우 충돌 콜백을 생성하려면 이 옵션을 활성화합니다.
Reuse Collision Callbacks 이 설정을 활성화하면 물리 엔진이 모든 충돌 콜백에 대해 단일 Collision2D 인스턴스를 재사용합니다. 비활성화하면 물리 엔진이 각 충돌 콜백에 대해 새로운 Collision2D 인스턴스를 생성합니다.
Auto Sync Transforms 트랜스폼 변화를 물리 시스템과 자동으로 동기화하려면 이 옵션을 활성화합니다.
Gizmos 에디터에서 그리고자 하는 물리 2D 기즈모 타입을 선택합니다.여러 옵션을 선택할 수도 있습니다.
Nothing 이 항목을 선택하면 모든 옵션이 선택 취소됩니다.물리 2D 기즈모가 그려지지 않습니다.
Everything 이 항목을 선택하면 모든 옵션이 선택됩니다.
All Colliders 이 항목을 선택하면 계층 창에서 선택하지 않아도 모든 콜라이더가 그려집니다.
Colliders Outlined 이 항목을 선택하면 콜라이더에 아웃라인이 그려집니다(아웃라인의 컬러는 2D 물리 환경 설정에서 커스터마이즈할 수 있습니다).
Colliders Filled 이 항목을 선택하면 모든 콜라이더가 2D 물리 환경 설정에 지정된 채우기 컬러를 사용하여 그려집니다.
Colliders Sleeping 이 항목을 선택하면 2D 물리 환경 설정에 지정된 Awake 또는 Asleep 컬러를 사용하여 연결된 리지드바디 2D가 잠자기 모드일 때 표시되도록 콜라이더가 그려집니다.
Collider Contacts 이 항목을 선택하면 콜라이더 접점이 컨택트 노멀 방향의 접점에서 시작되는 방향 화살표로 표시됩니다.2D 물리 환경 설정에서 화살표의 컨택트 컬러를 지정할 수 있습니다.
Collider Bounds 이 항목을 선택하면 콜라이더가 생성하는 모든 PhysicsShape2D에 대해 콜라이더 경계가 그려집니다.이 경계는 축에 정렬된 경계 상자(AABB)입니다.
Multithreading 멀티스레딩 설정을 조정하려면 이 항목을 확장합니다.각 프로퍼티에 대한 자세한 내용은 멀티스레딩을 참조하십시오.

멀티스레딩

Multithreading 섹션의 설정에서 C# Job System을 사용하여 멀티스레드 물리를 구성할 수 있습니다.

확장된 멀티스레딩 설정
확장된 멀티스레딩 설정
프로퍼티 기능
Use Multithreading 잡 시스템을 사용하여 시뮬레이션 단계를 실행하려면 이 옵션을 활성화합니다. 실행 방법은 나머지 옵션을 사용하여 설정합니다.
Use Consistency Sorting 일관된 처리 순서의 유지가 시뮬레이션에 중요한 경우 이 옵션을 활성화합니다.
여러 개의 CPU 스레드에서 시뮬레이션을 실시하면 별도의 데이터 배치가 생성됩니다. 이러한 별도의 배치를 처리하면 처리 순서의 결정론적 분명성이 감소하는 대신 결과가 더 빠르게 도출됩니다.
Interpolation Poses Per Job 각 시뮬레이션 작업에서 보간되는 최소 리지드바디 2D 오브젝트 수를 설정합니다.
New Contacts Per Job 각 시뮬레이션 작업에서 찾을 최소한의 새로운 접촉 수를 설정합니다.
Collide Contacts Per Job 각 시뮬레이션 작업에서 충돌할 최소 접촉 수를 설정합니다.
Clear Flags Per Job 각 시뮬레이션 작업에서 지울 최소 플래그 수를 설정합니다.
Clear Body Forces Per Job 각 시뮬레이션 작업에서 지울 최소 바디 수를 설정합니다.
Sync Discrete Fixtures Per Job 각 시뮬레이션 작업에서 이산적 아일랜드 솔빙 중 BroadPhase에서 동기화할 최소 고정물 수를 설정합니다.
Sync Continuous Fixtures Per Job 각 시뮬레이션 작업에서 연속적 아일랜드 솔빙 중 BroadPhase에서 동기화할 최소 고정물 수를 설정합니다.
Find Nearest Contacts Per Job 각 시뮬레이션 작업에서 찾을 최소한의 가장 가까운 접촉 수를 설정합니다.
Update Trigger Contacts Per Job 각 시뮬레이션 작업에서 업데이트할 최소한의 트리거 접촉 수를 설정합니다.
Island Solver Cost Threshold 이산적 아일랜드 솔빙 중 모든 바디, 접점과 조인트의 최소 임계값 비용을 설정합니다.
Island Solver Body Cost Scale 이산적 아일랜드 솔빙 중 각 바디의 비용 스케일을 설정합니다.
Island Solver Contact Cost Scale 이산적 아일랜드 솔빙 중 각 접점의 비용 스케일을 설정합니다.
Island Solver Joint Cost Scale 이산적 아일랜드 솔빙 중 각 조인트의 비용 스케일을 설정합니다.
Island Solver Bodies Per Job 아일랜드 솔빙을 수행할 때 각 시뮬레이션 작업에서 처리할 최소 바디 수를 설정합니다.
Island Solver Contacts Per Job 아일랜드 솔빙을 수행할 때 각 시뮬레이션 작업에서 처리할 최소 접점 수를 설정합니다.

Layer Collision Matrix 탭

Layer Collision Matrix 탭 설정은 게임 오브젝트에 할당된 레이어에 따라 서로 다른 리지드바디 2D에 부착된 콜라이더가 서로 접촉할 수 있는지 여부를 제어합니다.이 매트릭스는 각 레이어를 다른 모든 레이어와 비교하여 표시하므로 어떤 특정 레이어가 다른 레이어와 접촉할 수 있는지 선택할 수 있습니다.

Layer Collision Matrix 탭
Layer Collision Matrix 탭

두 레이어 사이의 교차점에 체크 표시가 있으면 두 레이어 간의 접촉이 허용됨을 나타내며, 체크박스의 선택이 해제되어 있으면 두 레이어 간의 접촉이 허용되지 않음을 나타냅니다.레이어의 이름이나 체크박스에 마우스 커서를 올리면 해당 행과 열이 하이라이트되어 어떤 레이어에 영향을 미치는지 쉽게 확인할 수 있습니다.

:최상의 성능을 위해 최적화하려면, 다른 항목과 접촉시키려는 특정 레이어만 선택하고 다른 불필요한 접촉은 모두 비활성화하여 최소한의 잠재적인 접촉만 선택해야 합니다.이를 위해 Disable All 또는 Enable All을 선택하여 모든 옵션을 한 번에 빠르게 선택하거나 선택 해제한 다음, 특정 레이어를 선택할 수 있습니다.

추가 리소스

Physics2DManager

물리
플레이어