Skip to main content
added 9 characters in body
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123

Each of your images describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sumM-sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each of your images describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each of your images describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think you want the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do M-sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

added 9 characters in body
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123

Each imageof your images describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each image describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each of your images describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

edited body
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123

Each image describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D 3D MinkowskiMinkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. ObviouslyFor a convex base mesh, the latter will have convex spaces, butand inner corners like this may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each image describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. Obviously the latter will have convex spaces, but inner corners like this may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

Each image describes a different algorithm. I would say the top two should not even be in the question. Bottom right is too angular to look good in-game, it looks like luggage in plastic cling-wrap. Let's focus on bottom left, the best looking approximation of the original mesh.

I think what you want is the 3D Minkowski sum of the original mesh, either (1) by getting a convex hull first and then applying the Minkowski summation algorithm to it, or (2) just do Minkowski sum on its own. For a convex base mesh, the latter will have convex spaces, and inner corners may appear "pinched", see for example the space between the two children's heads at top left:

enter image description here enter image description here

So you may do wish to do some smoothing after summation, depending on the sort of look you're going for. You'll also notice in the image above that a cubic mesh has been summed against the original mesh, which results in cubic artifacts, while in the image below, different operators are shown. You'll want pointwise or spherewise summation as shown for the dinosaur and bunny:

enter image description here

This technique is common in computational geometry and GIS applications, so you can find implementations in typical comp geom libs like GJK, CGAL etc. You could even download such and use it as proof of concept. I can't guarantee the performance on this will be great, since often those libs are not geared to real-time use. But it gives you a place to get started and you can a write a realtime implementation on your own (may require mesh reduction to get the required speed).

Note that voxelised Minkowski sum can yield better performance than traditional, more exhaustive approaches because the vertex count is strictly limited by the number of voxels. Google will help.

added 39 characters in body
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123
Loading
added 10 characters in body
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123
Loading
Source Link
Engineer
  • 30.3k
  • 4
  • 75
  • 123
Loading