Overcast lighting.

I decided to come back to painting. A few odd sketches I've made last week.



There are few old sketches I did after I bought my first wacom bamboo.

Oddbods lookdev and lighting reel.

I used to work on Oddbods tv series as a Lookdev/Lighting Artist. Our lighting team has done 60 episodes (7min each) less than for a year. The transition from classical shading and lighting pipeline to PBR wasn't easy, many people didn't trust the "new" PBR technology, but I think it was worth and now everybody is happy about it. Shading and lighting processes became easier, we don't spend many hours trying to keep our lighting consistent. With PBR everything is simpler and more predictable. Thanks to Igor's implementation of Disney principled shader.

There are many things I'm not happy with because there were many unexpectable limitations, but it was an interesting experience for me and I'd like to keep this slice of my job here.

Replace a string using textport in Houdini.

It is easy to change, for example, $HIP to $JOB for a whole scene by using textport

opchange -p / \$HIP \$JOB
opchange -s -i "asd" "qwe"

-p <path>
Start searching from this path in the operator hierarchy. If
you don't specify a path, the search begins at the root (/).

(Silent) Do not print the list of changes.

Normally, <from_string> only matches whole words (for
example, string "myobj" would not match value "myobj1". You
can use the -i flag to make the string match word

Cookies lookdev.

I made the cookie a year ago for the milk bottle concept project. Last time it was done in Cinema4D, now I decided to render it with Mantra. I started modeling from a cube which was scaled in Y axis. I subdivided it few times, so I got kind of 'pancake' mesh. After that, I tried to create fully procedural cookie: I used many types deformers/restriction tags in order to build a proper mesh. I decided to make it high-poly. But, after awhile I realized, that it would be simpler to paint proper textures instead of trying to manage millions of polygons. In order to do this, I simplified the mesh (pancake again:) ), took few photos of cookies (which I bought a day before) by using my cell phone and created a displacement map from these photos using Knald software. Then, I used Mari to project textures on my simple geometry, corrected displace a bit and that's it). The texture size was 4K. 
There is nothing special in the project. I used the corrected displacement map to drive specular roughness, specular intensity, and SSS.
When I rendered it in Houdini, I just added high-frequency noise to the existing displacement in order to get a more crumbly surface.

Hydrant lookdev.

There is a personal project and I'm still working on it. The goal is improving texturing skills in Mari, moving to Maya, Arnold and Renderman. I decided to try Arnold first. It looks quite friendly. The standard shader has almost everything you need. TX Manager is a great tool because it helps to speed up the rendering process dramatically. Especially, if there are many UV tiles, different and huge textures. 

I used Xuan Prada's turntable for Maya/Arnold. I found it very simple and useful.

I've rendered the animated turntable with mantra so far.

Work in progress:

Linking light to a camera.

Camera linker helps with positioning of lights according to camera position. Especially it works well with distant(infinite) lights. Light needs to be connected to the camera linker.

By default, camera linker works in the world space. Once needed camera is selected in the ‘camera’ field, camera linker will work in camera’s local space.

If there is a big camera movement, the light will follow the camera and shadow direction will be changing all the time.


In order to avoid this, it is better to freeze light position in specific frame. There is the ‘Static Frame’ option, which freezes light position in current frame. Of course, it is possible to change the frame.


There is also ‘Ignore Camera Tilt’ option, which switches vertical axis Y from the camera space to the world space.
If camera’s tilt is changing dramatically, it’s better to lock it - turn on ‘Ignore camera Tilt’.

Ignore Camera Tilt - off

Ignore Camera Tilt - off

Ignore Camera Tilt - on

Ignore Camera Tilt - on

This is the simple asset. It contains just few nodes. CHOP network grabs the information about camera position and rotation. Then, there are few blend nodes that help to mix and switch local and global transformations. Nothing special, but it helped me a lot during lighting process of tv series.


Download: obj_camera_linker_v001.otl