SLICE geometry ?

i have some 3d models of the human body and im mixing them to make a full human …

my intention is to slice the model like a medical scanner …

any SOP tool to do this? or any tutorial to learn how to do this ? havent found out for myself …

i did this once.

Take the slices and load each one as a z axis. assign the x and y into the RGB values of the pixel and build out a voxel cube with xyz+rgb
then you can render the voxels.

The fastest way I have ever been able to slice it is using the “near” / “far” parameters of the camera to a specific distance. This will give the appearance of slicing the voxels at a certain distance.

Here is a demo:

So it seems like 666spm doesn’t need a voxel based approach since the source isn’t a bunch of textures/slices, but rather the whole human model. The easiest way, if you just want to stick with sops, is with a Boolean SOP, using Intersect mode. See the attached picture.

@harveymoon Just took a look at your video, that’s a creative way to use the vive tracker attached to a screen, i like it a lot. I had a VJ event a while back that also used MRI/CAT/whatever scans/textures to create a voxel representation. Most of my stuff happens in a glsl shader, and uses texture instancing, and a little bit of glsl on the source textures to determine throw away any pixel below a certain threshold, so you don’t have all these useless black instanced voxels that represent the empty void/black from the scans. That way I don’t have any excess instances to render. I’ll be putting this up on my GitHub later this summer.

However my question to you, did you have a good source to download MRI scans? The only public ones i could find are of heads that have cancer. All the other ones, it seems like you need to be part of a medical research group to access them. I’d also love some scans of animals as well.
Screen Shot 2019-06-10 at 3.19.16 PM.png

Look up “visible human project”

they have a few humans they sliced manually and scanned high res. Much higher then MRIs. You can request access to the main dataset directly. For me I had to downres so youtube video worked for me.

I used a video of the visible human project and key’ed out the blue used in the freezing process of the corpse. I wrote a python script to advance each frame and only add the pixels with A>0 to the dataset. Thus avoiding the null voxels you were talking about.
After this you should externally save the chop containing all the voxels because of how enormous it becomes. I geo-instanced little cubes for the render of each voxel. Performed real well for the demo.

It would be cooler to use more GLSL, i’m not so good at it yet.

thank you… it wass too obvious … but somehow it didnt work before… i think it has to do with the intersecting geometry being to small. im running 12 fps … my system is about 50 thousand polys… DAMN i need to optimize!

btw i used some sketchfab models and im doing an audioreactive human system! i want to slice that system !
(dont steal my idea lol )

Ya, the Boolean SOP is picky about what it will accepts. Is it 12fps when you’re animating the slice position, or was it already 12fps before adding your slicer/bool sop? If the issue is the bool sop, then you’d probably want to move to glsl. Best way would be a geo shader and reconstructing your geometry, but that’d be a decent amount of work to figure out.

So I made something quick and dirty in the vertex shader. Right now it only works in the Y direction, but that can be modified to work in any direction. Look at the GLSL MAT. The solution is dirty and kind of ugly, but it works at 60fps with high vertex counts.
dirty_slicer.tox (92.8 KB)

its 12 fps when the boolean is ON … even less now because i added some skeleton geometry
but im able to capture the video and watch it in non-live-action.

i will check your file THANK YOU VERY MUCH this is super interesting… i will upload videos this week