Friday, June 2, 2017

Making of Adam - The VFX

You have certainly seen this short film:



What you may haven't seen this article about the making of the vfx stuff. Quite comprehensive article (I wish I could write things something like this):

Adam – VFX in the real-time short film


Saturday, May 20, 2017

Maya Tricks - Maya Pivot

If you want to know everything about pivot points in maya you should check this video:




Maya Tricks - Measure rgba value range

Let's say we have a file texture and we want to adjust the color of that. We have plenty of options to do that. I think the most sophisticated is the ColorRemap node which is similar to Photoshop's or GIMP's Curves tool or Nuke's ColorLookup node however Maya's ColorRemap is less user friendly I think.


Maya has an option to make a node graph to recolor the picture based on its luminance. We can create the node graph simply just clicking to the Color Remap button below the file node's effects rollout.


The node graph is going to look like this.


The ramp node has a default black to white gradient. We can change the black to blue for eg. and it will change the darkest colors on the picture to blue. Picture like this:


 with a ramp like this:


going to result a picture as we can see below:



The simpliest and obvious solution to change colors is to use the file node's built-in Color Balance options.


These options have limited capabilities of course. We can use textures on Color Offset or Color Gain for eg. Color Gain multiplies the texture file's color and Color Offset adds to or substracts from the input color. Maya has nodes for the basic mathematical operations: multiplyDivied and the plusMinusAverage.

But when we adjust the color of the original texture especially when we use Color Gain (multiplication) or Color Offset (addition) we modify the color range of the picture. As far as I know maya has no tool to measure color range of a picture. It would be useful when we use the modified map to emit fluid for example. Especially true when we use animated maps. We have setRange node but there should be an option to copy the current range values to the oldMin and oldMax fields.
There might be a python (pyMel or API) trick to achieve that. Let me know if there is a method to query the color range of a (texture) node output.

I found an easy solution to visualize the color range of a picture using the SOuP plug-in. It provides the textureToArray node. With that we can sample a texture and plug into the SOuP's peak deformer. So basically we can create a displace modifier. Unfortunately the (new) textureDeformer has limited options to acieve that effect. HightField has the same weakness.

To display our colorRange with SOuP nodes we can use a polyPlane as a base geometry. We have to setup a following network:


It is important to check the accurateSampling option on textureToArray node. That will ensure to sample trough to whole network.


In this case I use a luminace sampling using the luminance node and the output in this case the alpha channel. So the peak deformer is using the luminance values to offset the vertices.
If we apply the color as a surfaceShader to the plane the result will look like this.




Of course the measure of the peak is adjustable on the peak derormer.



This setup helps to visualize the RGBA or this case the luminance values. Since we use color management in maya. We can sample in maya viewport (or everywhere else) the real (not only 0-1) color value. So this setup give us a hint which areas have the highest or lowest values.


We can get further if we query the list of y value of the vertices and get the color of the lowest and highest value by the colorAtPoint MEL (or python command).

Wednesday, April 26, 2017

Blender 2.8 Project - Eevee Roadmap

I can't wait to try Blender's new viewport render engines. Especially the so called Eevee. It stands for Extra Easy Virtual Environment Engine and basically means we can render good quality in realtime. Of course it depends of our graphics card.
I really don't understand why we should use cycle to achieve cartoon style look as it covered in this video. I guess the reason is because current viewport OpenGL render quite limited. But raytracing is not an alternative for me if we talking about cartoon style. So the new Eevee engine could be.

Check this out here

This video also covers the topic


Thursday, March 16, 2017

The benefits of using Blender - Bug reporting and solving

On a sunny morning at the beginning of March I found that if I hit OpenGL render active viewport in the Video Sequence Editor Blender crashed. I tried it different ways and I realized that the reason is  the scene had Grace Pencil drawing. It was a bug. I was kind of newbe using Blender but I had internet so I search for bug reporting. I found that article in Blender Nation:
Reporting Bugs in Blender 

I just followed the instruction. I had to register on developer.blender.org forum. So I report the bug on 1st of March (2017) and within a day I got the confirmation and on the same day there was a new daily release which did not produce the crash. Pretty amazing, isn't it! Which commercial software company can compete with this?
Btw the (latest) daily build which can be found here: https://builder.blender.org/download

Friday, March 10, 2017

Fabric Engine - GPU - MPC

It is a presentation from 2015 but still shocking how revolutionary what MPC developed "hand-in-hand" with Fabric Engine.


The background story is here.

Wednesday, February 15, 2017

Naming Convention 3. - Files and Folders 3.

To continue the previous chapter we have to further analyze the structure of a VFX production.

201401_OBP/
    010_in/
    020_preProd/
    030_assetProd
    040_shotProd
    050_out/

Just to mention there could be a folder hierarchy based on kind of a workflows like, edit, paint, composition, or hybrid ones like 2D, 3D. I not recommend that because of redundancy and the lot of time we have to spend to jump for eg. from 2D to 3D or paint and composition since we usually work on one shot at time. There is an exception:

Edit
Editing as a workflow is an exception because this is the workflow rule them all. So it should be at the top level of the structure. A VFX studio usually not responsible for the editing, but it is very important to have the ability to watch to VFX shots in context. So there have to be editorial information, pre-cuts or rough-cuts, sequences in together, etc. Huge topic so might discuss it later. The conclusion is the following:

201401_OBP/
    010_in/
    020_preProd/
    030_assetProd
    040_shotProd
    050_edit
    060_out/

In
Before we get to the fan part, it is time to consider that I tend to call secondary stuff like documents, storyboards, audio, references, etc. Where to put them. For the in folder the definition was: things which was not created in-house during the projects. Being a VFX studio it is most likely that all these type of things should be placed under the in folder. For a small production I do not recommend to use sub-folders (flat vs deep structure - flat is the winner I think), but for this case I use sub-folders to demonstrate it.

  201401_OBP/
    010_in/
        010_script-storyboard
        020_documents
        030_references
    020_preProd/
    030_assetProd
    040_shotProd
    050_edit
    060_out/

Another very important rule for the in folder: never (never never) reference files from here. If you see somebody referencing an image for eg. in a nuke script you should fire he or she or ask your boss to do that. And of course you should be promoted being recognized that.