Ivan_Nert
Профи
(500)
1 месяц назад
В Roblox Studio можно закрепить камеру на объекте при нажатии на него, используя скрипт. Для этого нужно:
1. **Получить камеру игрока.**
2. **Настроить поведение камеры.**
3. **Отслеживать событие нажатия на объект.**
4. **Закрепить камеру на объекте.**
Пример кода:
1. Вставь в объект, на который нужно кликать, скрипт:
```lua
-- Получаем объект на сцене
local object = script.Parent
-- Получаем игрока и его камеру
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
-- Функция для закрепления камеры на объекте
local function lockCameraOnObject()
-- Настраиваем камеру
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame = object.CFrame
end
-- Добавляем событие клика по объекту
object.ClickDetector.MouseClick:Connect(function()
lockCameraOnObject()
end)
```
2. Добавь к объекту компонент `ClickDetector`, чтобы отслеживать нажатие мышкой.
### Как это работает:
- **ClickDetector** позволяет объекту реагировать на нажатия.
- **CameraType = Scriptable** — даёт возможность управлять положением камеры через скрипт.
- **CFrame** камеры изменяется на позицию объекта, чтобы камера "смотрела" на него.
Если нужно вернуть камеру к обычному виду после какого-то события, можно сделать это так:
```lua
local function unlockCamera()
camera.CameraType = Enum.CameraType.Custom -- Вернёт стандартное поведение камеры
end
```
Этот скрипт закрепит камеру на объекте при клике и позволит её потом разблокировать.