Issue with generating icosahedron


local vertices = {

	Vector3.new(-1, golden_ratio, 0),
	Vector3.new(1, golden_ratio, 0),
	Vector3.new(-1, -golden_ratio, 0),
	Vector3.new(1, -golden_ratio, 0),

	Vector3.new(0, -1, golden_ratio),
	Vector3.new(0, 1, golden_ratio),
	Vector3.new(0, -1, -golden_ratio),
	Vector3.new(0, 1, -golden_ratio),

	Vector3.new(golden_ratio, 0, -1),
	Vector3.new(golden_ratio, 0, 1),
	Vector3.new(-golden_ratio, 0, -1),
	Vector3.new(-golden_ratio, 0, 1)

}

local triangles = {

	{0, 11, 5},
	{0, 5, 1},
	{0, 1, 7},
	{0, 7, 10},
	{0, 10, 11},
	{1, 5, 9},
	{5, 11, 4},
	{11, 10, 2},
	{10, 7, 6},
	{7, 1, 8},
	{3, 9, 4},
	{3, 4, 2},
	{3, 2, 6},
	{3, 6, 8},
	{3, 8, 9},
	{4, 9, 5},
	{2, 4, 11},
	{6, 2, 10},
	{8, 6, 7},
	{9, 8, 1}
}



local function generate_icosahedron()
	
	local editable_mesh = asset_service:CreateEditableMesh()
	
	for vertex = 1, #vertices do
		editable_mesh:AddVertex(vertices[vertex])
	end
	
	for _, group in triangles do
		editable_mesh:AddTriangle(group[1], group[2], group[3])
	end
	
end


generate_icosahedron()

so ive followed an article about generating an icosahedron, copied the vertex positions and triangle vertex groups, yet i get an error “Unable to add new triangle, vertex id 0 is invalid”

lua array is 1-based indexing. try make all triangle index + 1

ive done that, but instead of returning vertex id 0 is invalid, it returns vertex id 1 is invalid

i see. AddVertex will return a number which i think is the “internal index”

so we store them

local vertexIndice = {}
…
	for vertex = 1, #vertices do
		table. insert ( vertexIndice, editable_mesh:AddVertex(vertices[vertex]) )
	end
	
	for _, group in triangles do
		editable_mesh:AddTriangle(vertexIndice[ group[1]], vertexIndice[group[2]], vertexIndice[group[3]])
	end

yeah ive actually done this before you replied but thanks, its similar to what i did but i didnt use table insert

EDIT: ill mark you as the solution