다음을 통해 공유


메시 물리학 개요

메시 환경에서 물리학 시뮬레이션은 매력적인 동적 콘텐츠를 가능하게 하는 핵심입니다. 메시 참가자에게 고품질 공유 물리학 환경을 제공하고 개발자에게 사용자 지정 콘텐츠를 만드는 생산적인 워크플로를 제공하기 위해 Mesh Physics 시스템을 만들었습니다. 메시 물리학은 매우 간단한 아키텍처를 초래하는 로컬 신뢰할 수 있는 시뮬레이션을 기반으로 합니다. 클라이언트에는 서버 쪽 논리 및 특수 논리가 필요하지 않습니다. 가장 중요한 것은 이 접근 방식은 대기 시간이 긴 네트워크에 연결된 경우에도 각 플레이어가 환경과 상호 작용하는 매우 응답성이 뛰어나고 대기 시간이 짧은 환경을 초래합니다.

분산 물리학 시뮬레이션

분산 물리학 개체를 보여 주는 스크린샷.

메시 물리학은 단단한 본문의 위치를 동기화하며 모든 클라이언트가 동일한 장면을 공유한다고 가정하여 기본으로 작동해야 합니다. 대부분의 Unity 물리학 기능(예: 강체, 충돌체, 재질 및 제약 조건)은 개발자의 추가 작업 없이 동기화됩니다.

참고:

  • 방향에 & 고정된 위치만 보간과 동기화됩니다.
  • 불연속 상태 변경(예: 중단 가능한 제약 조건) 및 트리거 이벤트를 피해야 합니다.

각 클라이언트는 분산 시뮬레이션 소유권이라고 하는 일부 본문을 시뮬레이션해야 합니다. 플레이어가 엄격한 본문을 터치하면 대기 시간이 짧은 상호 작용을 허용하도록 시뮬레이션 소유권이 즉시 전송됩니다. 인접한 본문의 경우 물리학 동기화 엔진은 시각적 아티팩트 최소화를 위해 로컬 예측, 보간 및 자동 소유권 재배포를 수행합니다.

메시 물리학은 상호 작용 및 다음과 같은 추가 물리학 관련 기능을 제공합니다.

  • 내부의 신체에 물리적으로 영향을 미치는 다양한 필드(부력, 중력)
  • 개별 신체의 동작을 수정하기 위한 다양한 구성 요소(자기, 고정, throw 가능)
  • 본문을 시작 위치로 재설정하는 기능(선택적 장면 정리)
  • 위의 기능의 다중 사용자 테스트에 대한 메시 에뮬레이션 모드 지원

메시 물리학 기능을 사용하여 수행할 수 있는 더 많은 작업은 다음과 같습니다.

  • 참가자가 개체를 잡고 운반할 수 있도록 허용합니다.

  • 중력이 개체에 미치는 영향을 제어합니다.

    중력을 사용하는 게임의 스크린샷.

  • 개체를 "고정"으로 만듭니다. 이 개체는 적중되는 모든 항목에 충실합니다. 예: 다트 보드에 다트를 던지고, 벽에 그림을 첨부합니다.

    벽에 부착된 그림의 스크린샷.

  • 물리학 본문과 상호 작용하는 자동 재생 애니메이션을 추가합니다.

    애니메이션 트리거의 스크린샷.

  • 참가자가 개체를 재설정할 수 있도록 허용합니다(예: 체스 보드를 다시 설정하거나 개체가 흩어진 후 방을 클린).

    가구가 혼란에 빠진 방의 두 부분으로 구성된 스크린샷과 가구가 다시 제자리에 있는 동일한 방.

  • 개체가 트리거 충돌체에 들어갈 때 이벤트를 발생합니다.

    트리거 볼륨의 스크린샷.

  • 포함 필드를 만듭니다. 개체는 필드의 경계 내에 유지됩니다.

    포함 필드의 스크린샷.

  • 개체의 속도를 제어합니다.

  • 개체의 부력을 제어합니다. 예를 들어 보트 및 기타 항해 물체를 "부동"으로 만듭니다.

    물에 떠있는 보트의 스크린 샷.

  • 개체의 각 속도를 제어합니다.

  • 폭발을 만들어 주변 개체가 바깥쪽으로 또는 특정 방향으로 이동하도록 합니다.

  • 미리 정의된 속도로 서로 바운스되는 "탄력 있는" 개체를 만듭니다.

    중간 바운스에서 수많은 공의 스크린 샷.

  • 개체를 새 위치 및 (선택 사항) 새 회전으로 텔레포트합니다.

    텔레포트 프로세스의 시작점과 끝점의 두 부분으로 구성된 스크린샷입니다.

용어

메시 물리학 문서 전체에서 "body"는 "Rigidbody"의 약어로 사용됩니다.

다음 단계