Trilec Posted July 4, 2020 Share Posted July 4, 2020 Hi Superior brains, as I approach modelling methodologies, I've turn my attention towards VDB's In the below example I've used a grid (but this would be an arbitrary shape Convex/concave "2Shape") with a noise pattern to create heights for a later extrude; I then convert to VDB to "cleanup the geo" My question: is it possible to directly manipulate the VDB via VEX to do something similar without having to go through the conversion process (poly to VDB) One reason behind this is the shape I wish to extrude can be fairly complex and dense thus making the conversion process slow, so perhaps adding voxels or extruding/expanding/manipulating voxels is possible in some way? ( VDB Wrangle?), feels like this is not possible but never hurts to ask... unless its physical...;) Quote Link to comment Share on other sites More sharing options...
Librarian Posted July 4, 2020 Share Posted July 4, 2020 maybe It Helps Nice examples with Files. http://wordpress.discretization.de/houdini/ Quote Link to comment Share on other sites More sharing options...
Trilec Posted July 4, 2020 Author Share Posted July 4, 2020 (edited) Thanks Tesan, Seems the Volume Wrangle geometry node might be worth exploring, ideally I'm trying to avoid advanced mathematics but certainly there might be some tricks here that are interesting. I will need to find some some simple examples using this node to get a better understanding. I assume this means there's no direct manipulation of voxels as in VDB only volume voxels.. or are these the same? thanks again. Edited July 4, 2020 by Trilec Quote Link to comment Share on other sites More sharing options...
Librarian Posted July 4, 2020 Share Posted July 4, 2020 @Trilec here it's maybe Iso math some examples( scroll to find)file https://forums.odforce.net/topic/44999-on-growth-and-form/?page=4 Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted July 4, 2020 Share Posted July 4, 2020 Hi Curt, to shape a skyline you could write something like this into a volume wrangle: vector pos = set(v@P.x, 0.0, v@P.z); float dens = rand(floor(pos * 9.99)); f@density = v@P.y < dens; voxel_buildings.hipnc Quote Link to comment Share on other sites More sharing options...
Trilec Posted July 5, 2020 Author Share Posted July 5, 2020 thanks Konstantin , A nice simple example, It seems attribute transfer is problematic for volumes. I and trying to roll off at the edge and approched this with getOutsideGroups ...attribtransfer and attribpromote Is there a good way to get the same or similar with voxels (volumes) (soft rolling off to the lower edge)? thanks again Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted July 5, 2020 Share Posted July 5, 2020 A signed distance field already is a volume that 'fades out' towards its borders. So as soon as you go VDB-from-volumes and use 'distance VDB' you should get what you want. Or are you attempting to measure the distance from a voxel to an outline curve or anything? Quote Link to comment Share on other sites More sharing options...
Trilec Posted July 5, 2020 Author Share Posted July 5, 2020 (edited) Thanks, After further investigation, seems harder to control VDB than through pure poly mesh (for something like this) I was trying for an even roll as the shapes are arbitrary from bottom to top. Seems you can pass attributes via vdbfrompolygons , but not sure if this is the best solution as the vdb resolution with get very high. using vector rbox = relbbox( @P ); //boost the lower portion if(rbox.y < 0.06) density = 1; //shape f@density -= rbox.y *.2; In the wrangle I get a little way but it removes the top and bottom and falloff not quite there yet. Edited July 10, 2020 by Trilec added code Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.