OpenVDB remesh

thank you very much!
for the clear, to increase resolution of result mesh i need to increase voxel resolution slider?
there were somewhere description of each slider and toggle but i can’t find it

The maximum voxels setting under the addon preferences simply sets the maximum of what the voxel resolution in the addon panel can be. It’s meant to prevent the situation where the user accidentally sets it too high and crashes Blender because the addon tries to build trillions of voxels in memory.

I noticed that the OpenVDB Remesh Gumroad page now mentions an upcoming OpenVDB implementation in Blender. I assume you’re referring to the OpenVDB Remesh modifier, but at the moment I write this the Remesh modifier implementations of OpenVDB functionality still yield geometry artifacts, while OpenVDB Remesh doesn’t.

Please remove the limits of 1000 for Relative mode and 4 for Absolute mode.
In my practice, there are objects that require more extreme values.

Which version are you using? In 1.6.6 you can change it yourself.
max

2 Likes

Hi @ambi,
Great addon! But I’m having a small issue, maybe you could help me with it, I’m trying to call from the command line the remesh operator, either

bpy.ops.object.vdbremesh_op(‘INVOKE_DEFAULT’, op_settings = bpy.context.scene.openvdb_settings)
or
bpy.ops.object.vdbremesh_op(‘INVOKE_DEFAULT’)

and none of them works( as shown below ), but they work just fine when I run the same python script( which contains the above lines ) inside Blender.

C:\Program Files\Blender Foundation\Blender>blender.exe --background "C:\Users\User\Desktop\Script_OpenVDB2.blend" --addons openvdb-remesh --python "C:\Users\User\Desktop\CommandLineTest\CommandLineTest.py"
Read prefs: C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\config\userpref.blend
found bundled python: C:\Program Files\Blender Foundation\Blender\2.79\python
OpenVDB register called
create isosurfer handlers...
isosurfer handler created successfully!
Read blend: C:\Users\User\Desktop\DavidScripts\Script_OpenVDB2.blend
Error: Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\openvdb-remesh\vdb_remesh.py", line 329, in execute
    if self.vdb_settings.voxel_size_def == "relative":
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy_types.py", line 605, in __getattribute__
    return super().__getattribute__(attr)
AttributeError: 'OBJECT_OT_VDBRemesh' object has no attribute 'vdb_settings'

location: C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py:187

Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\openvdb-remesh\vdb_remesh.py", line 329, in execute
    if self.vdb_settings.voxel_size_def == "relative":
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy_types.py", line 605, in __getattribute__
    return super().__getattribute__(attr)
AttributeError: 'OBJECT_OT_VDBRemesh' object has no attribute 'vdb_settings'

location: C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py:187

location: C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py:187
Error: Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\openvdb-remesh\vdb_remesh.py", line 329, in execute
    if self.vdb_settings.voxel_size_def == "relative":
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy_types.py", line 605, in __getattribute__
    return super().__getattribute__(attr)
AttributeError: 'OBJECT_OT_VDBRemesh' object has no attribute 'vdb_settings'

location: C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py:187

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\User\Desktop\CommandLineTest\CommandLineTest.py", line 37, in <module>
    bpy.ops.object.vdbremesh_op('INVOKE_DEFAULT');
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py", line 187, in __call__
    ret = op_call(self.idname_py(), C_dict, kw, C_exec, C_undo)
RuntimeError: Error: Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\openvdb-remesh\vdb_remesh.py", line 329, in execute
    if self.vdb_settings.voxel_size_def == "relative":
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy_types.py", line 605, in __getattribute__
    return super().__getattribute__(attr)
AttributeError: 'OBJECT_OT_VDBRemesh' object has no attribute 'vdb_settings'

location: C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\bpy\ops.py:187



Blender quit

As a quick fix, you can replace the VDB_OT_VDBRemesh class inside vdb_remesh.py file with this one https://pastebin.com/tWKP7bLn (just copy & paste over the class)

I’ll look into it later if I can include it in the main build.

Bought and installed. Pretty nice results, and fast. I can only access it through search, though. I don’t have a tab in the N panel?

1 Like

3DView -> N -> View -> VDB remesh. Pretty weird place, I admit, been meaning to change the location to something more appropriate.

1 Like

Cheers mate. Would never have guessed it was there. :smiley:

1 Like

What is the difference between the Open VDB remeshing here and the voxel remeshing that exists in the builds of Dobarro’s sculpt build? Does the add-on here gives better results as to the smoothness of the whole shape and the beveling of the edges? I am asking because as far as I have seen the mesh resulting in Dobarro’s build is good for sculpting but it is not proper for a final model mesh.

The gaussian smoothing algorithm is rewritten and uses a more accurate model that creates much less artifacts.

4 Likes

Thanks Ambi!

Thanks to @patmo141, I can now also offer MacOS builds. vdb_remesh_1.6.6_b2.80-macos_mojave.zip is up on Gumroad. 2.79 build still has a couple of issues I hope to get sorted out soon. If you’re on a Mac, see how it works out for you.

1 Like

Hi ambi -

I am wondering if:

a. the version of OpenVDB remesh bundled with Animation nodes is still up to date / works - when I open the test scene it starts with an execution error but I can see Suzanne with a rotated version of herself subtracted and remeshed.
b. you could spell out / screenshot how to set up particle remeshing because that feature seems pretty amazing but I don’t know how to set it up.

Thanks for the addon - its amazing!

I’m getting a code signing error when I try to use the latest MacOS build.

./Blender/2.80/scripts/addons/openvdb-remesh/pyopenvdb/w37/pyopenvdb.so: code signature in (./Blender/2.80/scripts/addons/openvdb-remesh/pyopenvdb/w37/pyopenvdb.so) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.

I see. Thank you, I will look into it.

@giacometti777 a. If you’re seeing it remeshing, it should be working. You can provide me more details in private message about the execution error.

b. For version 2.79 you need to create isosurface object shift+A > Mesh > Isosurface. Select it. Then in the VDB remesh particles panel add it using the plus button. Set the object to your particle spawner object and the particles to its particle system. It should then work.

For version 2.80 you need to use the Animation Nodes system to remesh particles.

@Amos_Joseph and other Mac users:

Looks like the recent Blender 2.80 RC broke any binary addon compatibility as it’s signed and using library verification. Unless the binaries are signed by the Blender Foundation, there seems to be no way to dynamically load them into the program. Same goes with any custom versions of Python. I don’t really blame the BF here, it’s the Apple ecosystem that requires very stringent process to publish your software.

I’ll still try to look into 2.79, as that doesn’t seem to be signed. But for 2.80 RC+ it seems impossible to do anything about. Earlier 2.80 versions should still work.

tl;dr: Unsigned Blender 2.80 should work fine (the ones where you get the popup that complains about unidentified developer etc.), signed Blender 2.80 versions won’t (at all).

Hi Ambi, my name is Alessio. Nice to meet you.
I bought your addon but I don’t understand how to install it. I’m good with modelling and rendering but I really suck with coding and similar. I am the common user who only install exe file :slight_smile:
I use blender 2.79 and 2.8RC on windows 10 64bit.
Can you explain me the procedure step-by-step?

For first time installs for Windows:

If you have already installed the addon, to remove it, you need to A. first disable it, B. restart Blender, C. then remove it. After which, you can install a new version.