Help with morphing between meshes?

Alright, I’m VERY new to unity and scripting in general and I’ve been looking around for a few days but I’m having a lot of trouble with this.

My basic idea here is to allow the player to morph between two meshes using a slider; the player will also be able to choose what meshes they are morphing to and from. Currently the only success I’ve had was with this script, . I edited it to remove all of the animation stuff and set up a slider to control the morph (so the slider value goes from 0 to m_meshes.Length - 1). I’ve got the script as a component of an empty gameobject and am using cube and sphere meshes to test it, both with the same number of vertices. That’s all there is to it, there’s nothing else in the script. (I haven’t even gotten to the part where I try to figure out how to switch between meshes)

When I test the script, the cube appears normally but using the slider causes the mesh to turn itself inside out/the vertices go all over the place. It looks like they maybe end up in the right place, but they are going there the wrong way/the wrong ones are going there, as I am ending up with a mangled spiky ball thing.

So, how can I make it so that I end up with a sphere, and not a mangled spiky ball thing? WHY am I getting a mangled spiky ball thing? Are there any better ways to go about doing this?

I’m not sure if I need to post any of my code here, because it’s basically just as I described it, and I’m not sure what parts would be helpful to add? I’ll edit this with some of it if it would help.

I know this is 6 years late, but try recalculating normals.