I'm a beginner of Blender, just started yesterday with some tutorials. It was a smooth start, but I feel like it's a bit far away to make a figure like can be seen below. It's a random structure. Could anyone help me to make those kind of random structures?
-
1$\begingroup$ Please explain in detail what do you mean by random structures. $\endgroup$– brockmannCommented Jul 18, 2019 at 16:41
-
$\begingroup$ clearly he wants random nano-wrinkle patterns. No further elaboration is needed. that is however very difficult to achieve and time consuming from my own experiences. $\endgroup$– FrederickCommented Jul 19, 2019 at 6:09
2 Answers
[Option 1]
is to do it via displacement:
Here via shader displacement and a Musgave texture. This way it stays parametric. Works only with cycles in render view/render.
If you want it to be a solid mesh to further work on here is a tutorial how to do that: https://www.youtube.com/watch?v=McALCOr39rY
[Option 2]
The other way would be from curves, but is not parametric.
Convert your pattern from an image to curve for expl. in illustrator,
then use these curves to build your mesh.
curve menue>extrude
then: convert to mesh from curves
there's actually an addon that sort of does this for you! have you tried the maze mesh selection addon? It allows you to build random structures (mazes). I use it all the time and love the thing. you will however really have to play with it to get a result like that.
Maze Mesh -->https://github.com/elfnor/mesh_maze
another option I suppose would be to build a heightmap if you're ambitious. you can then program an image to become random like that and apply it, here's a tutorial on those: https://johnflower.org/tutorial/make-mountains-blender-heightmaps typically they're used for landscape but would be just as effective here.
or better yet in Blender 2.8 now there's a default tissue addon, you can use to generate hex faces to a mesh. you could do that then write a program that extrudes a face selection downwards.
on the side note a modification of this code may work after joining the cylinders and applying a boolean modifier.
import bpy
import random
Max=1#max number positions.
Min= -1
MMax=500#max number of occurrences
MMin=5
A=random.randint(MMin,MMax)
for I in range(A):
bpy.ops.mesh.primitive_cylinder_add(radius=.1,location=(random.uniform(Min,Max),random.uniform(Min,Max),0))
-
$\begingroup$ I love elfnor's blog, will check out this useful addon as well $\endgroup$– LeoCommented Sep 18, 2020 at 13:14