Roblox 엔진의 각 Assembly 은 단일 고정 바디 에 해당합니다. 각 고정 바디의 위치 및 속도는 각 고정 바디의 위치 및 속도를 설명하고, 주요 엔진 작업 중 하나는 각 고정 바디의 위치 및 속도를 업데이트하는 것입니다.
조립은 메카닉 제약 및 모터 제약과 함께 연결하여 자동차 또는 비행기와 같은 메커니즘을 구성할 수 있습니다. 메커니즘의 수와 제약 사이에 증가하면 메커니즘을 시뮬레이션하는 데 걸리는 시간이 증가합니다. 幸運히
잠자기 상태
각 조립은 세 가지 상태 중 하나여야 합니다: 깨어나기, 잠자기 확인, 또는 잠자기.
깨어 있는
깨어나는 조립은 이동하거나 가속되고 있으며 따라서 시뮬레이션됩니다. 조립은 잠자기 검사 및 잠자기에서 설명한 상황에서 이 상태에 들어갑니다. 조립은 1>추가 잠자기 상황1>과 함께 이 상태에 들어갑니다.
잠 검사
알림 접컷 건물과 함께 제약 사항을 공유하는 비이동 조립은 잠자기 검사 상태에 배치되고 시뮬레이션되지 않습니다. 각 월드스텝에서 잠자기 검사 조립은 다음을 확인합니다.
- 이웃 조립의 위치 편차는 이웃 이동 임계값보다 크십니다.The Position Deviation of a neighboring algorithm is greater than the Neighbor Displacement threshold.
- 이웃 배치의 가속 및 현재 타임스텝 크기가 네이버 각진 속도 및/또는 네이버 직선 속도 임계값보다 크기 때문에 문제가 발생합니다.
이 조건 중 하나가 트루인 경우, 또는 모든 추가 웨이크 상황 중 하나에 해당하는 경우, 잠 모니터링 어셈블리는 깨어나다 상태에 들어갑니다.
잠자기
A 잠자는 Assembly은 이동하거나 가속하지 않으므로 시뮬레이션되지 않습니다.
특정 조립은 최대 가변 위치 오차를 검사하여 이동하지 않도록 결정됩니다. 이 오차는 가변 위치 오차의 평균에서 가장 먼 점의 중심 마이크로 단위 수준에서 계산됩니다. 이 오차가 이동 임계값보다 큰 경우 조립은 깨어나게 됩니다
일부 경우, 단순히 이동 여부를 확인하면 조립이 잘못 된 상태에 있습니다. 예를 들어, 공이 직접 위로 던지면 위치가 세계 단위 높이에 거의 변경되지 않고 최대 높이에 도달하면 잠
임계값 참조
다음 표에서는 조립품이 이동하거나 가속하는지 여부를 결정하는 다양한 이동 및 속도 임계값을 제공합니다.
임계값 | 값 | 상태 변경 |
---|---|---|
이웃 이동 | 0.01 유닛 | 잠 확인 ⟩ 깨어나기 |
이웃 직선 속도 | 0.2mm/s | 잠 확인 ⟩ 깨어나기 |
이웃 각도 속도 | 0.2 라디안/s | 잠 확인 ⟩ 깨어나기 |
이동 | 0.001mm | 잠자기 ⟩ 깨어나기 |
직선 속도 | 0.1mm/s | 잠자기 ⟩ 깨어나기 |
각도 속도 | 0.1 radians/s | 잠자기 ⟩ 깨어나기 |
추가 웨이크 상황
잠자기 검사 및 잠자기에 설명된 상황 외에도 다음과 같은 경우 조립이 깨어나는 상태로 들어갑니다.
다른 조립과 충돌합니다.
어떤 조립 변경 내에 있든 간에 다음과 같은 물리 관련 속성을 가진 모든 BasePart 내 모든 속성 변경
Class.BasePart:ApplyImpulse()|ApplyImpulse() Class.BasePart:ApplyImpulseAtPosition()|ApplyImpulse 또는 Class.BasePart:ApplyAngularImpulse()|ApplyAngularImpulse() 1>Class.BasePart:ApplyAngularImpulse()|ApplyAngularImpulse1> 또는 4>Class.BasePart:ApplyAngularImpulse()|ApplyAngularImpulse4> 을 통해 배
조립에 영향을 미치는 물리 관련 속성 변경: Workspace
새로운 Constraint는 배치 내의 Attachment와 부모인 BasePart 사이에 생성됩니다.
Class.BasePart 내에 있는 모든 속성 변경을 위해 부모인 Attachment 에 대한 속성 변경.
조립에는 앉은 플레이어 캐릭터가 있는 VehicleSeat가 포함되어 있습니다.
조립은 BlastRadius 의 Explosion 내에 있습니다.
디버깅 시각화
플레이테스트 중에는 시각적 개체 옵션 상자의 Awake 부품을 토글하여 조립 수면 상태를 시각화할 수 있습니다.
활성화되면 현재 잠자기 상태에 따라 시뮬레이션된 부품이 빨간색으로 표시되고, 깨어나다 부품이 주황색으로, 잠자기 부품이 오렌지색으로 표시되고, 잠자기 부품이 잠깐 표시되지 않습니다.