question

Kyan E avatar image
Kyan E asked ·

Lego Plastic Shader in MtoA

Hey Fellas!

This is my first post to this forum and I hope someone can give me the right hint for the last few steps for an photorealistic look.

I am working on a small side project and started to build Lego bricks in scale (1 block is approximately 3x1.5 Maya units). Now that the modeling is done, I'm getting to the real deal: creating a convincing and photorealistic Lego shader with Arnold 5 in Maya.

What I did so far is a simple shading setup with a coat on top but i am not 100% happy with it. I saw @Lee Griggs Lego renders on his Website (https://leegriggs.com/lego-renders) and really want to recreate these convincing looking shaders for my project.

- I dont have any diffuse in my Lego Shader, just full randomwalk SSS (weight of 1), a red SubSurface color and the Radius has a slightly brighter red. The scale is set to 0.020, the Type is Randomwalk and I am not using the Anisotropy.

- For the specular, I set the IOR to 1.550 for plastic, have a roughness of about 0,500 (driven by a combination aiNoises) and the overall weight of the specular is 0.500

- On top of that I have the coat with a weight of 1, white reflection color, a roughness of 0.180, an IOR of 1.550 and an aiNoise screened with an (crappy) alpha of the LEGO- Font in an aiComposite node that goes into the coat normal. I also want to introduce an aiCurvature to break up the coatSpec on the edges of the Lego brick to create imperfections in the next step.

Maybe someone can give me some tips on how to improve the shader or share a setup. Don't know if I'm doing something terribly wrong.

Here is a test render of what I have so far. The light is just a standard HDRI (the famous Kitchen Probe from Paul Debevec). It's on a good way but I feel that there is something off.. maybe the overall spec roughness in conjunction with the coat is not adjusted the proper way?

Regards,

Kyan

rendershadersarnold shader network editor
legoshader.jpg (1.1 MiB)
setup-so-far.jpg (238.9 KiB)
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Lee Griggs avatar image
Lee Griggs answered ·

BrickIt contains an excellent Arnold Lego shader.

2 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Hey Lee,

thank you for remembering and coming back to this post! I‘m still working on my private LEGO project whenever I find some spare time. I already built my own, custom LEGO set before Round Corners got released and created a shader that I am happy with before Romain introduced his plugin for Maya on Artstation.

¯\_(ツ)_/¯

I don‘t want „out of the box“ solutions for my portfolio-work I‘m doing at home and half the fun with these side projects is tackling everything by myself.

But I thought about getting BrickIt once I‘m done with my project to play around with.

1 Like 1 · ·
legogogogogo.jpg (99.8 KiB)

Nice to see it progressing Kyan!

0 Likes 0 · ·
Zeno Pelgrims avatar image
Zeno Pelgrims answered ·

The trick for these type of things is to get yourself an old brick and look at what the reflection is doing when you hold it up to a light. You’ll see that there are many subtle warping displacements from the molding process. It’s super important to paint these in to get a convincing realistic look.

Then ofcourse implement the scratches/edge breakup/fingerprints, and make sure to closely match the Lego colours. They stick to an extremely limited set of colours.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Lee Griggs avatar image
Lee Griggs answered ·

Here is a recent example (by no means perfect!).


lego.jpg (143.5 KiB)
Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Kyan E avatar image
Kyan E answered ·

Hey @Zeno Pelgrims, thanks for your reply! I am having an aiNoise going into the normal input of the specular coat to mimic the warping of the molding process. Do you think its not strong enough? Maybe making the aiNoise a bit broader and increasing the bump strenght?

For the edge breakup I am trying to get the coat roughness via an aiCurvature node that I am masking with a couple of aiNoises and clamping the ranges inside aiRange to break up the lines. I don't feel full control yet and I need to refine it more, but its hard to adjust everything inside Maya compared to painting a map.. but thats the challenge! Also using this map to mask in some scratches and desaturate colors is what I want to go for. Check the roughness that i have so far in the image below. It definitely needs to become way better and I really want to achieve a good map in the end.

I also started to introduce an aiCellNoise with a dense worley1 pattern that I am also masking with other aiNoises to get very rough dots that mimic dirt stains. They should change randomly in size for more realism.

Here is what I have right now. Its evolving, but there is still some work to do.

For the Lego colors I am eyeballing reference images to adjust the SubScatter- and Radius color for the SSS to match. I also dug in the crates and got me some old Lego to play with on my desk.

Whats the best way of bringing in fingerprints? I have tiled maps that I could use but I am not sure on how to spread them convincingly over the whole brick inside Maya (and not having them too dense all over the model). Is masking away of a fingerprint-map with bits of aiNoises and aiCurvatures a good approach?

Do you think it would help to bring in a bump or even a displacement in conjunction with the roughness on the edges to really break it up the edges like in the reference image above?

Lego is not as easy as I thought it would be. It's challenging right now, but its a lot of fun to go down the rabbit hole.


reference.jpeg (1.5 MiB)
lego-roughness.jpg (468.3 KiB)
legoshader4.jpg (961.5 KiB)
Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.