Cloning model for viewport GUI but can't edit position

I would like to have my model positioned in the viewport frame, but because the positioning on all the parts in the model are waked, its not positioned properly in the viewport frame. Iv’e tried to use primary parts and set them accordingly, but it did not work.

https://gyazo.com/b7257779dd793f2ea4430857ac1a3fe7

The gif shows me repositioning one of my characters parts and it working, but I can’t just set them all to 0,0,0.

I would like more clarity on this line of code to in the explanation anyone gives.
viewportCamera.CFrame = CFrame.new(Vector3.new(0, 0, 0), body.PrimaryPart.Position)

You should do
viewportCamera.CFrame = CFrame.new(body,PrimaryPart.Position + Vector3.new(0,0,3), body.PrimaryPart.Position)

Hey, this did not work, though I can share the code with you for more detail, and if possible could you tell me why you believed the above fix you gave me should have worked ? thanks!
local viewportFrame = Instance.new(“ViewportFrame”)

viewportFrame.AnchorPoint = Vector2.new(0.5, 0.5)

viewportFrame.Position = UDim2.new(0.5, 0, 0.5, 0)

viewportFrame.Size = UDim2.new(0.2, 0, 0.5, 0)

viewportFrame.BorderSizePixel = 0

viewportFrame.BackgroundTransparency = 1

viewportFrame.Parent = script.Parent

viewportFrame.Name = 'viewportFrame'

game.Workspace:WaitForChild(game.Players.LocalPlayer.Name).Archivable = true

local body = game.Workspace:WaitForChild(game.Players.LocalPlayer.Name):WaitForChild("HumanoidRootPart").Parent:Clone()

game.Workspace:WaitForChild(game.Players.LocalPlayer.Name).Archivable = false

body.Parent = viewportFrame

local part = Instance.new('Part')

body.PrimaryPart = part

part.Position = Vector3.new(0, 0, 0)

part.Parent = viewportFrame

part.Transparency = 1

--body:SetPrimaryPartCFrame(CFrame.new(Vector3.new(0, 0, 0)))

local viewportCamera = Instance.new("Camera")

viewportCamera.Name = 'Camera'

viewportFrame.CurrentCamera = viewportCamera

viewportCamera.Parent = viewportFrame

viewportCamera.CFrame = CFrame.new(body.PrimaryPart.Position + Vector3.new(0,0,3), body.PrimaryPart.Position)