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?
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?
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 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.
A pox on Suzanne.
WARNING: If you are Trypophobic look way now.
Run on default Suzanne, subsurf modifier added later
In putting together test scripts for the must have Trypophobia addon The wiki page uses an illustration of lotus flower as an example.
The holes in lotus seedheads elicit feelings of discomfort or repulsion
which looks to me like a bit of an inset extrude arrangement, as a mesh
Run on default UV sphere, subsurf modifier added later
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: