Geometry nodes volume density field
When creating a volume (mesh to volume, points to volume etc) the density is a flat value. It's incredibly limiting when the power of volumes lays in their density values.
Ideally
the input of the volume density connection should be a field, allowing the id of each voxel to garner its density from whatever input ( eg distance/size of contributing point etc)
5 Comments
You can actually use the volume cube node for that, do a geometry proximity setup for mesh to volume or points to volume for same result and a bounding box for an optimized workflow. But I agree being able to directly tweak the density with regular volume nodes
I'd love to undertsand your thinking a little more here. As far as I'm aware the volume has a fixed density. I'm not talking about the shape as such, but varied density inside the volumes.
Volumes by default have fixed density, but you can change that with basically every field or attribute.
Ahh I see what you mean, but unfortunately the density is uneditable in custom volume shapes (Mesh>Volume, Points>Volume).
It's incredibly unfortunate, as the density socket of the "Volume Cube" node is a field and works as expected, but the equivalent socket of custom volumes is a flat field. There is no reason I can fathom that this should not be a field socket
The reason is that the voxel density is already determined by whether each voxel is inside or outside the mesh (or close to a point in the case of a "Points to Volume" node). If the socket was a field, then the values plugged in it would override that.
It could be implied that whatever field is plugged in would be multiplied by the inherent attribute of the node (inside/outside) but it would be more flexible and powerful to add a Voxel domain (along with Point/Edge/Face/Spline/Instance) so that we could use all the Attribute, Sample and other domain-dependent nodes to perform all kinds of operations on the density and other volume attributes (color, temperature, any custom attribute) after we generate volumes with either "Mesh to Volume", "Points to volume" or "Volume Cube".