0
$\begingroup$

This is an issue I found when I look for a solution for converting intersecting mesh objects to a single voxelated labeled array.

when applying the "remesh" modifier to intersecting surfaces, the intersection regions become cavities, and the exterior (joint) surface is no longer a single water-tight surface, showing holes that connect to the cavity.

In the below screenshot, I show two results using the remesh modifier to two intersecting spheres. On the bottom right, I first joined the two spheres and apply remesh, this gives me consistent voxelation (i.e. the spacing on the two objects is uniform) on the surface, but the intersecting region becomes a cavity - you can see the outer surface is also broken with holes.

remesh two spheres

On the bottom left, I applied remesh to two spheres separately. This way, the outer-surface is still water-tight (i.e. no holes, no cavities), but the voxelated surface is not consistent across two objects - the voxel of one object does not align with the voxel on the other.

I am wondering if

  1. is there a way to voxelize both exterior and intersecting surfaces of a joint multi-object mesh without having holes and cavities? or
  2. is there a way to voxelize multiple separate objects but with consistent voxel alignment?
$\endgroup$
3
  • 1
    $\begingroup$ It shouldn't be difficult with Geometry Nodes. You can use a Mesh Boolean to join both objects, then delete the intersection, merge by distances to clean up a little and, finally, use Instances on Point with a cube (you can align the rotation here) $\endgroup$
    – Vagabonk
    Commented Feb 4, 2023 at 22:28
  • 1
    $\begingroup$ Or separate the spheres into 2 objects and use the Boolean modifier on one of them to merge them. Then add the Remesh modifier to voxelize it. $\endgroup$
    – Blunder
    Commented Feb 5, 2023 at 0:55
  • $\begingroup$ thank you both for your comments! @Vagabonk, can you let me know what do you mean by "mesh boolean"? were your referring to the boolean modifier? Blunder, I would like to know how to "separate the sphere into 2 objects" - they are already two separate objects - are you saying unjoin them? $\endgroup$
    – FangQ
    Commented Feb 5, 2023 at 15:15

1 Answer 1

0
$\begingroup$

I was talking about this:

enter image description here

With Geometry Nodes, you have better control over everything, and you can align the rotation as you see fit. My example is poor and just shows the possibilities. I used the modifier on a cube and then dragged and dropped the two overlapping spheres. However, you can also select one of the spheres and apply the modifier to it, and then drag and drop the other one.

enter image description here

$\endgroup$
2
  • $\begingroup$ thanks, one thing I notice that your voxel size is not uniform, another issue is that your voxelated surfaces of the two spheres are not aligned on the same voxel grid - you see some of the voxels are half-way from the voxels of the other object. can both of these be resolved with geometry nodes? $\endgroup$
    – FangQ
    Commented Feb 11, 2023 at 4:25
  • 1
    $\begingroup$ Well, as I said, my example was very lazy. I think that this is exactly what you want: youtube.com/watch?v=QYmiY0B42c0 (a 3d GRID). You just need to join the objects with a boolean modifier set as "union" and use that instead of the TEXT. $\endgroup$
    – Vagabonk
    Commented Feb 11, 2023 at 21:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .