CG Sketchbook , notes and tutorials


New still : volumetrics



It took some experiments but i finally have fog, with light rays !

It was a long time i wanted to learn volumetrics properly, and get some proper ‘god rays’/ light halos and a ‘physically simulated’ fog  .. not uniform but showing swirls, movement and interaction with the env.

Making smoke simulations in blender is heaps of fun , but somehow also quite frustrating ,  it’s intuitive because it’s all based on physical params (emitters of smoke , wind forces , etc..) but it took quite a few iterations of change-the-sim-rebake-render-tweak and redo .. mostly in order to get an interesting distribution.


Above is a screenshot of the smoke sim scene , using a very simplified geometry loosely matching the scene as obstacle , some smoke emission from the ground , some from vertical planes on the side of the scene and 2 wind forces to push the smoke accross the scene.


Rendering the pass was the tricky part :


The screenshot above is the fog ‘pass’ : i copied the smoke sim result to another scene with the actual geometry , rendered , then partially colorized the smoke  based on depth (in comp) .

“God rays” were though to get .. the trickiest part was figuring out that “shaded” volume mode enables this effect , but only if light cache resolution is high enough (like 512 instead of default 50 )

But i ended up using “shadowed” : it does lightrays too ,  even if less refined (as if these volume shadows where perfectly sharp)  but is also generally faster to render.

Also the shading params aren’t as intuitive as for “solids” (“diffuse or glossy”) : In a Blender volume material  “reflection” is what will respond to external lights , so that must be high , a bit of scattering/trasmission and density  are necessary , but best kept low (quite low , even like 0.0X)  to reduce the  thickness of depth-fog vs. the intensity of the rays. And it’s necessary to have quite strong lights for them to show up as volume rays.

Though i don’t know much of the technical workings of volumes .. it would make an interesting tutorial , i’ll try making something for my YT channel when i’m done with this still.









New still : almost there…

Almost done , still to do for sure is some volumetric light and fog , and a few more details (some props ? and floating leaves or litter …)

I kind of like the light and comp as it is now .. however , i’m never sure : modelling and textures ,for me,  either ‘work’ or ‘don’t’,  i can easily decide  if they’re done or not.

Refining light and comp ?  it’s a much less linear process .. at this point of making a still i always become paranoid of messing up the look ..or that a different comp could make everything look much better 😀

One way to manage this is checking the previous wip renders (doing them often and always saving them) :  in this case i ‘confirmed’  improvements in contrast and exposure ..but i probably lost something in colors : too little saturation? …


In the screenshot below,  some  details about the render setup in Cycles :

It’s non-progressive -of course!  this mode is working fine now ( since january fixes i think, but i had not tried vast scenes so far )

I’m getting some decent rendertimes .. Well , sorta. This render is 3 hours on my 6 cores cpu .. but it’s not that bad .. the scene is not optimized for speed (as in being  hipoly and fancy materials ), the Gi uses 4 bounces, there’s  a hint of dof and motion blur on the leaves (still wip) and resolution is 150% of fullHD .

The noise is very uniform  from the 1st sample : that’s a good sign, means  not much rendertime is ‘wasted’ sampling some stuff more than necessary ( ‘stuff’ like  direct light or AA, which  require less samples than gi or ao)

And no fireflies !  well, it’s sunlight and not too much glossy , so not a very though case .. but check the left lamp (selected and with nodes shown in editor below ) the “light falloff” node can be super-helpful : it smooths the intensity  decay curve close to the lamp source .. so areas very close to the lamp won’t receive super strong light intensity , and won’t generate fireflies !

By contrast , the lamp under the balcony on the right is still missing that tweak , and you can see it does generate fireflies in the diff indir channel (bottom left of screenshot)

Edit : And by the way ,  in the diff indir pass, notice the light on the far building facade ? that’s bounce light from a white diffuse card (hidden on the right ) .. that adds some nice bounce light without adding  lamps.

That’s also something to remember .. when modelling buildings and streets , you don’t need the ones you won’t see , but if you’re using GI  you can often use some planes to bounce back sunlight  for realism and/or for a specific light effect..


Smoke sim doodle

Just a quick doodle to test a few technical things about smoke sim.

Apart from needing more voxel res. , all worked well and was easy to set up and control :  amount of light passing thru smoke , creating a smoke trail for a moving object, making the trail thick, but also have a thinner base of smoke/fog as a base to diffuse light … this should be useful for stuff to come

Also a nice preset file to share , after refining it a bit. For now a quick tip : to fill a volume with thin smoke in  few frames of simulation :  i suggest  particles  as smoke inflow , make them emit fast to quickly fill the volume,  then increase the  particle size in smoke sim cells (in the smoke inflow tab) , and decrease the density a lot . It’s a cheap and controllable way to create a ‘base fog’.

Finally time for a personal project !

It has become almost a tradition , every summer a new personal project ( an environment still for portfolio ) with -supposedly- the goal of doing something better than anything i did before 🙂

Last year i skipped , being just done with the TOS Dome  and busy with more work , and the previous year’s work  (‘Groggy’ 2011)  worked well in terms of texture paint and other technical aspects ..but the final result wasn’t much of an improvement over  the 2010 image , mostly because of a somewhat plain composition.

Now, i finally have some free time, so i’m in the blockout phase of a new piece ,  i’m trying to get composition right this time , and this slideshow should be interesting for that , check the tweaks and changes between different stages :

This slideshow requires JavaScript.

I like the result so far , seems balanced and has nice perspective, but i’m going to post around forums to get some crits and ideas on composition.

As for the rest, the general idea is to have an environment similar in style to what you find in Dishonored (Ooh..! their textures are really something) or Bioshock Infinite. Maybe not so painterly in the texturing but using that architectural style and world setting (about 19th century with some retro-looking tech) .

The reason for picking this style is .. well, i like it ! but also because i have already lots of sci-fi stuff in portfolio , and i need variation , but somehow ‘classical’ fantasy style never appealed enough to me (..for a personal, unpaid project , that is 😀 )

So baroque and steampunkish , it’s still to define how gloomy or not the final image will be,  right now i’m mostly concerned with good, unique looking refs for the various pieces , and the baroque architecture around my hometown  definitely has a lot to offer !

More soon.

This slideshow requires JavaScript.

Sabato 6 Luglio
Giornata Blender al File festival di Melzo.

In serata, proiezione di Tears of Steel , e al pomeriggio terrò un workshop di introduzione all’uso di Blender per environment artists e presentazione del lavoro sul Dome in TOS.

Prenotate i posti !


[eng : Blender event in north Italy : TOS screening and workshop 6 july]

Timelapse materials tests

I’m working on some timelapse-able materials for Tube, not sure if what you see here will be the final technical solution for that (depending on what’s best for animating this) , but as usual, Cycles nodes are lots of fun !

In the nodes below you can see a group node (red) that controls everything , a simple value / slider  drives overlays and mixes with various dirt textures or vice-versa cleans up the base textures blending them with a solid color.

Besides the red control group (it’s a ‘group’ to allow changes to all materials simultaneously) , in the center column are the base dif/spec/normal textures plus a grunge map, to the right some mix nodes to do the overlaying, and at the right-edge a nodegroup for the bsdfs (the actual ‘shader’ )

That shader preset is a slightly updated version of my usual base-shader for ‘normal’ materials with diffuse and glossy and controls for fresnell , glossiness and bump strenght.

Also : i’ve just created a “resources” page on this blog ! you can download that shader-preset there (togheter with the latest update of the 3xBlend nodegroup ..which btw, i’m not using in Tube so far to keep materials lighter).

More on these timelapse materials soon !


New texturing tutorial : Equalization and bumpmaps sculpt


New texturing tutorial on my YT channel : it focuses on 2 topics that proved to be the most problematic in the library i made for project Mango:
–Equalization : both in the sense of balancing overall brightness/contrast , but especially in the sense of  removing shadows and soft gradients and tiling patterns, in particular how to do that with ‘wavelet decompose’
— Bump maps: notes on how tricky is to paint good bumpmaps and how more convenient can be to sculpt them , and suggestions on the sculpt/bake workflow.

Short animation project : E-Fuel

Here’s a project i just finished ,  a 1min animation about e-cars refuelling stations , done in Blender (of course !) , rendered in cycles , all work done remotely using Opam as project man. tool.


Project advertisement company : GEM Globe Event Management

CG team :

Guido Alesse: mechanical parts rigging , animation

Alfonso Annarumma : character modelling, texturing, rigging, texturing car interior, cafè modelling and animation

Petru Ciobanu : tools developer , renderfarm management.

Francesco Paglia : supervisor , compositing , layout

Nicolò Zubbini : environment modelling, texturing, shading and lighting , pre-comp and render optimization.

This slideshow requires JavaScript.


Youtube link to full video :

This was quite an interesting 1st collaboration with the people above ,  and a great test of remote collaboration , we used  Opam (a proj. man. tool that handles tasks and revisions on a web ui plus the files sharing and versioning)  and long hours of google chat and hangouts.


Cycles : noise and non-progressive render



New tutorial on my YT channel (i initially created that to share my Mango env art videos , i will keep posting new ones once in a while,  thanks to everyone who subscribed !)

Tutorial about Cycles render setup , using non-progressive mode.
Tips about samples setup and renderspeed with direct-light+AO only (or 1-2 gi bounces max.)
These are basic Cycles instructions  : meaning and usage of setup parameters, but also useful for people who already know other render engines , but want to pinpoint the  effects of sampling parameters in Cycles.
Last part is about using these direct-light renders in compositing and combine them with the AO pass.

updates to my texture library

Below, some test renders of new textures and ‘shaders’ i  just made for my texture library,  by shader i just mean a texture nodegroup preset : e.g. top and bottom left use the same group ‘peeling plaster’ with different settings :brick color can be changed with a color picker , the ratio of plaster/bricks with a slider (quite simply controls a threshold node on a greyscale mask , allows to have bigger or smaller patches of visible bricks ), the plaster color and spec can be changed (plugging in another preset node) .

It’s really handy to prepare such libraries as nodegroups instead of simply loading in pngs each time : to have fancy parameters like those bricks , or even just grouping col/spec/norm in a nice box , and hide some mapping nodes for box mapping scale and world offset , exposing only the useful params.

On the right: some base metals,  like the brick/plaster combo these are some key materials that you always need and in after project Mango i had a few things in mind to improve.

Bricks now have better bump and col maps (still based on cg bricks more than photos : harder to make them realistic this way but you get precise, clean masks to create all channels and have a nice tiling map. )Also important was -finally-  managing to create a good peeling plaster mask : this instead had to be extracted as much as possible from a real world photo , painting these things (crackles too) by hand takes forever , if you want realistc look and scaling  (actually some brushes were used -available in Mango project files – but those too are stamps extracted from photos )  the texturize Gimp plugin was very useful to make this into a nice, even tileable mask.

For the metals, the question was that in mango i only made a couple base metal maps , and they were never as good as the ones i used before (based on cgtextures stuff though , so not CC)  now , these, are also ‘base’ metals : but i want to have more variants : scratched , rough, worn painted , sligthly rusted ..etc.

Next, i’d like to do some tests on floor/wall tiles (broken ones in particular) i’ll update this post then. (update : here they are , snapshot below)

EDIT2 : Below, 2 quick tests :   left is a re-texture and re-render of an old scene (Escher’s covered alley ) , right is a kit-bashing with misc pieces from the Dome .


Both were done quick and dirty , no custom painting , just tileables and some vertex painting (dirt verts) , of course it shows many limits , but also showed me how useful is to have nicely ‘coordinated’ textures  : a color +specular+bump matching , previously tested and balanced , then you just ‘slap them on’ but you get something shading much better than just having a color and some generic stuff for spec or bump.

Also both renders are Cycles , but only using  direct+ao (ao added in comp) , each took 5-10 mins on cpu. I’m not having much luck with GI and decent rendertimes . But  i love the node shaders and  the speed on glossies (at least at 0 bounces, although that’s not always enough)