Clip model against self?

Hello everyone, i have a problem that i need some help with.

basically, i have this model:

and i would like to basically clip the vertice’s that fall inside the model(and not lose the material/weight data.)

originally, i joined two models to get this, and while i could use a boolean modifer, this destroy’s any material information for the one side of the boolean object.

so in short, either i need a fixed boolean modifier, or a method to cull against self?

thanks all.

If this is a final object, you could use Hook added to cube’s top4 vertices parented to pyramid. Thus, if you move pyramid, cube would stretch or flatten.

unfortuantly, that isn’t an option. I have an detailed model, which is broken into several pieces, since booleaning was messing up materials/weight paintings, i simple joined them. I import this model into my game, and now that i’m working on shadow volumes, i’m discovering this faces inside the model are creating artifacts in the shadow volume.

I was hoping to find an easy solution, but i might need to find a real modeler instead of just downloading some free ones.

What do you want? You cannot just delete those vertices as that would remove the faces of the pyramid. Do you just want to move them to the intersecting face ? Do these have to be distinct meshes in the object ?
Attach or post a link to your blend file. The objects orientation may make any changes very easy or more complex.
What material/weight data are you wanting to maintain for such a simple shape?

Essentially, i’m looking for a tool which well act like a boolean union, except it can operate against itself, and clip any vertices in a face which cross any of it’s other faces, and create any faces which need to be created.

as for perserving material’s/weights, i understand that perserving data for vertices that are moved/merged, and faces created/changed can be fuzzy, but it shouldn’t cause other vertices which are completely unaffected to lose their data.

also, boolean worked perfectly fine for preserving data in 2.4x era, so i’m not exactly sure why it is broken now.