Вот пример скрипта для Roblox Studio на языке Luau, который изменяет положение камеры при прикосновении игрока к блоку:
1. Создание базовой структуры
Перейдите в Roblox Studio.
Добавьте объект Part в Workspace.
Убедитесь, что у объекта включён параметр CanCollide и Anchored.
Внутри объекта Part добавьте Script.
2. Скрипт изменения положения камеры
Вставьте этот код в скрипт внутри блока:
-- Получаем ссылку на блок
local block = script.Parent
-- Функция для изменения камеры
local function changeCamera(hit)
-- Проверяем, прикоснулся ли игрок
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
-- Получаем текущую камеру
local camera = workspace.CurrentCamera
-- Задаём новое положение камеры
camera.CameraType = Enum.CameraType.Scriptable -- Переключение камеры на скриптовую
camera.CFrame =
CFrame.new (
Vector3.new (0, 50, 0),
Vector3.new (0, 0, 0)) -- Новая позиция камеры
-- Через несколько секунд вернуть стандартный вид камеры
wait(3) -- Время задержки
camera.CameraType = Enum.CameraType.Custom -- Вернуть управление игроку
end
end
-- Подключаем событие касания блока
block.Touched:Connect(changeCamera)
3. Что делает этот код:
Определяет событие "прикосновение" (Touched):
Проверяет, какой объект касается блока.
Определяет, принадлежит ли объект персонажу игрока.
Изменяет камеру:
Устанавливает тип камеры на Scriptable.
Меняет положение и направление камеры с помощью CFrame.
Возвращает стандартное управление камерой:
Через 3 секунды возвращает камеру в режим Custom (управление игрока).
4. Настройка положения камеры
Измените параметры в этой строке, чтобы задать нужное положение:
camera.CFrame =
CFrame.new (
Vector3.new (0, 50, 0),
Vector3.new (0, 0, 0))
Первый параметр: положение камеры в пространстве.
Второй параметр: направление, куда смотрит камера.