local d=instance("\067\097\109\101\114\097")local R={MeshPart=true,Part=true;Accoutrement=true,Pants=true;Shirt=true,Humanoid=true;UnionOperation=true}local function v(d,v,b)local x=d:GetDescendants()for d=1,#x,1 do local b=x[d]if R[b.ClassName]then local d=b.Archivable b.Archivable=true local R=b:Clone()b.Archivable=d if R.ClassName=="\080\097\114\116"or R.ClassName=="\077\101\115\104\080\097\114\116"then R.CanCollide=false end if b.ClassName=="\077\101\115\104\080\097\114\116"or b.ClassName=="\080\097\114\116"then PartUpdater=RunService.Heartbeat:Connect(function()if b then R.CFrame=b.CFrame else R:Destroy()PartUpdater:Disconnect()end end)elseif b:IsA("\065\099\099\111\117\116\114\101\109\101\110\116")then PartUpdater=RunService.Heartbeat:Connect(function()if b then if R.Handle then R.Handle.CFrame=b.Handle.CFrame end else R:Destroy()PartUpdater:Disconnect()end end)elseif b.ClassName=="\072\117\109\097\110\111\105\100"then R:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)R:SetStateEnabled(Enum.HumanoidStateType.Running,false)R:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics,false)R:SetStateEnabled(Enum.HumanoidStateType.Climbing,false)R:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics,false)R:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)R:SetStateEnabled(Enum.HumanoidStateType.GettingUp,false)R:SetStateEnabled(Enum.HumanoidStateType.Jumping,false)R:SetStateEnabled(Enum.HumanoidStateType.Landed,false)R:SetStateEnabled(Enum.HumanoidStateType.Flying,false)R:SetStateEnabled(Enum.HumanoidStateType.Freefall,false)R:SetStateEnabled(Enum.HumanoidStateType.Seated,false)R:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding,false)R:SetStateEnabled(Enum.HumanoidStateType.Dead,false)R:SetStateEnabled(Enum.HumanoidStateType.Swimming,false)R:SetStateEnabled(Enum.HumanoidStateType.Physics,false)end R.Parent=v end end end
--Create the viewport camera
local Camera = instance("Camera")

local ValidClasses = {
	["MeshPart"] = true,
	["Part"] = true,
	["Accoutrement"] = true,
	["Pants"] = true,
	["Shirt"] = true,
	["Humanoid"] = true,
	["UnionOperation"] = true,
}

local function RenderHumanoid(Model, Parent, MainModel)
	local ModelParts = Model:GetDescendants()
	for i = 1, #ModelParts do
		local Part = ModelParts[i]

		if ValidClasses[Part.ClassName] then
			local a = Part.Archivable
			Part.Archivable = true

			local RenderClone = Part:Clone()
			Part.Archivable = a

			if RenderClone.ClassName == "Part" or RenderClone.ClassName == "MeshPart" then
				RenderClone.CanCollide = false
				--RenderClone.Anchored = true;
			end

			if Part.ClassName == "MeshPart" or Part.ClassName == "Part" then
				PartUpdater = RunService.Heartbeat:Connect(function()
					if Part then
						RenderClone.CFrame = Part.CFrame
					else
						RenderClone:Destroy()
						PartUpdater:Disconnect()
					end
				end)
			elseif Part:IsA("Accoutrement") then
				PartUpdater = RunService.Heartbeat:Connect(function()
					if Part then
						if RenderClone.Handle then
							RenderClone.Handle.CFrame = Part.Handle.CFrame
						end
					else
						RenderClone:Destroy()
						PartUpdater:Disconnect()
					end
				end)
			elseif Part.ClassName == "Humanoid" then
				--Disable all states. We only want it for clothing wrapping, not for stupid @$$ performance issues
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Running, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Landed, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Flying, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Freefall, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
				RenderClone:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
			end

			RenderClone.Parent = Parent
		end
	end
end
