Here is what I’ve got so far in order to cache the verticies:
local function Liquidize(part: MeshPart)
local mesh = game.AssetService:CreateEditableMeshAsync(part.MeshId)
mesh.Parent = part; mesh.Name = 'EffectMesh'
local MeshVerticies = {}
for _, VertexID in mesh:GetVertices() do
MeshVerticies[VertexID] =
{
Position = mesh:GetPosition(VertexID),
Viscoscity = 1,
NextdoorVerticies = {}
}
end
for _, TriangleID in mesh:GetTriangles() do
local tVerts = {mesh:GetTriangleVertices(TriangleID)}
for _, VertexId in tVerts do
if MeshVerticies[VertexId].NextdoorVerticies[VertexId] then
table.insert(MeshVerticies[VertexId].NextdoorVerticies[VertexId], TriangleID)
else
MeshVerticies[VertexId].NextdoorVerticies[VertexId] = {TriangleID}
end
end
end
end
How can I use the viscoscity values in order to create a natural liquid?