Плавная камера, разблокировка курсора на клавишу f, LUA

Всем привет! Не могу решить проблему, нужно написать скрипт на LUA для Roblox studio, что бы можно было разблокировать курсор на клавишу f, то есть что бы можно было водить курсором по экрану по нажатию на клавишу f, и когда снова нажму на f, то курсор заблокируется, и он был только для передвижения камеры с помощью компьютерной мыши, и хотел сделать плавный поворот камеры, с помощью smoothness, помогите пожалуйста, заранее всем спасибо.


Ответы (2 шт):

Автор решения: mr. Derevomot

Самый простой способ это использование GUI элемента, добавь TextButton и поставь параметр Modal на true. Это костыль.Можно просто поменять тип камеры на Scriptable.(local script):

  1. local Camera = game.Workspace.CurrentCamera

  2. Camera.CameraType = Enum.CameraType.Scriptable

→ Ссылка
Автор решения: Санек Ваулин
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local isMouseFree = false

UIS.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.M then
        isMouseFree = not isMouseFree
        if isMouseFree then
            UIS.MouseBehavior = Enum.MouseBehavior.Default
            RunService:BindToRenderStep("UnlockMouse", 
Enum.RenderPriority.Camera.Value + 1, function()
                UIS.MouseIconEnabled = true
                UIS.MouseBehavior = Enum.MouseBehavior.Default
            end)
        else
            UIS.MouseBehavior = Enum.MouseBehavior.LockCenter
            RunService:UnbindFromRenderStep("UnlockMouse")
        end
    end
end)

Вставь этот код в папку со скриптами игрока (если актуально), у меня у базового игрока указано что камера зафиксирована только от первого лица если что. Теперь на M можно сделать это, в коде можешь изменить букву на свою. Если актуальный вопрос - пользуйся, если нет - то люди читающие это, надеюсь вам это понадобится!

→ Ссылка