Informacje o wersji
Edukacja
Klasa silnika
VRService
Brak możliwości tworzenia
Usługa

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Przykłady kodu
VRService
local VRService = game:GetService("VRService")
local part = workspace.Part
local handOffset = VRService:GetUserCFrame(Enum.UserCFrame.LeftHand)
-- Uwzględnij skalę głowy
handOffset = handOffset.Rotation + handOffset.Position * workspace.CurrentCamera.HeadScale
part.CFrame = workspace.CurrentCamera.CFrame * handOffset

Materiały referencyjne dotyczące interfejsów API
Właściwości
AutomaticScaling
Odczyt równoległy
Możliwości: Input
VRService.AutomaticScaling:Enum.VRScaling

AvatarGestures
Odczyt równoległy
Możliwości: Input
VRService.AvatarGestures:boolean

ControllerModels
Odczyt równoległy
Możliwości: Input
VRService.ControllerModels:Enum.VRControllerModelMode

FadeOutViewOnCollision
Odczyt równoległy
Możliwości: Input
VRService.FadeOutViewOnCollision:boolean

GuiInputUserCFrame
Bez replikacji
Odczyt równoległy
Możliwości: Input
VRService.GuiInputUserCFrame:Enum.UserCFrame
Przykłady kodu
VRService.GuiInputUserCFrame
local VRService = game:GetService("VRService")
if VRService.VREnabled then
print(VRService.GuiInputUserCFrame.Name)
else
print("Nie wykryto urządzenia VR!")
end

LaserPointer
Odczyt równoległy
Możliwości: Input
VRService.LaserPointer:Enum.VRLaserPointerMode

ThirdPersonFollowCamEnabled
Tylko do odczytu
Bez replikacji
Odczyt równoległy
Możliwości: Input
VRService.ThirdPersonFollowCamEnabled:boolean

VREnabled
Tylko do odczytu
Bez replikacji
Odczyt równoległy
Możliwości: Input
VRService.VREnabled:boolean
Przykłady kodu
Śledzenie głowy 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
-- Ustaw początkowy CFrame
head.CFrame = VRService:GetUserCFrame(Enum.UserCFrame.Head)
-- Śledź ruch zestawu VR i odzwierciedlaj go dla głowy postaci
VRService.UserCFrameChanged:Connect(TrackHead)
end

Metody
GetTouchpadMode
Możliwości: Input
VRService:GetTouchpadMode(pad:Enum.VRTouchpad):Enum.VRTouchpadMode
Parametry
Przykłady kodu
VRService:GetTouchpadMode
local VRService = game:GetService("VRService")
-- Pobierz tryb dotykowy VRTouchpad.Left
VRService:GetTouchpadMode(Enum.VRTouchpad.Left)

GetUserCFrame
Możliwości: Input
VRService:GetUserCFrame(type:Enum.UserCFrame):CFrame
Parametry
Zwroty
Przykłady kodu
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)
-- Uwaga na skalę głowy
handOffset = handOffset.Rotation + handOffset.Position * camera.HeadScale
part.CFrame = camera.CFrame * handOffset

GetUserCFrameEnabled
Możliwości: Input
VRService:GetUserCFrameEnabled(type:Enum.UserCFrame):boolean
Parametry
Zwroty
Przykłady kodu
VRService:GetUserCFrameEnabled
local VRService = game:GetService("VRService")
local isEnabled = VRService:GetUserCFrameEnabled(Enum.UserCFrame.Head)
if isEnabled then
print("Urządzenie VR jest włączone!")
else
print("Urządzenie VR jest wyłączone!")
end

RecenterUserHeadCFrame
Możliwości: Input
VRService:RecenterUserHeadCFrame():()
Zwroty
()
Przykłady kodu
VRService:PrzesuńCFrameGłowyUżytkownika
local VRService = game:GetService("VRService")
VRService:RecenterUserHeadCFrame()

RequestNavigation
Możliwości: Input
VRService:RequestNavigation(
cframe:CFrame, inputUserCFrame:Enum.UserCFrame
):()
Parametry
cframe:CFrame
inputUserCFrame:Enum.UserCFrame
Zwroty
()
Przykłady kodu
VRService:RequestNavigation
local VRService = game:GetService("VRService")
local destination = workspace:FindFirstChild("NavigationDestination")
VRService:RequestNavigation(Enum.UserCFrame.Head, destination.CFrame)

SetTouchpadMode
Możliwości: Input
VRService:SetTouchpadMode(
):()
Zwroty
()
Przykłady kodu
VRService:SetTouchpadMode
local VRService = game:GetService("VRService")
VRService:SetTouchpadMode(Enum.VRTouchpad.Left, Enum.VRTouchpadMode.Touch)

Zdarzenia
NavigationRequested
Możliwości: Input
VRService.NavigationRequested(
cframe:CFrame, inputUserCFrame:Enum.UserCFrame
Parametry
cframe:CFrame
inputUserCFrame:Enum.UserCFrame
Przykłady kodu
VRService.NavigationRequested
local VRService = game:GetService("VRService")
VRService.NavigationRequested:Connect(function(cframe, inputUserCFrame)
print(inputUserCFrame.Name .. " wysłał żądanie z CFrame: " .. cframe)
end)

TouchpadModeChanged
Możliwości: Input
VRService.TouchpadModeChanged(
Przykłady kodu
VRService.TouchpadModeChanged
local VRService = game:GetService("VRService")
VRService.TouchpadModeChanged:Connect(function(pad, mode)
print(pad.Name .. " Touchpad zmienił stan na: " .. mode.Name)
end)

UserCFrameChanged
Możliwości: Input
VRService.UserCFrameChanged(
Parametry
value:CFrame
Przykłady kodu
VRService.UserCFrameChanged
local VRService = game:GetService("VRService")
VRService.UserCFrameChanged:Connect(function(userCFrameType, cframeValue)
print(userCFrameType.Name .. " zmienione. Zaktualizowana ramka: " .. tostring(cframeValue))
end)

UserCFrameEnabled
Możliwości: Input
VRService.UserCFrameEnabled(
type:Enum.UserCFrame, enabled:boolean
Parametry
enabled:boolean
Przykłady kodu
VRService.UserCFrameEnabled
local VRService = game:GetService("VRService")
VRService.UserCFrameEnabled:Connect(function(type, enabled)
if enabled then
print(type.Name .. " został włączony!")
else
print(type.Name .. " został wyłączony!")
end
end)

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.