배우기
엔진 클래스
VRService
만들 수 없음
서비스

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


코드 샘플
VR서비스
local VRService = game:GetService("VRService")
local part = workspace.Part
local handOffset = VRService:GetUserCFrame(Enum.UserCFrame.LeftHand)
-- 머리 비율을 고려하세요
handOffset = handOffset.Rotation + handOffset.Position * workspace.CurrentCamera.HeadScale
part.CFrame = workspace.CurrentCamera.CFrame * handOffset

API 참조
속성
AutomaticScaling
병렬 읽기
기능: Input
VRService.AutomaticScaling:Enum.VRScaling

AvatarGestures
병렬 읽기
기능: Input
VRService.AvatarGestures:boolean

ControllerModels
병렬 읽기
기능: Input
VRService.ControllerModels:Enum.VRControllerModelMode

FadeOutViewOnCollision
병렬 읽기
기능: Input
VRService.FadeOutViewOnCollision:boolean

GuiInputUserCFrame
복제되지 않음
병렬 읽기
기능: Input
VRService.GuiInputUserCFrame:Enum.UserCFrame
코드 샘플
VRService.GuiInputUserCFrame
local VRService = game:GetService("VRService")
if VRService.VREnabled then
print(VRService.GuiInputUserCFrame.Name)
else
print("VR 장치가 감지되지 않았습니다!")
end

LaserPointer
병렬 읽기
기능: Input
VRService.LaserPointer:Enum.VRLaserPointerMode

ThirdPersonFollowCamEnabled
읽기 전용
복제되지 않음
병렬 읽기
기능: Input
VRService.ThirdPersonFollowCamEnabled:boolean

VREnabled
읽기 전용
복제되지 않음
병렬 읽기
기능: Input
VRService.VREnabled:boolean
코드 샘플
VR 헤드 트래킹
local VRService = game:GetService("VRService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.CharacterAdded:Wait()
local head = character:WaitForChild("Head")
local function TrackHead(inputType, value)
if inputType == Enum.UserCFrame.Head then
head.CFrame = value
end
end
if VRService.VREnabled then
-- 초기 CFrame 설정
head.CFrame = VRService:GetUserCFrame(Enum.UserCFrame.Head)
-- VR 헤드셋 움직임을 추적하고 캐릭터 머리에 반영
VRService.UserCFrameChanged:Connect(TrackHead)
end

메서드
GetTouchpadMode
기능: Input
VRService:GetTouchpadMode(pad:Enum.VRTouchpad):Enum.VRTouchpadMode
매개 변수
코드 샘플
VRService:GetTouchpadMode
local VRService = game:GetService("VRService")
VRService:GetTouchpadMode(Enum.VRTouchpad.Left)

GetUserCFrame
기능: Input
VRService:GetUserCFrame(type:Enum.UserCFrame):CFrame
매개 변수
반환
코드 샘플
VRService:GetUserCFrame
local Workspace = game:GetService("Workspace")
local VRService = game:GetService("VRService")
local camera = Workspace.CurrentCamera
local part = script.Parent.Part
local handOffset = VRService:GetUserCFrame(Enum.UserCFrame.LeftHand)
-- 머리 크기를 고려합니다.
handOffset = handOffset.Rotation + handOffset.Position * camera.HeadScale
part.CFrame = camera.CFrame * handOffset

GetUserCFrameEnabled
기능: Input
VRService:GetUserCFrameEnabled(type:Enum.UserCFrame):boolean
매개 변수
반환
코드 샘플
VRService:GetUserCFrameEnabled
local VRService = game:GetService("VRService")
local isEnabled = VRService:GetUserCFrameEnabled(Enum.UserCFrame.Head)
if isEnabled then
print("VR 장치가 활성화되었습니다!")
else
print("VR 장치가 비활성화되었습니다!")
end

RecenterUserHeadCFrame
기능: Input
VRService:RecenterUserHeadCFrame():()
반환
()
코드 샘플
VRService:사용자 머리 CFrame 재조정
local VRService = game:GetService("VRService")
VRService:RecenterUserHeadCFrame()

RequestNavigation
기능: Input
VRService:RequestNavigation(
cframe:CFrame, inputUserCFrame:Enum.UserCFrame
):()
매개 변수
cframe:CFrame
inputUserCFrame:Enum.UserCFrame
반환
()
코드 샘플
VRService:RequestNavigation
local VRService = game:GetService("VRService")
local destination = workspace:FindFirstChild("NavigationDestination")
VRService:RequestNavigation(Enum.UserCFrame.Head, destination.CFrame)

SetTouchpadMode
기능: Input
VRService:SetTouchpadMode(
):()
반환
()
코드 샘플
VR서비스:터치패드모드설정
local VRService = game:GetService("VRService")
-- 터치패드 모드를 설정합니다.
VRService:SetTouchpadMode(Enum.VRTouchpad.Left, Enum.VRTouchpadMode.Touch)

이벤트
NavigationRequested
기능: Input
VRService.NavigationRequested(
cframe:CFrame, inputUserCFrame:Enum.UserCFrame
매개 변수
cframe:CFrame
inputUserCFrame:Enum.UserCFrame
코드 샘플
VRService.NavigationRequested
local VRService = game:GetService("VRService")
VRService.NavigationRequested:Connect(function(cframe, inputUserCFrame)
print(inputUserCFrame.Name .. " CFrame으로 요청을 했습니다: " .. cframe)
end)

TouchpadModeChanged
기능: Input
VRService.TouchpadModeChanged(
코드 샘플
VRService.TouchpadModeChanged
local VRService = game:GetService("VRService")
VRService.TouchpadModeChanged:Connect(function(pad, mode)
print(pad.Name .. " Touchpad이(가) 상태: " .. mode.Name .. "로 변경되었습니다.")
end)

UserCFrameChanged
기능: Input
VRService.UserCFrameChanged(
매개 변수
value:CFrame
코드 샘플
VRService.UserCFrameChanged
local VRService = game:GetService("VRService")
VRService.UserCFrameChanged:Connect(function(userCFrameType, cframeValue)
print(userCFrameType.Name .. " 변경되었습니다. 업데이트된 프레임: " .. tostring(cframeValue))
end)

UserCFrameEnabled
기능: Input
VRService.UserCFrameEnabled(
type:Enum.UserCFrame, enabled:boolean
매개 변수
enabled:boolean
코드 샘플
VRService.UserCFrameEnabled
local VRService = game:GetService("VRService")
VRService.UserCFrameEnabled:Connect(function(type, enabled)
if enabled then
print(type.Name .. "가 활성화되었습니다!")
else
print(type.Name .. "가 비활성화되었습니다!")
end
end)

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.