Collision detection is essential for realistic physical interactions in video games and computer animation. In order to ensure real-time interactivity with the player/user, video game and 3D modeling software developers usually approximate the 3D models composing the scene (e.g. animated characters, static objects...) by a set of simple convex shapes such as ellipsoids, capsules or convex-hulls. In practice, these simple shapes provide poor approximations for concave surfaces and generate false collision detection.
A second approach consists in computing an exact convex decomposition of a surface S, which consists in partitioning it into a minimal set of convex sub-surfaces. Exact convex decomposition algorithms are NP-hard and non-practical since they produce a high number of clusters. To overcome these limitations, the exact convexity constraint is relaxed and an approximate convex decomposition of S is instead computed. Here, the goal is to determine a partition of the mesh triangles with a minimal number of clusters, while ensuring that each cluster has a concavity lower than a user defined threshold.
- Clone this Github repository
- You may either rebuild the binaries for your machine or use the provided binaries. Here we will assume that you will use the provided binaries in the v-hacd/bin directory.
- Copy the Python script in v-hacd/add-ons/blender/object_vhacd.py to your Blender addons directory. For Blender 2.78 this directory will be "Blender Foundation/Blender/2.78/scripts/addons/". You're at the right place if you see other scripts prefixed with object_.
- The addon must be enabled before use. After copying the script to the addons directory, open Blender and navigate to File > User Preferences > Add-ons. Object: V-HACD will be featured on the list. Check its mark to enable the addon and save user settings.
- After you have enabled the addon, the V-HACD menu will appear in the object menu when an object is selected.
- Go to this menu and select a preset (or leave the path presets).
- Select your VHACD path by selecting the "Open File" button next to the VHACD path, which should currently be blank.
- Navigate to the directory in which you cloned this repository and find the appropriate executable in the bin folder for your operating systme.
- If you have a video card that supports OpenCL, this will be bin.
- If you don't have a video card or your video card does not support OpenCL, the appropriate executable for you will be bin-no-ocl (no OpenCL).
- Select the V-HACD button at the button of the panel. You will be presented with some options.
- Modify the options as desired and select "OK."
- Note that the processing may take some time. Increasing voxel resolution will particularly increase runtime.