Для создания камеры в Roblox Studio, как в игре "Doors", где тело следит за мышкой в первом лице, можно использовать следующий скрипт:
1. Создайте LocalScript в `StarterPlayerScripts`.
2. Вставьте следующий код в LocalScript:
```lua
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local camera = game.Workspace.CurrentCamera
local torso = character:WaitForChild("Torso")
local head = character:WaitForChild("Head")
-- Обработчик обновления камеры
game:GetService("RunService").RenderStepped:Connect(function()
-- Установка позиции камеры
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame =
CFrame.new (head.Position) * CFrame.Angles(0, math.rad(180), 0)
-- Поворот головы и торса
local mouse = player:GetMouse()
local targetPosition =
Vector3.new (mouse.Hit.p.x, torso.Position.y, mouse.Hit.p.z)
local lookVector = (targetPosition - torso.Position).unit
torso.CFrame =
CFrame.new (torso.Position, torso.Position + lookVector)
head.CFrame =
CFrame.new (head.Position, head.Position + lookVector)
end)
```
Объяснение:
- Скрипт устанавливает камеру в режим `Scriptable`.
- Каждое обновление кадра (`RenderStepped`) будет обновлять положение камеры и поворот торса и головы к позиции мыши.
- Ноги не будут поворачиваться, так как они не включены в код.
Примечания:
- Убедитесь, что у вашего персонажа есть части `Torso` и `Head`. В новых моделях персонажей вместо `Torso` может быть `UpperTorso` и `LowerTorso`.
- Не забудьте протестировать скрипт в игре, чтобы убедиться, что он работает корректно.