PDA

View Full Version : ARBITRARY "tetris"-like structures? / why no 'modeling' forum?



jeric_synergy
06-15-2018, 10:17 AM
1) why is there no modeling-specific division on this forum??

2) Looking at Joe Lertola's tutorial (https://www.snopes.com/fact-check/new-facebook-algorithm-26-friends/) and liking the mesh he used :heart: as a demo, made me wonder: what would be the workflow to achieve that style of construction (essentially, "tetris blocks"), but for arbitrary shapes? :stumped:

That is, ideally, you'd make a shape, put it in the background, push a button, and WALLAUGH!, magically the work would be done, and an approximation of the background shape would be composed of rectilinear NON-INTERPENETRATING blocks. Except for "L" and "T" shaped blocks, this seems fairly simple.

(this is similar to my recent "bounding box" generator question.)

Such a workflow would be useful in mograph situations for sure. (Where it would rapidly become a cliche.)

jwiede
06-15-2018, 05:06 PM
What you're describing is "voxelation" or "voxelization". Look at DeepFX's VDB-Splicer (https://www.deepfxworld.com/vdb-splicer.php) for a way to achieve something similar, it's all about the resolution of voxels involved. I have plugins for "other pkgs" I use to do this, but same general approach.

The idea is that when converting to a volume, you use fairly "huge" resolution for the individual voxels (f.e. 5mm-1cm or more) in order to achieve the kind of blocky voxelization sought. Then it simply becomes a case of re-meshing the voxels as discrete meshes using instancing or such. There are lots of ways to do this using instancing, particles, and so forth, but the idea is that you replace each voxel with a point/locator (yielding a point-/locator-cloud for the object) and then using either instancing/particles/etc. to put a same-sized mesh block object centered on that point/location, and then "baking" back to a real mesh.

Does that help?

jeric_synergy
06-16-2018, 12:25 AM
Yes indeed: THANKS!

jwiede
06-16-2018, 02:46 AM
Yes indeed: THANKS!

Glad to help! If you run into any workflow issues, please either ask here or PM and I can try to help.

daforum
06-18-2018, 02:43 PM
What you're describing is "voxelation" or "voxelization". Look at DeepFX's VDB-Splicer (https://www.deepfxworld.com/vdb-splicer.php) for a way to achieve something similar, it's all about the resolution of voxels involved. I have plugins for "other pkgs" I use to do this, but same general approach.

The idea is that when converting to a volume, you use fairly "huge" resolution for the individual voxels (f.e. 5mm-1cm or more) in order to achieve the kind of blocky voxelization sought. Then it simply becomes a case of re-meshing the voxels as discrete meshes using instancing or such. There are lots of ways to do this using instancing, particles, and so forth, but the idea is that you replace each voxel with a point/locator (yielding a point-/locator-cloud for the object) and then using either instancing/particles/etc. to put a same-sized mesh block object centered on that point/location, and then "baking" back to a real mesh.

Does that help?

Hi jwiede. Can you show how to use Particles; and also how to 'bake' back to real mesh? They sound like interesting techniques.

cagey5
06-19-2018, 12:08 AM
And voila! Another problem solved.

jwiede
06-19-2018, 03:38 AM
Hi jwiede. Can you show how to use Particles; and also how to 'bake' back to real mesh? They sound like interesting techniques.

The particles bit just refers to using the point cloud to emit 1 particle per point/vertex, at which point you can then use FX_Linker or such to place arbitrary object meshes at those particle locations. Alternately, you can use instancing to do the same general thing, it just depends on what all you plan to do with them after you've used the points for mesh placement. W.r.t. the meshes placed, you could use a Lego-type cube or rectangular mesh, or just a nice rounded-edge cube mesh, depending on what kind of "blocky" result you need.

As for baking it all back to mesh, that depends a lot on what you have available, and again, what you're intending to do (if you're looking to blow up the blocks or similar, then it doesn't necessarily even make sense to mesh them back to an object). I seem to recall there are a couple scripts floating around for taking such mesh replacements and "baking" them back to an object, but I'll need to dig a bit (it's been a while).

jeric_synergy
06-19-2018, 09:01 AM
Not for all applications by any means, but with the MESH PARTS NODE, baking them into one mesh makes more sense than it used to, rather than having a very cumbersome scene editor. Maybe not for Bullet and other simulations.... just thinking out loud...

daforum
07-04-2018, 05:32 AM
The particles bit just refers to using the point cloud to emit 1 particle per point/vertex, at which point you can then use FX_Linker or such to place arbitrary object meshes at those particle locations. Alternately, you can use instancing to do the same general thing, it just depends on what all you plan to do with them after you've used the points for mesh placement. W.r.t. the meshes placed, you could use a Lego-type cube or rectangular mesh, or just a nice rounded-edge cube mesh, depending on what kind of "blocky" result you need.

As for baking it all back to mesh, that depends a lot on what you have available, and again, what you're intending to do (if you're looking to blow up the blocks or similar, then it doesn't necessarily even make sense to mesh them back to an object). I seem to recall there are a couple scripts floating around for taking such mesh replacements and "baking" them back to an object, but I'll need to dig a bit (it's been a while).

Hi jwiede. Did you manage to locate the scripts?