Does anyone know how to make a player view like in League Of Legends?

  1. What do you want to achieve?
    I want to know how to do it or if someone is kind enough to go in a discord call and help me i will be grateful.

  2. What is the issue?
    I have tried to make my own but it didn’t work then i tried finding some other scripts online that i tried changing in and it wouldn’t Cooperate

  3. What solutions have you tried so far?
    I looked all over the internet yesterday and i couldn’t find anything about it.

Try creating a part (the camera) and setting the position to how you would like it, then set the camera’s cframe to that part

sorry i’m pretty new to coding can you explain it a little better?

A while ago I made a top down shooter prototype, might not be the best way of solving this but here is how I made the top down camera.

Essentially, every time a players character joins the workspace, I would:

  1. Create a new part
  2. Make the part point down, cast no shadow, parent it workspace etc

Then on every render step I would:

  1. Set the cameraPart CFrame to the roots cframe with a height elevation and moved back a little bit, then make it lookat the characters root
  2. Set the cameras CFrame property equal to the parts CFrame

Place a local script inside of the StarterCharacterScripts

local Players  = game:GetService("Players")
local RunService = game:GetService("RunService")

local camera = game.Workspace.CurrentCamera

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local root = character:WaitForChild("HumanoidRootPart")

-- Create the camera part
local cameraPart = Instance.new("Part")
cameraPart.Orientation = Vector3.new(-60, 0, 0)
cameraPart.Transparency = 1
cameraPart.CanCollide = false
cameraPart.CastShadow = false
cameraPart.Parent = workspace

camera.CameraType = Enum.CameraType.Scriptable

local function onStep()
	cameraPart.CFrame = CFrame.new(Vector3.new(root.Position.X, 50, root.Position.Z + 20), Vector3.new(root.Position.X, 1, root.Position.Z))
	camera.CFrame = cameraPart.CFrame
end

RunService.RenderStepped:Connect(onStep)
1 Like

DKLeon,
you’ll wanna run that on heartbeat with potentially some lerping
and you’ll wanna disconnect the runservice event when the player dies

Heartbeat runs at the end of each frame, RenderStepped at the very start, hence why RenderStepped is recommended specifically for camera manipulation. Just FYI.

i know but there’s no real reason to use renderstepped here, heartbeat + lerping should suffice

if ur new watch these vids: