How to make a tree generator

Hello,
How do I make it go like this


Instead of this

(And on a 3d level)
Because this is what I have

If I make the random orientations even larger it will go crazy and unrealistic
Here’s my script

local e = workspace.Part
local a = Instance.new("Part",workspace)
a.Size=Vector3.new(e.Size.X,math.random(30,50)/10,e.Size.Z)
a.Position=e.Position-Vector3.new(0,e.Size.Y/2,0)+Vector3.new(0,a.Size.Y/2,0)
a.Anchored=true
local b = Instance.new("Part",workspace)
b.Anchored = true
b.Size=Vector3.new(a.Size.X*.9,a.Size.Y*math.random(30,45)/10,a.Size.Z*.9)
b.CFrame=CFrame.new(a.Position+a.CFrame.UpVector*(a.Size.Y/2))*CFrame.Angles(math.rad(math.random(-10,10)),math.rad(math.random(-10,10)),math.rad(math.random(-10,10)))*CFrame.new(0,b.Size.Y/2,0)
for i=1,2 do
	local c = Instance.new("Part",workspace)
	c.Anchored = true
	c.Size=Vector3.new(a.Size.X*.8,math.random(40,65)/10,a.Size.Z*.8)
	c.CFrame=CFrame.new(b.Position+b.CFrame.UpVector*(b.Size.Y/2))*CFrame.Angles(math.rad(math.random(-25,25)),math.rad(math.random(-25,25)),math.rad(math.random(-25,25)))*CFrame.new(0,c.Size.Y/2,0)
	for i=1,math.random(2,3) do
		local d = Instance.new("Part",workspace)
		d.Anchored = true
		d.Size=Vector3.new(a.Size.X*.4,math.random(60,85)/10,a.Size.Z*.4)
		d.CFrame=CFrame.new(c.Position+c.CFrame.UpVector*(c.Size.Y/2))*CFrame.Angles(math.rad(math.random(-65,65)),math.rad(math.random(-65,65)),math.rad(math.random(-65,65)))*CFrame.new(0,d.Size.Y/2,0)
		for i=1,math.random(2,3) do
			local e = Instance.new("Part",workspace)
			e.Anchored = true
			e.Size=Vector3.new(d.Size.X/1.5,math.random(60,85)/10,d.Size.Z/1.5)
			e.CFrame=CFrame.new(d.Position+d.CFrame.UpVector*(d.Size.Y/2))*CFrame.Angles(math.rad(math.random(-65,65)),math.rad(math.random(-65,65)),math.rad(math.random(-65,65)))*CFrame.new(0,e.Size.Y/2,0)
		end
	end
end

- br, iSyriux

  1. Add the Default Tree in ReplicatedStorage and make sure the parts are ungrouped
  2. Add a script that randoms an Orientation for each Children inside of the Tree that is the Parent
  3. Make the script clone it on a random position inside the area of the map or whatever

If this helped you mark this as a Solution

Hello,

Group the Leafs with the part connected to it and make the same steps as the last post