Don’t worry. There are still more than 24 hours left. I’m looking forward to the full render.
Alright good stuff thanks!
Non competing pure entry
“Brooch of Typhon”
This based on the symbol of chaos with snake heads representing Typhon, a snake headed giant, from Greek mythology.
As @Helge said this is about trying new things. This is the first time I´ve done texture painting in Blender and I really enjoyed it.
Yeah I agree, texture painting is fun. It’s almost up there with sculpting. Something satisfying about pushing a blob around at will to make something. Same with texture painting, so satisfying to paint something and it comes out the way you want, and not having to rely on texture images.
Wally Waldo Mugo???
I ran out of time and so pulled this together instead. Hopefully not too easy or difficult (Mugo is in there) - took almost 12 minutes to render so I am not sure if I will be able to get a higher res up.
[I made Mugo more distinctive and the image slightly larger]
@fcharr Happy Birthday
I wanted to write a greeble script, but I had to settle for something I could finish in like 3 hours. I’ve always wanted a displace option that takes into account the mesh density. This script displaces each vert individually as a percentage of its shortest connected edge. There are 2 parameters, displace strength along the normal, and displace globally in x,y,z. Currently it it still possible for the script to return overlapping geometry on thin geometry, like suzanne’s ear, as the script does not check for verts nearby in 3-d space but far away in edges. The script creates a duplicate object of the active object and will not alter the original object.
# MIT license # 2018, Photox import bpy, bmesh import random displace_strength_along_normal = .8 # Best if in 0.0 to 1.0 range) > 1.0 may give you overlapping geometry displace_strength_global = .4 def get_shortest_connected_edge_length(my_vert, my_bm): shortest = 1000000.0 for e in my_bm.edges: if my_vert in e.verts: if e.calc_length() < shortest: shortest = e.calc_length() return shortest bm = bmesh.new() bm.from_mesh(bpy.context.object.data) ob = bpy.context.object new_name = ob.name + '_smart_displaced' matrix_world = ob.matrix_world for v in bm.verts: shortest_connected_edge_length = get_shortest_connected_edge_length(v, bm) random_displace_maxima_normal = shortest_connected_edge_length * displace_strength_along_normal random_displace_maxima_global = shortest_connected_edge_length * displace_strength_global r_normal = random.uniform(-1.0 * random_displace_maxima_normal, random_displace_maxima_normal) r_global = random.uniform(-1.0 * random_displace_maxima_global, random_displace_maxima_global) v.co += r_normal * v.normal v.co += v.co * r_global for v in bm.verts: #v.co += v.co * r_global v.co = matrix_world * v.co # re-apply the object mode loc,rot, and scale. mesh_smart_displace = bpy.data.meshes.new(new_name) bm.to_mesh(mesh_smart_displace) o = bpy.data.objects.new(new_name, mesh_smart_displace) bpy.context.scene.objects.link( o ) bpy.context.scene.update()
Nice entry beau11, do you happen to still have your presculpt wip image from over the weekend?
I remember it being very cool as well!
Yep, exactly. Thank you for posting it.
I love this version too!
I really enjoyed the contrast in this image, the paint strokes on the right side, they really appear like oil on canvas, did you make those in blender?
I didn’t make those in blender. It’s a background image, but I made it a much smaller part of the scene in my later iterations in order for me to keep it Pure-ish
Ok, so I finished my entry and the script. If anyone is curious, I released the script and wrote a bit about it here.
love the new version!
Your new image is amazing.
Got it. Makes sense.
Its a very cool image!
Haha thank you I haven’t touched on the abstract side of art for a minute so it’s refreshing.
"Flee the Chaos"
Pure, Competing, Cycles 128 Samples, Denoising
I was short of time again this week, so here is a quick, ~1 hour for model/texture, just for fun. I like how it turned out.
@Photox I just quickly looked through your script, and I was wondering if you could assign
o.matrix_world = ob.matrix_world
instead of applying the matrix to the vertices.
The effect looks interesting, by the way. Like clay or something.