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.




Thursday, January 12, 2017

Switch to Blender - Forget the Maya (or 3DS Max) input preset

So much stuff is going on. I have a lot of topic I want to write about: naming convention, pipeline stuff, etc. But right now the most important thing for me is that I made the first big step toward Blender. Really :)

The first and very important thing that I had to do to get on the right track is to use the Blender default interaction preset instead of Maya.


By doing that I got the feeling what really Blender is instead of miss certain shortcuts used in Maya and got that feeling Maya works better for me. Of course using the Blender default interaction I have to learn tons of new things, but the more I learn about Blender the less I have the feeling that Maya is better. So it is a beginning of a long journey :)

Later I saw a Blender Conference presentation by Tangent Animation and Jeff Bell said exactly what I experienced about the Blender vs Maya interaction...so I know that I'm really on the right track.

Thursday, November 24, 2016

Maya Tips & Tricks - Using directories outside of the maya project stucture (relative path)

One of the main purpose to use Maya project structure to have the ability to reference directories locally. That means the project can be relocated. Let's say we have the Maya project root folder:

r:/Projects/201401_OBP/shotProd/010/maya

So the Maya default project structure look like this:



Beside the folders there is the workspace.mel file which describes the file rules within that Maya projects. In practice that means if you have Maya running and set this project (File menu / Set Project...) and you hit the Open Scene... from the File menu the file browser pops up pointing to directory below:

r:/Projects/201401_OBP/shotProd/010/maya/scenes

The workspace.mel file contains a mel command to address the file rule for Maya scene files:

workspace -fr "scene" "scenes";

More precisely there are two more file rule because of the maya scene file extensions. One for the .mb and one for the .ma extension:

workspace -fr "mayaAscii" "scenes";
workspace -fr "mayaBinary" "scenes";

The absolute scenes path is generated like this based on the current file rule:

project root  + /scenes

So Maya referencing the scenes directory below the Maya project root folder. Since than it does not matter where the Maya project is in the directory structure because inside the project it will be always valid.
But in studio scenario we can pretend that for eg. the Maya renders should be elsewhere than below the maya project as the default file rule describe it:

workspace -fr "images" "images";

Without any adjustment if we want to render an image it will look like this on Maya render settings panel:


As before the absolute scenes path generated like this based on the current file rule:

project root  + /images (the file name is the scene name by default.)


So as mentioned before usually we want to use an external directory to output the renders so the compositors don't have to look up it inside a Maya project but a directory with more general purpose. So the render (images) directory should be something like this:

r:/Projects/201401_OBP/shotProd/010/elements

We can avoid to use that absolute path. Maya can use relative path as a file rule. Just have to use the "../" syntax. It tells to Maya to go one directory up relative to the root folder. My super cool explanation picture:




To reference the elements directory the file rule will look like this:

 workspace -fr "images" "../elements";

My experience is that if I directly edit the workspacel.mel file maya only recognize that change after a restart. To edit the file rule via Project Window from the File menu it works fine.

Using relative paths means your project relocatable but the maya project itself depends on the outside directory structure.

Further reading.

Friday, October 21, 2016

State of VFX - Life after Pi

It happened just a few years ago but still with us. Digital Domain and Rhythm & Hues Studios two of the biggest VFX studios in the world bankrupted. They still exist thanks to new investments. But the bankruptcies were the symptoms of an unsustainable business model and that is still with us. Even at Digital Apes a tiny little company in Hungary we can experience the same pressure day by day that the clients want faster and would pay less money for that work with a fix bid.

For me the ultimate question is that: can everybody have similar salary around the world for the same work? Because the global competition of the VFX industry inevitable favors the cheapest labor prices. In the age of open-source movements technology and other factors will equalize in the long term.
Subsidies the other factor of course but it is a very very bad blind practice of governments to galvanize industries. What it means basically they help to make profit for investors by the local taxpayers' money. Okay but it is another topic for another blog...

So here it is the film what I would like to share:







Wednesday, September 28, 2016

Naming Convention 3. - Files and Folders 2.

To continue the previous chapter the starting point is the following stucture (I removed postprod folder explained later):

201401_OBP/
    010_IN/
    020_PREPROD/
    030_PROD/

    040_OUT/

When we start to create directory structure we are about to define the pipeline as well. By doing that we define concepts and create rules. Let's think about folders as a sets. We have a lot of things in the VFX production and we analyze those to define what is what. Does the particular item fit into that set or not? For example: is the current 3D model an asset or a shot. The answer is quite clear. Is that model a preprod(uction) or prod(uction) model? Not sure. To make it clear we have to create a rule like the following: there is no preprod model because preproducion is only a step its creation process ( for eg.: version 003 is more like preprod asset but version 008 is hires production model).

So right now we have to define a couple of concepts, pre-production (preprod), production, asset and shot produciton.

Pre-production
Less managed workflows like concept art, previz, animatics, storyboard. In VFX production it is usually before the shooting so it means there are no shots. Actually if we make previz or animatics we create shots but they can't be the production shots (except for full CG shots - see below).

Production
It is important to note that in VFX Point Of View there is no post-production. The whole film making process of course has post-production process. But if we use prod and post-prod folder one of them is kind of a meaningless. I hope it is not confusing.
So in my definition production for VFX is the process on the shots created by principal photography.

Asset production
Asset is a general concept in VFX. There is the concept asset production. Basically it means we create things which can be used in multiple shots, or we produce things shot independently.
Usually we are talking about sets like: characters, sets, enviroments, props.
 

Shot production
Shot is a general noun in the film industry. In a context of VFX shot production means obviously the creation of the VFX shots for the film. It can be divided to VFX shots, full CG shots and so called post FX shots (usually simple 2D effects like translate or rotate the image).

For shot production
Pre-producion can be defined like this: if we working on shots before we get shots created by principal photography it has to be the pre-production.

So asset and shot production basically a production and should below the 030_PROD folder.

201401_OBP/
    010_IN/
    020_PREPROD/
    030_PROD/
        ASSETPROD
        SHOTPROD
    040_OUT/

But can be simpler like this (to avoid deeper folder structure):

201401_OBP/
    010_IN/
    020_PREPROD/
    030_ASSETPROD
    040_SHOTPROD
    050_OUT/

You may ask: what is the logic behind using capital letters. And the answer is: fashion. There is no reason for that. So it should look like this using camelCase:

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


To be continued...


Monday, August 8, 2016

Physically Based Shading in Theory and Practice

As we all now (CG and VFX guys) Siggraph has an youtube channel called Siggraph University. A month ago they released a very very handsome presentation by Naty Hoffman called Physically Based Shading in Theory and Practice from 2015. So here it is:


Important is that it covers "only" the BRDF model (Bidirectional Reflectance Distribution Function). To see the other models jump to wikipedia.
They also released a coverage of the 2016 event with the same name. It contains 7 presentation and the first hold by Naty Hoffman again who summarize the current state of the topic.


Unfortunately some of the other presentations are not available right now because of some kind of legal issues.