Challenge #799 (12/10/18) Entries CLOSED

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.

1 Like

Explosion chaos.


Where’s Wally Waldo Mugo???

I ran out of time and so pulled this together instead. Hopefully not too easy or difficult (Mugo is in there) :slight_smile: - 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 :balloon:



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 =

ob = bpy.context.object
new_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) += r_normal * v.normal += * r_global

for v in bm.verts: += * r_global = matrix_world * #  re-apply the object mode loc,rot, and scale. 
mesh_smart_displace =
o =, mesh_smart_displace) o )

1000 Samples
“Double Horizon”
Abstract art follows a narrow line between art and chaos.


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!

Do you mean my first iteration of the project? If so I do have it. :smiley:


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?


Non-competing. Cycles, 5 samples.

1 Like

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!

1 Like

Very nice!
Your new image is amazing.

1 Like

Got it. Makes sense.
Its a very cool image!

Haha thank you :slight_smile: 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. :grinning:


@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.

1 Like

Oh that is much better! Otherwise the orientations are basically applied. Version 1.1 IS born! :grinning:

Same, it looks really good !