A Study in Crystals

Back when I was a little phantasm, I was already fascinated by crystals. Then, as I grew older, I just kinda forgot. But lately a special soul reminded me of them and I tried to do them in Blender.

Additionally, I wanted the task to be that there is no modelling or textures involved. This worked out well. For most of it … there is a bit of modelling in the first crystal.

The First Crystal

This was the very first one I made. The goal was to use geometry nodes to model it. However, I did make three basic shapes that the geometry node setup used to distribute in the following way

  • a few but large crystals on a randomly displaced sphere
  • more but smaller crystals on the sphere and the first set of crystals
  • a lot of very small crystals on the sphere and both previous sets of crystals

Some of the crystal shapes are randomly duplicated and then offset slightly in a random direction.

The shader setup was basically making use of Transmission and coloring the Specular color based on a noise value.

The Second Crystal

This one, as well as all of the following crystals, was done entirely procedurally generated, meaning there was no modelling involved. In fact, the first step was to delete the geometry of the base cube (not the object itself). The base geometry came, of course, from the primitive of a cylinder but with only six sides resulting in a hexagonal cylinder. These were randomly distributed on a plane. After randomly scaling the individual crystals I tilted them based on the X and Y position.

The shading was very similar as in the last one. This time, there is a blue light directly in the middle making things blue. Who would have thought?

Third Crystal

For this crystal, the geometry nodes are not that interesting. There’s two big ones placed and a lot of smaller ones on a randomly displaced plane. The more interesting things happened with the shader. I wanted to simulate things happening inside the crystals. I couldn’t quite manage to pull it off and eventually I landed with what you see in the image.

Based on height (mixed with noise) the transmission parameter becomes less. The lower crystals have less transmission than the two big ones. Another two noises are combined to make thin lines and spots here and there. That was used in the emission channel. I wasn’t sure at all if that would work, because crystals generally don’t glow by themselves, but I find it looks good. The next problem was that this effect was also on the small crystals, which I didn’t want, so I multiplied the whole effect by the first noise based on height.

Fourth Crystal

For the last crystal I wanted to do something a little different. It’s also entirely generated in geometry nodes with cubes whose vertices are offset in the X direction based on the Z position. This automatically moves vertices that are further up further to the right and vertices further down further to the left.

I experimented a lot with the shader as I just could not get it right. It always looked either too transparent or solid. It was either gonna be too dark or it didn’t look transparent at all. Now the solution works, but it’s not pretty: I put a few lights in there, some of which have 1500 Watt. Yeah, there was probably a different solution.

Leave a comment