OpenVDB remesh

Yeah I have similar problem on 2.79 daily but it works just fine on 2.8.
Tried coping 2.8 files on top of 2.79 but it didn’t work for me.

I uploaded vdb_remesh_b2.79-beta-win64 to Gumroad, which includes Python 3.7 version and is updated to have some of the same features as the 2.80 version.

2 Likes

Works flawlessly! Thank you!

Hi @ambi,

In Windows 10’s Paint 3D there’s a freeform 2D drawing mode that results in a 3D form that has proportionally more volume where the shape is larger. So small protrusions in the 2D shape become thin protrusions in the 3D result.

I really like how fast you can create basic 3D shapes that are usable for further sculpting with this method. Looking at the resulting topology, I suspect the 3D result is shaped using smoothed voxels, similar to Dynamesh or OpenVDB.

Being able to start such a drawing mode with the touch of a button or keyboard shortcut, you could very easily create the base shapes of body parts and other organic forms. Additionally, there’s a drawing mode that results in straight extrusions, for flat hard-surface objects.

Here’s a video showing some fast object creation using Paint 3D’s 2D to 3D drawing method.

It would be great to have a similar easy-to-use tool in Blender, preferably also usable in Sculpt Mode, maybe using the masking lasso tool. I guess OpenVDB could be a great method for such a tool. Do you think you could add something like it to OpenVDB Remesh? That’d be great.

Yes I’ve been thinking about doing exactly that kind of an addon. I just don’t think it has much to do with OpenVDB outside possibly using distance fields. Thin and sharp object ends would be destroyed by voxelization process and produce artifacts, which is why something like this is better done using only meshes and computational geometry.

1 Like

Thanks for posting about Paint 3D, that’s pretty neat and it’s been sitting on my computer here the whole time and I didn’t know about it!

Have you guys seen G-Lasso Draw? This does something similar with grease pencil. Maybe @ambi can collaborate with @Bookyakuno on it and get some OpenVDB options in there and help out with some of the technical stuff.

1 Like

That’d be great! I’d love to test it when you’ve initiated the add-on.

:slightly_smiling_face::+1: You can export the Paint 3D meshes as FBX, although I dislike having to go back and forth between different editors with different navigation controls.

1 Like

Hi @ambi, I’m the Fluent developer and I use open vdb to complete my models. So I use it a lot and I have a suggestion : in preferences, could you add inputs to set up our own values for each thing ? Like that we don’t need to change all parameters for each blender launching.

3 Likes

I love your Fluent add-on, I bought it when it was on the $14 sale at the beginning. I’d love to see a tutorial how how you use Fluent with OpenVDB. Would be really neat to see.

2 Likes

Thanks @Mystical. Yes, good idea. I will do it a tutorial Fluent + OpenVDB.

2 Likes

Simply setting the values you want and saving Blender startup file doesn’t work for you?

I didn’t try it, I changed the default value in the script :wink: but it could be more userfrendly in preferences.

1 Like

@ambi I did it man!

3 Likes

Nice job! :smile:

Yes! It took some blood spills, but in the end I cracked it!
Now I’ve got to realise how to pack all those libraries and why I get the “convertToComplex” error when I use the latest scripts you did. I used a very old one for my test…

1 Like

The latest on Gumroad should match the latest on Github. Have you updated your local git repo to the latest?

Yes, I think in the rush I didn’t update.
I think it’s vdb_remesh-linux-beta-2018-05-04 the one akin to mac os… is that?

You should be able to use the latest Windows Python code, if you just put the compiled module into Blenders “modules” folder so that Python can import it. There should be no real difference between the versions outside how the module is loaded. On the Python side it’s simple import “pyopenvdb”. Only thing the Python in Blender needs to see is the module being found in its path and having the right name.

I see. So basically I can put the libs wherever I want until they are on the sys.path…
I think vdb_remesh_b2.79-beta-win64, which fetches the lib depending on python version, is probably the way to go…