- プレイヤーカメラの設定: まず、プレイヤーカメラを設定する必要があります。これにより、プレイヤーがゲーム内の世界を見ることができます。以下は、プレイヤーカメラを設定するコード例です。
-- スクリプトをプレイヤーに配置して実行します
local player = game.Players.LocalPlayer
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame = player.Character.HumanoidRootPart.CFrame
- マウスの動きに応じた視点の回転: 一人称視点では、プレイヤーのマウスの動きに応じて視点を回転させることができます。以下は、マウスの動きに応じて視点を回転させるコード例です。
-- スクリプトをプレイヤーに配置して実行します
local player = game.Players.LocalPlayer
local camera = game.Workspace.CurrentCamera
local sensitivity = 0.2 -- 回転の感度
game:GetService("UserInputService").MouseMoved:Connect(function(input)
local delta = input.Delta
camera.CFrame = camera.CFrame * CFrame.Angles(0, -delta.X * sensitivity, 0)
end)
- プレイヤーの移動と視点の同期: 一人称視点では、プレイヤーの移動に応じて視点も一緒に動く必要があります。以下は、プレイヤーの移動と視点の同期を行うコード例です。
-- スクリプトをプレイヤーに配置して実行します
local player = game.Players.LocalPlayer
local camera = game.Workspace.CurrentCamera
local sensitivity = 0.2 -- 回転の感度
local speed = 16 -- 移動速度
game:GetService("UserInputService").MouseMoved:Connect(function(input)
local delta = input.Delta
camera.CFrame = camera.CFrame * CFrame.Angles(0, -delta.X * sensitivity, 0)
end)
game:GetService("UserInputService").InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
player.Character.Humanoid:Move(Vector3.new(0, 0, -speed))
elseif input.KeyCode == Enum.KeyCode.S then
player.Character.Humanoid:Move(Vector3.new(0, 0, speed))
elseif input.KeyCode == Enum.KeyCode.A then
player.Character.Humanoid:Move(Vector3.new(-speed, 0, 0))
elseif input.KeyCode == Enum.KeyCode.D then
player.Character.Humanoid:Move(Vector3.new(speed, 0, 0))
end
end)
上記のコード例は、一人称視点を作成するための基本的な手法です。必要に応じて、カメラの移動や回転の感度、プレイヤーの移動速度などを調整してください。また、これらのコードをゲーム内の適切な場所に配置し、実行する必要があります。
これらの方法を使用すると、Robloxで一人称視点を作成することができます。ゲームプレイヤーは自分の目線からゲーム内の世界を体験することができるでしょう。