개요
이 프레임워크는 새로운 유니티 입력 시스템을 사용하며 PC, 모바일 및 VR을 지원합니다.
다음 그림은 엔진 및 프레임워크 부품의 실행 순서와 Quantum 시뮬레이션에서 장치 입력을 캡처하고 폴링 할 때가 나와 있습니다.
다음 구조체는 입력 구조체에 대한 정의입니다:
C#
input
{
Byte LookVersion;
Byte Flags;
FPVector3 MoveDirection;
FPQuaternion LookRotation;
FPVector3 PrimaryControllerPosition;
FPQuaternion PrimaryControllerRotation;
FPVector3 SecondaryControllerPosition;
FPQuaternion SecondaryControllerRotation;
}
이 구조체는 최적화되지 않았으며 모든 플랫폼을 지원합니다. 최종 구성은 게임 설계 및 입력 요구사항에 따라 달라집니다.
최적화된 입력 구조체의 예는 다음과 같습니다.
- 컨텐츠가 가변적인 단일 공유 바이트 배열입니다.
- LookVersion을 줄일 수 있습니다(최소한 3비트 권장 - 시뮬레이션에서 권한 있는 룩 방향 전환 주파수에 따라 다름).
- MoveDirection과 LookRotation의 정밀도를 줄이고 동작과 혼합합니다 - 1비트를 사용하여 해당 내용이 완전한 정밀 이동/룩인지 또는 축소된 정밀 이동/룩 + 내장 동작(발사/점프/달리기 등)인지 확인합니다).
- 선택적으로 일부 메타데이터를 임베디드(1-2비트)하여 입력 구성 및 전략을 식별하고(이동/모습을 무시하고, 마지막 프레임의 값을 사용하고, 속도에 따라 조정 등) 예약된 이동/모양 바이트를 사용하여 한 번에 더 많은 작업을 임베디드할 수 있습니다.
- 유니티 쪽에 우선순위가 있는 작업 대기열을 적용합니다(예: 발사보다 상호작용을 우선으로 선호하는 작업) 입력 구조체에 하나의 작업만 포함될 수 있습니다.