Trypophobia is an aversion to the sight of irregular patterns or clusters of small holes or bumps
Is there an easy way, such as a modifier, to make a "trypophobic" mesh?
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It only takes a minute to sign up.Sign up to join this community
A quick and dirty solution you can achieve without too much work is
Results won't be the best, but it is quick and non destructive.
Another possibilty would be to use the Tissue add-on. You basically define a "component", in this case a little hole with a protruberance (the one outlined in orange) and spread it on the faces of a base mesh (suzanne, outllined in light orange).
Run the Tessellate option with the objects selected in this order, enable the merging option and then run the subsurf modifier on the result to smooth the "component".
The cool thing is that you can use whatever shape as input component.
A pox on Suzanne.
WARNING: If you are Trypophobic look way now.
In putting together test scripts for the must have Trypophobia addon The wiki page uses an illustration of lotus flower as an example.
which looks to me like a bit of an inset extrude arrangement, as a mesh
Sneak peek draft code to produce effect above. Selects 70% of quad or ngon faces and pimple-izes them. Running again produces results that are too dangerous to post here.
import bpy import bmesh from random import randint, uniform face_percent = 0.7 context = bpy.context # test on suzzamne #bpy.ops.mesh.primitive_monkey_add() ob = context.object me = ob.data bm = bmesh.new() bm.from_mesh(me) #bm.faces.ensure_lookup_table() faces = set() nontris = [f for f in bm.faces if len(f.verts) > 3] while len(faces) < face_percent * len(nontris): faces.add(nontris[randint(0, len(nontris) - 1)]) for i in range(2): for f in faces: ret = bmesh.ops.inset_individual(bm, faces=[f], thickness=uniform(0.1, 0.2), depth=uniform(0.1, 0.4), use_relative_offset=True, ) ret = bmesh.ops.inset_individual(bm, faces=list(faces), thickness=0.5, depth=-0.5, use_relative_offset=True, ) #bmesh.ops.delete(bm, geom=list(faces), context='FACES') bm.to_mesh(me)
For a pretty much one button approach that comes with some other sometimes useful things there is an add-on called BY-GEN that essentially creates various procedural modifiers stacks and duplivert effects for you based on the effect you choose.
This particular one would be Organic Shell. I changed displacement type to voronoi, it seems to work better in this case.
This is the modifier stack that is generated by this particular choice of effect:
The add-on is free on Gumroad last I checked, it works for 2.79 and 2.8x. The link following is to BlenderNation, where is a bit more explanation about the tool from the code author.
Render result with the tool: