🐙

【Roblox】カメラをスクリプトで操作し簡単なカットシーンを作成する方法

2024/07/30に公開

はじめに

今回はカメラをTweenServiceで移動させ簡単なカットシーンを作成する方法を共有します。

公式Reference

https://create.roblox.com/docs/reference/engine/classes/Camera

実装

オブジェクト配置

カメラの演出開始位置になるPartと演出を開始するProximityPromptPartを配置します。

各パーツにはAnchordを設定する。

コード

コードを配置

local TweenService = game:GetService("TweenService")
local currentCamera = workspace.CurrentCamera

local samplePrompt = workspace.SampleButton.ProximityPrompt
local sampleCamera = workspace.SampleCamera

local toggle = false

samplePrompt.Triggered:Connect(function(player)
	if toggle == false then
		toggle = true
		currentCamera.CameraType = Enum.CameraType.Scriptable
        --演出の初期位置まで移動
		currentCamera.CFrame = sampleCamera.CFrame
        --初期位置から前方向に移動させる
		local tween = TweenService:Create(currentCamera, TweenInfo.new(2), {CFrame = sampleCamera.CFrame + Vector3.new(50, 0, 0)})
		tween:Play()
	elseif toggle == true then
		toggle = false
        --通常のカメラモードに戻す
		currentCamera.CameraType = Enum.CameraType.Custom
	end
end)

ProximityPromptをトグルにする事でオンオフの切り替えができるようになってます。

Enum.CameraType設定でカメラに様々な影響を与えることができそうです。

参考になる記事はこちら↓

https://zenn.dev/moze_ai/articles/roblox-camera-type-scriptable

TweenService関連の記事はこちら

https://zenn.dev/landel_tech/articles/724c99f95ef78e

https://zenn.dev/landel_tech/articles/fb579a75d1f285

実行

https://youtu.be/3ccsNrLnVbE

Landelテックブログ

Discussion