Roblox는 Xbox 및 PlayStation 컨트롤러와 같은 게임패드의 입력을 수신합니다. 게임패드를 포함한 크로스 플랫폼 입력을 단순화하기 위해 Roblox는 점프, 달리기, 또는 발사와 같은 작업을 정의하고 이러한 작업을 수행하기 위해 여러 하드웨어 입력에 대한 결합을 설정하는 입력 작업 시스템을 제공합니다.
게임패드 입력을 결합할 때는 플레이어에게 일관된 게임패드 경험을 제공하기 위해 일반적인 제어 스키마를 참조하세요. 입력이 설정된 후에는 지원되는 컨트롤러에서 햅틱 피드백을 포함하여 플레이어의 경험을 향상시킬 수 있습니다.
게임패드 지원을 구축할 때는 연결된 게임패드나 스튜디오의 컨트롤러 에뮬레이터를 사용하여 자주 테스트하는 것을 기억하세요.
입력 유형 감지
크로스 플랫폼 개발에서는 플레이어가 사용하는 PreferredInput 유형을 결정하고 이에 반응하는 것이 중요합니다. 이는 일반적으로 UI 요소와 같은 화면 버튼과 메뉴가 기기 간의 상호 작용을 지원하고 우아하게 작동하도록 보장하기 위해 필요합니다.
예를 들어, 콘솔은 게임패드가 기본 입력으로 설정되어 있다고 가정하지만, PC 또는 노트북의 플레이어는 블루투스 게임패드를 연결할 수도 있습니다. 이 경우 마우스/키보드는 해당 플레이어에 대한 유효한 입력으로 남아 있지만, 연결된 게임패드를 주 입력 유형으로 전환하고 싶어 할 것입니다.
자세한 정보는 입력 유형 감지를 참조하세요.
일반적인 제어 스키마
입력 작업 시스템에 대한 특정 제어 결합을 고려할 때는 다양한 게임 간의 일관성을 구축하는 것이 가장 좋습니다. 다음 입력 결합은 플레이어가 즉시 게임패드 컨트롤에 익숙하고 편안함을 느끼도록 도와줍니다.
| 입력 | 일반적인 사용 사례 |
|---|---|
| ButtonA | 플레이어 프롬프트 또는 GUI 선택을 수락합니다. 대안으로 점프와 같은 주요 작업에 사용됩니다. |
| ButtonB | 플레이어 프롬프트 또는 GUI 선택을 취소합니다. 대안으로 회피, 구르기 또는 달리기와 같은 보조 작업에 사용됩니다. |
| Thumbstick1 | 일반적으로 캐릭터 이동과 관련이 있습니다. |
| Thumbstick2 | 일반적으로 카메라 이동과 관련이 있습니다. |
| ButtonL2, ButtonR2 | 일반적으로 발사와 같은 주요 작업에 사용됩니다. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | 재장전, 타겟팅 또는 인벤토리 또는 미니맵에 접근하는 등의 보조 작업에 사용됩니다. |

햅틱 피드백
많은 게임패드 컨트롤러에는 햅틱 피드백을 제공하기 위해 내장된 모터가 있습니다. 진동 및 떨림을 추가하는 것은 플레이어의 경험을 크게 향상시키고 시각적 효과나 오디오를 넘어서는 미세한 피드백을 제공할 수 있습니다.
Roblox는 PlayStation 게임패드, Xbox 게임패드 및 Quest Touch 컨트롤러에 대한 햅틱을 지원합니다. 햅틱 피드백은 특정 Type을 설정할 수 있는 HapticEffect 인스턴스를 통해 관리되며, GameplayCollision 또는 UIClick와 같은 유형이 있습니다.
HapticEffect가 설정되면 다음과 같이 Play() 메서드를 통해 시작할 수 있습니다:
local Workspace = game:GetService("Workspace")local effect = Instance.new("HapticEffect")effect.Type = Enum.HapticEffectType.GameplayExplosioneffect.Parent = Workspace-- 햅틱 효과 재생effect:Play()
컨트롤러 에뮬레이션
컨트롤러 에뮬레이터는 Studio의 테스트 메뉴에서 접근할 수 있으며, 게임패드 입력을 Studio에서 직접 정확하게 에뮬레이트할 수 있습니다. 기본 컨트롤러는 일반 게임패드이며, 상단 왼쪽 픽커 메뉴에서 다른 옵션을 선택할 수 있습니다.

플레이 테스트 중에는 마우스를 사용하여 가상 컨트롤러로 게임을 제어할 수 있습니다.
상단 오른쪽 모서리에서 매핑 수정을 클릭하면 가상 컨트롤러의 키 매핑을 보기 위해 수정할 수 있습니다. 예를 들어 E는 ButtonL2로, 9는 ButtonA로 매핑할 수 있습니다. 이러한 매핑은 다른 Studio 설정(컨트롤러별, 사용자별, 컴퓨터별)과 동일하게 저장되며, 에뮬레이터 창과 3D 뷰포트 모두에서 게임패드 이벤트로 변환됩니다.