I was wondering the best way to approach this. I could easily create one of the neurons and branches and duplicate it manually and join up all the branches accordingly, but I’m sure there is a nice way to do this sort of thing via a procedural process. Maybe a particle setup to distribute a series of icospheres and then some other process to create the branches. I’m not looking for a tutorial, just a brainstorm… (Oh dear)!
Removed the faces (x -> only faces) and outside edges
Then extruded everything 0.5 blender units along Z (once, then shift+r twice to repeat)
Next I added a skin modifier and a subdivision surface modifier. It’ll look like a messed up cube, so the mesh skeleton has to be scaled down with ctrl+a
Next I scaled along normals a bit (alt+s) to give a bit distortion and then subdivided everything to get a vertex between joining vertices. Then selected couple of the joining vertices (many edges connected), selected vertices that have similar amount of edges connected (shift+g) and scaled them up (ctrl+a again).
One subdivision more and a bit scaling I got this.
Hey hey, now that’s the answer(s) I wanted thanks JA12 and Kaluura. Now I just need to randomly generate the ‘network’. I don’t know much about random mesh generation but if I could get a point cloud going then for each point in the cloud, join by single edge to other points in the cloud based on a radius. Anyone speak python in the modeling forum? Maybe Ill post a new topic over there.
Skin modifier is a nice idea. You also might be able to do this with a particle system, emitting neuron objects as hairs from vertex groups at the tips of the dendrites. Randomize the shapes by selecting from a group of neuron objects.
By the way the network you show is highly idealized, and neurons don’t really connect like that.