Modeling and Rendering a Quartz Crystal in Houdini 16

comments 27
Free Tutorials

When testing out a new render engine (or any tool that can do rendering), one of the typical objects I try to get a decent image of is a quartz crystal. In order to get that right, a rendering needs to contain effects such as dispersion, proper refractions and SSS. In this tutorial I’ll walk you through my first attempt to render a Quartz in Mantra in H16.

Download Project Files including AE comp file (.zip)

Resources on crystal shapes

This image on Wikipedia is a good overview of which basic geometric forms you can use to build a quartz using only those shapes and boolean operations.

This image from mindat.org is quite similar but in english 🙂

If you’re brave and have Java installed and activated in your browser, this applet by the (german) museum of Crystals and Mathmatics (ain’t that great?!) gives a pretty good idea of how crystal shapes originate.

Liked it? Take a second to support Moritz on Patreon!
Become a patron at Patreon!

27 Comments

  1. Another amazing tutorial thank you. For sure it’s way above my entry point to Houdini as a very new user, but it was super informative anyway : )

  2. Nice, I was just yesterday experimenting with modeling a quartz crystal using the new boolean tools. Look forward to seeing your take on it!

  3. Great stuff as always guys, some really nice tidbits in there! 🙂

    A couple more ideas:

    -The new “By Face Area” weighting method in the Normal SOP is perfect for geo like this! This was possible before with wrangle code but much more accessible now.

    -Instead of managing a separate shader for your inclusions, just invert their normals before merging with the main crystal geo.

    Cheers,
    –Dave

  4. Another amazing tutorial, Thank you! From the initial image, I thought for sure that was just a reference photo…

    Anyhow, Im working on making a cluster of quartz. Things are going fine but when it comes time to add the displacement for the horizontal surface striations, I run into a jam. If I have a bunch of crystals oriented in different directions, how can the material add the displacement properly? Should I add the material before the copy/transform/orientation steps? That seems like it might be the wrong way to go about it. As it would also be harder on the boolean operations if I added those striations to the actual mesh. Thoughts?

    • Hey Robert,

      I’m not sure if there’s a wrong/right way to do this but adding the material before transforms is definitely a workable way. Another idea would be to use your individual crystal’s rotation and position in the shader and use that to rotate the noise that is generating the displacement in the shader (right click on the classic shader and go to allow editing of contents) – this thread has some techniques for rotation in VOPs: https://www.sidefx.com/forum/topic/21309/?page=1#post-99710

      Just a quick (and sketchy) first idea 🙂
      Cheers,
      Mo

  5. … and thanks for the amazing feedback, guys! 😀
    Cheers,
    Mo

  6. If you are into crystals and want to know more about their formation, you ought to watch the National Geographic documentary on the Naica giant crystals cave: https://www.youtube.com/watch?v=0OLdSJmvcUs

    There is a good section that explains how the cave was created, thus crystal formation.

    Great rendering BTW!

    • Thanks for the hint! Gonna watch it tonight 🙂

      Cheers,
      Mo

  7. Awesome tutorial 🙂 I tried and this is the result : https://i.imgur.com/rK8q4we.png
    That was a bit slow for my computer but it totally worth it.
    As you can see the shattering boolean is creating holes, while it’s nice that way I’m not sure that was expected. I watched the tutorial over and over but couldn’t find my mistake.
    Should I merge again the whole thing with the original mesh or… did I miss something after all?

  8. gregory michael fedorev

    AMAZING! I’m new to Houdini and I just learned TONS from your tutorial alone. I’m also doing something odd, which maybe you can critique, I’m making rock, although I havent figured out how to do something like quartz yet, from paper and pigment. Unlike anything I’ve seen, you might like it and I can send pics.

    Awesome, awesome, awesome tutorial!

  9. Hi
    Great tutorial and thanks a lot
    I have some problem here
    When i rotate the camera the noise in sss is moving
    any help please ?

  10. I fixed that by adding a rest node between global position and unified noise in shading
    thanks again 🙂

    • Hi Ami,

      This method is not working for me. did u change the space to object or world? Thanks

  11. Andrew hopper

    Hi,

    another great tutorial. have you got any tips on how I might create this shader in octane? I have set alot of it up in C4D but I am struggling with the SSS and Black areas.

    Thankyou as always

  12. Szabolcs Matefy

    Great tutorial.

    I have a problem, I tried to use the shatter boolean, and unfortunately, it looks like I do not have those inner broken surfaces you have, just the outlines of the shattered chunks. What can be the issue?

  13. when i arrived at mantra and rendered I started to see how fantastic it was, excellent work !

  14. Hi Entagma,

    I just when through this tutorial, it was very informative and helpful to a novice Houdini user such as myself. There is one thing I am stuck on however. When I render out the image with AOVs and try to build it back to beauty in Nuke I cannot get a match. It seems the mismatch is coming from the indirect refract and SSS layers. Do you know what might be causing this?

    Thanks for the great tutorials!

    • Hi RD,

      sorry, no clue what’s causing that. Nowadays we mainly switched to Redshift as our primary render engine, very rarely do we use Mantra.

      Cheers, Mo

  15. Hello, this tutorial is amazing, i did it sometime ago, and now i opened the files and want to export the geo into c4d, but im not being able. If i right-click / save / geo the .obj that comes out it wont open, not sure if im missing something? Should i try exporting it as a volume instead?

    Thanks !

Leave a Reply