I am having issues displaying multiple viewport frames at one time.
They both appear inside of PlayerGui, and they both are set to adornee the correct parts, but only one of them is ever displayed, and it is random which one it is. The non-working one just shows white.
My Code:
Code
local ViewportHandler = require(script.ViewportHandler)
local gui = script.Parent
local guis = {}
local cameras = {}
local handlers = {}
for _,v in pairs(workspace.TV_Displays:GetChildren()) do
local surfacegui = Instance.new("SurfaceGui")
surfacegui.Parent = game.Players.LocalPlayer.PlayerGui
surfacegui.Adornee = v.Screen
surfacegui.Face = Enum.NormalId.Front
print("Made tv screen number: " .. _)
local Frame = Instance.new("ViewportFrame")
Frame.Parent = surfacegui
Frame.Name = "ViewportFrame"
Frame.Size = UDim2.new(1,0,1,0)
table.insert(guis,surfacegui)
for x,w in pairs(cameras) do
if w.CFrame == v.CameraLocation.Value.CFrame then
Frame.CurrentCamera = w
end
end
if Frame.CurrentCamera == nil then
local Camera = Instance.new("Camera")
Camera.CFrame = v.CameraLocation.Value.CFrame
table.insert(cameras,Camera)
end
local handler = ViewportHandler.new(Frame)
handler:RenderObject(workspace.Baseplate)
handler:RenderHumanoid(game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait())
end