Hold your horses!
The question may seem simple - but as it's 11:30 where I'm at and I got a brainfart, I just need some help. See, I am using WorldToViewportPoint
and the camera's interpolate method - but...
...I do not know how to go about getting the players inside the game and constantly changing the camera with a loop/event to get it show all players while not making the camera FoV excessively large.
Kind of like Brawlhalla's camera where it constantly expands and decreases its range to fit all players within the screen. It zooms in when they're all bundled and zooms out when they're not.
Yeah, I'm using BindToRenderStep
if you were wondering as well. Pretty neat feature.
Anyways, thanks for helping.
Here's the code:
local Unity = require(game.ReplicatedStorage:WaitForChild("Unity.Api"))() --Ignore local Project_Arkadata = Unity:InitializeApplication("ArKaDatTa") --Ignore --// Initialization local RunService = game:GetService("RunService") local Player = game.Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:wait() local Camera = game.Workspace.CurrentCamera local offset = 2 --Me thinking of ways to manipulate camera to zoom in and out Camera.Focus = Player.Character.HumanoidRootPart.CFrame local function onRenderStepped() local target = game.Workspace.Part Camera.Focus = Player.Character.HumanoidRootPart.CFrame Camera.CameraType = Enum.CameraType.Scriptable if Character then local rootPart = Character.HumanoidRootPart Camera.CFrame = CFrame.new(target.Position + rootPart.Position) * CFrame.new(-18, 2, (Player:DistanceFromCharacter(target.Position))*offset) end end local function onCharacterAdded(character) --Just lazy to use online mode, solo mode less lag Character = character end local function ManageView() --Me thinking of ways to manipulate camera in and out for _,player in pairs (game.Players:GetChildren()) do local bool = Camera:WorldToViewportPoint(player.Character:WaitForChild("HumanoidRootPart").Position) if not bool then --This conditional won't do enough by itself...Hmmm offset = offset + 1 end end end if not game:GetRemoteBuildMode() then onCharacterAdded(Character) end Player.CharacterAdded:connect(onCharacterAdded)