Reflective and Refractive Glass Block Tutorial Part 1 – Cinema 4D


In this tutorial, I show you how to make a spinning glass block animation with Cinema 4D, Mograph and refraction. It’s based on an animation by Lumiere Studios. Stay tuned for part 2 of the tutorial where we bring the final render in after effects and do the final composite.

Final Animation

Watch Part 2 of This Tutorial

Signup for the newsletter.

Updates about once a week. Deals on new products. Not spammy. Whats not to love?

159 people have commented on this post. You should too!

  1. Longone says:

    Cool. Looks like another great tut. Can’t wait to try it. Thanks :D

  2. newroyal says:

    Can’t wait till I get back home to check this out!

  3. Moises says:

    Another great tutorial. Can’t wait to part 2.

  4. humberto says:

    the reflections look amazing !!

  5. Juan says:

    AWESOME!! Thanks Nick!

  6. Chris says:

    Holy craptacular that looks awesome! Now to think of a way to use that without making it look anything like yours…hm…

  7. JTHeme says:

    This is one GREAT tutorial!

  8. Bloody hell! Nice tut!!! I’ll be using this one!!!

  9. Awesome, cant wait to give it a try.

  10. wtf_cakes says:

    The gorilla goes from strength to strength

  11. Adam Schmisek says:

    VERY SEXY!!! LOVE IT

  12. Winston says:

    Thank you for the incredible tuts Nick. You and Andrew Kramer are two of the most generous guys on the scene and it’s really appreciated.

  13. Martin says:

    Great tutorial !

    Can you make a tutorial for this animationhttp://vimeo.com/10941007

  14. Stefan says:

    Hey Nick,

    Your tutorials are amazing!!! I’ve learned more from you in one week than whatever else I’ve tried!

    BIG THX!

  15. maniac says:

    Great!!!

    big thx Nick!

  16. Matt Borrett says:

    I can’t wait to watch it. Looks awesome!

  17. Antoniy says:

    Rly cool and easy tut with a great result nick but the rendering time on a dual core with AA pumped like that is just “awesome” :D
    Your 8 core Machine can do it pretty fast but we the mortals have to do it with dual and quad cores. Can’t imagine doing it on R11 with one core

  18. Dan Howard says:

    Brilliant tutorial! I’m going to see if I can combine this with the shatter tutorial you did a while back, would be great to shatter the glass in slow mo

    Thanks Nick!

  19. galen says:

    Whoa.. when I first saw this tutorial image – I thought it was based of this:

    http://www.wired.com/underwire/2010/04/nuit-blanche/

    Which a friend just sent to me yesterday. Very cool.

  20. martin says:

    Nick, you’re a master of economy. From nothing to awesome in about 15 minutes flat. Thanks upping everyone’s game!

  21. Cool Stuff! Thanks!
    I have one question and a tip:
    When you use the cloner object and a random effector, is there a way to prevent the cloned objects to intersect or cut into each other?

    The tip is to render out the last frame of a sequence first, then start the rest of the render. That way you can import what’s rendered in AeFx, it’ll report X frames missing, but you have the length of the clip set and can start adjusting what you already have..

  22. Nate Redekop says:

    Hey Nick, great tutorial!!
    Just wondering what you use to combine all the TIFFs into a mpg?

  23. Adam says:

    That’s awesome. Thanks for sharing Nick!

    My CPU is 1 core, 1gb ram so rendering on that machine hmm… Maybe some long holidays?

    :D

  24. Curry Leamen says:

    Awesome Nick!
    Question: When using the cloner and the random effector, If you’ve come up with a layout that is perfect except for one piece, is it possible to break that piece of geometry out of the cloner and adjust it on its own or possibly delete it?

    • You can use the MoGraph selection tag to isolate the offending clone and then use a plain effector to reduce its visibility to zero.

    • Filenest says:

      Just hit C on the cloner object to make them edible, that way you can delete or move whatever object you want.

    • you can also use “current state to object” from the right click context menu.

      using the “c” key makes the cloner object a null with clones of whatever you had in it initially (primatives stay primative)

      using current state to object will do the same thing but also convert any primatives in the cloner object into polygonal objects as well

  25. Salmen says:

    Really cool effect

  26. chetan says:

    nick nick nick!! brother!! remember in that SPIN logo animation u had told us that u will ask maxon ppl at NAB why is it necessary to throw in a null in between that fracture object and the logo to make it spin how you wanted. did ya ask them??!! i wish i was at NAB, i would have reminded you :(

    • The Gorilla says:

      The answer I got was along the lines of “Yep, you just have to do that sometimes.” It’s a hierarchy issue. And, things act differently with each cloner. Overall, It’s just another tool to try when things don’t work the way you want.

    • chetan says:

      there goes a screenshot for me.. thanks :) feels good to be got replied..

  27. Roger Margido Proeis says:

    Wow! That looks amazing. Can’t wait to finish typing this comment so that I can get started!! :)

  28. mezzu says:

    Great!! big thx Nick!
    but…how create This video?
    http://www.lumierestudios.co.uk/lumiere_site_v3/CAMPAIGN%20Big%20Awards/
    thx! thx! thx!

  29. xsid says:

    nick.
    u know
    u r awesome!

  30. Martin F says:

    Oh holy cool ! xD have to love that expression ! Nice tut m8!

  31. Stefanos says:

    Really awesome result.. w8ing for the 2nd part to see what you do in AE.. amazing my friend :)

  32. Maksim says:

    Cool! I liked it! I use it for your project!

  33. Ramzes says:

    mezzu why are you sending viruses dude!!?

  34. Ramzes says:

    Nick thanks, you rule man! Pretty soon you will be more famous then Andrew Kramer))

  35. Tawat says:

    Awesome tuts nick.

  36. Stephan says:

    Lumiere Studio Webpage is hacked!! :-(

  37. benx says:

    great tut nick. Keep on going.

    how many hours do you spend with cinema everyday??

    thanks

  38. Tommi says:

    Very cool, thanks! Cant wait for part II.

  39. illd says:

    another great tut by the gorilla! Thanks Nick. I am looking forward to part 2…

  40. dan holt says:

    I tried figuring this one out on my own before you posted the tutorial and almost had it but was missing a couple things. Your presentations always make things look so easy. I appreciate all the work your doing and thanks so much for creating these tutorials to help someone like me learn and grow.

  41. Haha I love how excited you sounded in the intro!
    Another great one, as always

  42. Martijn says:

    very nice tutorial, thanks a lot!

  43. Frame says:

    Thanx. useful tut. just in time. i will use it

  44. Phi; says:

    i done my motion graphics case study on these guys about 3 months ago, and used there vid as examples. always wondered how they done it, seems so easy now.

  45. Mannu says:

    You are awesome!
    I wasn’t able to follow C4D till now..watching your tuts has helped me grasp quiet a bit and i hope to start creating something fun soon

  46. daly says:

    Nice work as always
    thank you

  47. Junior says:

    Greyscalegorilla! tem como produzir uma legenda em portugues desse tutorial se sair fico agradeçido abraço de uma irmão brasileiro.

  48. mowaffak kurdi says:

    Receipt of your hand you ar creator

  49. Greg2B says:

    Great Tut, Cant wait for the next one. In fact I went ahead and threw it in to after effects and add some shine n glow to.

    http://fc02.deviantart.net/fs70/i/2010/107/3/3/Gotta_Makem___Move_by_G2B.jpg

  50. blain says:

    Really great tutorials man, they are informative, concise, slick, and sexy. I appreciate watching the process when solutions require trial and error. Love the vibe and candor. thanks.

  51. Mike Yull says:

    So good. Exactly what I needed as an inspiration boost. I adapted it to 3ds max and it works perfectly. Thanks a lot!

  52. Duncan Elms says:

    Big up the Gorilla

  53. Shaun Fritts says:

    Great! Been waiting for part two. Get it up soon! I want to get this thing going because it’s amazing. Thanks so much for your tuts.

    -Shaun

  54. Klas says:

    Sweet!
    Nice design and cool technicque.
    Love it!

  55. Ramzes says:

    Nick if you have OPTICAL FLARES,can you show us how we can integrate it with this project? I think it will look pretty sexy

  56. Besar says:

    Cool tutorial Nick.

    I have a question it’s possible to make cast shadow a 100% transparent object?

    Thanks for all tutorial they are great.

    • definitely, duplicate the completely transparent object, remove the duplicates’ material and turn off its traffic light for the editor, add a compositing tag and uncheck everything except “seen by shadows,” now you’ll have an invisible copy of your transparent object that does nothing but cast a shadow.

  57. Jose says:

    Hello Nick, great blog and great tutorials, you help and inspire us a lot. Please, could you do a quick tutorial to make some particles form a shape, like text or whatever, same as you did in your modynamics and mograph new reel???? It’s almost impossible to find a good one at internet.

  58. Jose Lopez says:

    Hello,

    Great tutorials here, can you please post a tutorial on how to create clean and sharp chrome text in CInema 4D?.

    Thanks in advance.

  59. Robin says:

    HI Nick, can you make a tutorial about MoCap and stuffs like that? Tnx :-)

  60. Englar says:

    Nice tutorial !!

    A quick tip maybe you know already : to quickly duplicate an object, you can just ctrl + click on a object, let the mouse clicked and drag where you want to duplicate your object. (you will see a square symbole with a + inside)

  61. Mustafa says:

    Great tut Grorilla, I think if I combine this technique with Optical flares i’ll get amazing result….I can’t wait for Part 2
    you are a genius man

  62. mika says:

    very gooooooood
    thx u man

  63. Brett Perry says:

    Great tutorial. I’m a nubie at Cinema 4D and this was my second tutorial. I don’t like to jist copy a tutorial, but like to add my own personal touch. I included a 3D model (3ds max) as well as text in the middle of the glass blocks and used it for an opening title sequence. The air of mystery of the partial reveal and the symbolism of incompleteness (glass blocks) really worked well with the subject manner of the film. I also lerned how to comfortably move around in Cinema 4D and a technique to add to the tool box. Thanks for sharing the technique.
    Brett

  64. Thomas says:

    You’re hired :)

    Btw. it seems that Vimeo is having a hard time optimizing playback WTIHOUT STUTTER!

    Will never know what these guys at Vimeo are doing wrong …

  65. Marcelo says:

    You make it looks so simple…
    Cinema 4D is like Greek to me… I need to practice more.
    Thanks for the great stuff.

  66. polarity says:

    nice.
    i cant wait 2 part :)

  67. Peedy says:

    You should do a motion tracking tutorial:

    http://www.youtube.com/watch?v=eSw5tuhK1oo

    loads of tracking done on this one…

  68. MarcyVF says:

    Dude you’re PUMPED!
    Nice tut, thanks a lot.

    And I’m not tired of seeing your face btw.

  69. Martin says:

    What’s going on with part 2

  70. MarcyVF says:

    Hey what’s with the BABY picture in the background?

  71. Ameen Ali says:

    This is the best tutorial of all time!

  72. Pingback: Reflective and Refractive Glass Block Tutorial Part 2 – After Effects | greyscalegorilla/blog

  73. Stijn Getteman says:

    Nice tutorial as the others^^

    But I do have one question though, I’m pretty new to all of the Cinema 4D and AE and I was just wondering why my render of this project took 10 hours to render in Cinema 4D, which is way to long as I know from previous projects I made. Are there any settings I can cahnge to make this go faster? Because I can’t wait 10 hours for every render to be done.

    Any people who can help me out? I’d appreciate it.

    • The Gorilla says:

      Reflection and Refraction take a long time to render. Especially with such high AA settings. Get rid of any of those things and it will render faster.

    • Stijn Getteman says:

      Yeah a friend told me to get rid of them, it will end up in less “fancy” looking, but the render goes indeed a lot quicker.

      Thanks

  74. Pingback: This week in Motion Design 18/04/10 | Motion Design Love

  75. ACE says:

    Hey NICK,
    first sorry for my english:D
    thx for u TUT,I creating also the same Video but better than yours :P with cool FX and sound:D with After Effects

    hehe but u still the best.

    check it out

    http://www.youtube.com/watch?v=f_uahjG_-Tc

    i creat also this amazing video with Particular 2,
    http://www.youtube.com/watch?v=y83AlTi9PG0

    please tell me what u thing, and u know u are the best MANNNN:D hehe
    THX for all u tuts!

  76. Pingback: Reflective and Refractive Glass Block tutorial – only on greyscalegorilla | C4D Blog - cinema 4D daily

  77. masin says:

    my TIFF renders are with white BG!!! WHY ?!

  78. yay says:

    Great!!!

  79. Dan Allen says:

    Hey Nick,
    I absolutely love your tutorials but i don’t have Mo-Graph :(
    Are there any other alternatives you would recommend coz i find it impossible to follow your tutorials as mograph seems to be your central tool in Cinema 4D for all your projects.

    Regards
    Dan

  80. Kevork says:

    Hey Nick i have a question how do i put these awesome text anims and stuff on my youtube videos please e-mail me the answer thanks

  81. Eddy says:

    Where i found starglow for mac : (

  82. Shydog says:

    Hi Gorilla,

    Amazing tutorial. I’m trying to put moving video or high rez still photos in place of the 3d text. Everything works technically, but the image comes through the blocks with an extreme amount of dithering.

    Any thoughts as to why?

    Shydog

  83. Paulo Pocas says:

    Hi there, just found your site and it ROCKS :) made my version of this tut I never worked much in C4D but I decided to take a swing at it now. here is my version, real cool effect.

    http://vimeo.com/11170227

  84. Ameen Ali says:

    Nick there’s a tip :
    If you hold Shift while you’re editing your time line thing you can actually edit only one side of the animation for example if you edit that slow motion it wont effect the fly-out animation.

    Give it a shot and tell me what you think :)

  85. Tobias says:

    Hi Nick .. great and awesome tutorial are you working with motion clips as well ??

    greets tobias

  86. Bira3D says:

    Hi Nick,
    Thanks for the tutorial, I enjoy watching them.
    Speaking of glasses, I’d like to show you something I’ve done in C4D.No post work. Hope you’ll all enjoy and thanks for any comments.

    http://vimeo.com/11239861

  87. Jeff says:

    i have watched a few of your tutorials, and this was great! thanks, was a big help.

  88. wayfarer designs says:

    wow. i have got to say, you are amazing, i just found greyscale gorrilla, and am surprised at how i could not have found such ana amazing resource before. definitely will be twittering your site, and adding a link to my website, and letting everyone know.

    please keep stunning us!

  89. Zo says:

    Wow. I Luv u GG~!

  90. ehab kamal says:

    hey Nick,

    i wanna thank you for this nice tutorial and all other super helpful videos you do.
    check what i did with it. i would love to hear your critique. thank you

    http://vimeo.com/11316668

  91. Andres Martinez says:

    Man I love your intro “I’m the Gorilla”
    great tutorial as always.

  92. Moor says:

    Nick, love your layout for C4D can you share it?

  93. Moor says:

    HELP !!!!!!!!!!! When setting the 90th keyframe, when changing the value of the panning camera to the front of the scene the camera moves but does not swing to front view…I’m a Nub

  94. Ahmed says:

    greats from Egypt
    this actually a great moving smooth and easy Tutorial
    even it’s my first time to work on Cinema 4D but you made the whole thing very understandable
    thanks again Nick ( I hope I spelled it right )

    Ahmed

  95. Hey, great tut, as usual!-you have a wonderful , organic way of explaining the whole tech process, without being condescending, thanks!-CZ

  96. Joris says:

    Thanks, this tutorial was realy inspiring!
    This is what I used it for: http://www.youtube.com/watch?v=plsY-67u-qM
    starts at 00:19
    The text is dutch and represents the history of communication, if you wanted to know

  97. akatsuki says:

    Wow… That was so Cool!!! 100%. I Like your style…

    I like visiting your blog and http://www.giantoctopus.com/. You are both is my inspiration…

  98. Hi Nick,

    First of all, great website and great tutorials! I find a simple way to place the random blocks by yourself. Just right click on the cubes in the random effector and click on make editable. Now you can arrange the random blocks by yourself!

  99. tygryss says:

    Great tut.
    I try to follow it with maya, but there aren’t any random cloner thing, so I wrote it in mel. it isn’t so cool then in C4D, but do the job. (thistime I working on a smarter version) :)
    but if someone want to follow with maya, can use my script (sory the source is long, but if you have any question ask it) :

    // Just copy and paste to maya’s script editor
    // Krisztian Kosi

    if (`window -ex randomInstanceUI`) deleteUI randomInstanceUI;

    window

    -t “Random Instance by Krisztian Kosi”

    -mnb off

    -mxb off

    -tb on

    randomInstanceUI;

    columnLayout -adj on lcLayout;

    intSliderGrp -label “Number of Instances” -field true

    -minValue 0 -maxValue 100

    -fieldMinValue 0 -fieldMaxValue 10000

    -value 9

    numberCopySGP;

    separator -h 5 -st “in”;

    text -l “Translate”;

    floatSliderGrp -label “translate X” -field true

    -minValue -0.0 -maxValue 100.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 10

    transXSGP;

    floatSliderGrp -label “translate Y” -field true

    -minValue -0.0 -maxValue 100.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 10

    transYSGP;

    floatSliderGrp -label “translate Z” -field true

    -minValue -0.0 -maxValue 100.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 10

    transZSGP;

    separator -h 5 -st “in”;

    text -l “Rotate”;

    floatSliderGrp -label “rotate X” -field true

    -minValue -0.0 -maxValue 360.0

    -fieldMinValue -0.0 -fieldMaxValue 360.0

    -value 90

    rotateXSGP;

    floatSliderGrp -label “rotate Y” -field true

    -minValue -0.0 -maxValue 360.0

    -fieldMinValue -0.0 -fieldMaxValue 360.0

    -value 90

    rotateYSGP;

    floatSliderGrp -label “rotate Z” -field true

    -minValue -0.0 -maxValue 360.0

    -fieldMinValue -0.0 -fieldMaxValue 360.0

    -value 90

    rotateZSGP;

    separator -h 5 -st “in”;

    text -l “Scale”;

    floatSliderGrp -label “scale X” -field true

    -minValue -0.0 -maxValue 10.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 1

    scaleXSGP;

    floatSliderGrp -label “scale Y” -field true

    -minValue -0.0 -maxValue 10.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 1

    scaleYSGP;

    floatSliderGrp -label “scale Z” -field true

    -minValue -0.0 -maxValue 10.0

    -fieldMinValue -0.0 -fieldMaxValue 1000000000000.0

    -value 1

    scaleZSGP;

    separator -h 5 -st “in”;

    text -l “Actions”;

    button -l “Do IT” -c “doIT”;

    button -l “Cancel” -c “deleteUI -wnd randomInstanceUI;”;

    showWindow randomInstanceUI;

    proc doIT()
    {

    string $curSelObj[] = `ls -sl`;

    int $numberCopy=`intSliderGrp -q -v numberCopySGP`;

    for ($i=0; $i < $numberCopy;$i++)
    {
    instance -n Duplikalt;
    }

    string $lista[]=`ls "Dup*"`;

    float $transX=`floatSliderGrp -q -v transXSGP`;
    float $transY=`floatSliderGrp -q -v transYSGP`;
    float $transZ=`floatSliderGrp -q -v transZSGP`;

    float $rotateX=`floatSliderGrp -q -v rotateXSGP`;
    float $rotateY=`floatSliderGrp -q -v rotateYSGP`;
    float $rotateZ=`floatSliderGrp -q -v rotateZSGP`;

    float $scaleX=`floatSliderGrp -q -v scaleXSGP`;
    float $scaleY=`floatSliderGrp -q -v scaleYSGP`;
    float $scaleZ=`floatSliderGrp -q -v scaleZSGP`;

    select $curSelObj;
    float $origtranslate[]=`getAttr ($curSelObj[0]+".translate")`;
    float $origrotate[]=`getAttr ($curSelObj[0]+".rotate")`;
    float $origScale[]=`getAttr ($curSelObj[0]+".scale")`;
    move
    ($origtranslate[0]+`rand ($transX*(-1)) $transX` )
    ($origtranslate[1]+`rand ($transY*(-1)) $transY` )
    ($origtranslate[2]+`rand ($transZ*(-1)) $transZ` );
    rotate
    ($origrotate[0]+`rand $rotateX` )
    ($origrotate[1]+`rand $rotateY` )
    ($origrotate[2]+`rand $rotateZ` );
    scale
    ($origScale[0]+`rand ($scaleX)`)
    ($origScale[1]+`rand ($scaleY)`)
    ($origScale[2]+`rand ($scaleZ)`) ;

    print $curSelObj;
    print $lista;

    for ($objElement in $lista)
    {

    // float $origScale[]=`getAttr ($curSelObj[0]+".scale")`;
    select $objElement;
    float $origtranslate[]=`getAttr ($objElement+".translate")`;
    float $origrotate[]=`getAttr ($objElement+".rotate")`;
    float $origScale[]=`getAttr ($objElement+".scale")`;

    /* move `rand $transX` `rand $transY` `rand $transZ` ;
    rotate `rand $rotateX` `rand $rotateY` `rand $rotateZ` ;
    scale ($origScale[0]+`rand ($scaleX)`) ($origScale[1]+`rand ($scaleY)`) ($origScale[2]+`rand ($scaleZ)`) ;
    */

    move
    ($origtranslate[0]+`rand ($transX*(-1)) $transX` )
    ($origtranslate[1]+`rand ($transY*(-1)) $transY` )
    ($origtranslate[2]+`rand ($transZ*(-1)) $transZ` );
    rotate
    ($origrotate[0]+`rand $rotateX` )
    ($origrotate[1]+`rand $rotateY` )
    ($origrotate[2]+`rand $rotateZ` );
    scale
    ($origScale[0]+`rand ($scaleX)`)
    ($origScale[1]+`rand ($scaleY)`)
    ($origScale[2]+`rand ($scaleZ)`) ;

    }

    }

Comment Rules: I love helpful comments. We don't all have to be friends or agree, but we do have to be nice. Criticism is fine, but rude comments will be deleted. Use your real name and don't be spammy. Have fun and thanks for adding to the conversation!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>