Geometry Nodes: Make Import PLY node handle gsplats

The goal is to make it easy to import gsplats in geometry nodes,
without extra manual setup. Ideally, it should be possible to
drop PLY file into the node editor and it would import as either
mesh or gsplat depending on the actual file content.

The easiest way of doing so is to make the existing PLY node a
bit more flexible: name the output socket "Geometry" and detect
the PLY type automatically. This mimics the behavior when the
PLY file is imported via the File menu (or by dropping the file
into the viewport).

The alternative of either using separate node or an explicit
import type on the node was considered, but both approaches have
a downside due to the way how the import currently works: there is
currently no way to analyze the file before creating node, so it
will be quite tricky to implement logic which creates proper node
or sets the import type. There are also ease-of-use concerns.

The Mesh output was renamed to Geometry, but kept its old Mesh as
an identifier so that old files keep working without extra
versioning, and scripts do not break.

An utility was added to the PLY module to return result as a
GeometrySet component, making it easier to integrate into the
node.

Pull Request: https://projects.blender.org/blender/blender/pulls/163624
This commit is contained in:
Sergey Sharybin 2026-09-10 19:54:33 +02:00 • committed by Sergey Sharybin
parent 472bf1444b
commit 1bd98e9649
8 changed files with 72 additions and 38 deletions

View file

@ -89,6 +89,7 @@ class TestBlendFileOpenLinkSaveAllTestFiles(TestHelper):
# modeling/geometry_nodes/import/import_ply.blend
# Error: on reload, 'read_ply_to_mesh: PLY Importer: icosphere: Invalid PLY header.'
"import_ply.blend",
"import_ply_gsplat.blend",
# modeling/geometry_nodes/import/import_stl.blend
# Error: on reload,