Showing posts with label theory. Show all posts
Showing posts with label theory. Show all posts

Wednesday, January 15, 2025

Blender - AI-T - NVIDIA - 2025

I praised the lord that I could participate at the first time on the Blender conference. I was really amazed that creative community is so creative, innovative, open-minded (and unsustainable (free Coca Cola wtf?)...but it is a different topic).

If you ever wanted to understand color management, my advice is to give up :) and just follow the best practices what Jacob Holiday showed us, for eg. Really, really powerful presentation.

If somehow you are not fulfilled after this ↑, check this: the Bible (of Color Management) aka Cinematic Color. 

Also worth to mention MagnumVD. This youngster do stuff, and I mean it.




My presentation was a little bit different and it is only for online communities.


But what about NVIDIA and AI-T (artificial intelligence/information technology). I think the misconception about AI is that these stuff is for Artist. Not really. Artist enjoys creating stuff. If you want to skip the process you rather want to be startup or real estate investor. But there is this mantra: "be more and more and more efficient" but those are rather technical topics than artistic.
To contradict myself being an artist means we have craft (aka technical) skills to use tools like paint and brushes for painting. We get skills of using Blender and so on. So these are also technical topics. Since we use software (at least computer artists) that written in programming language leveraging scientific knowledge and research it really essential to at least have a grasp about the technology and science behind the tools what we are using as an artist. As the great painters hundreds of years ago, they were the masters of utilizing the chemistry of the paints and the canvas fabric and so on.

So that's where can be a major shift, or will emerge a new generation of artist who mastering the AI trainings to train the best models to create images, visuals, videos, sound, substance what cannot be done before. 

I really feel there is an interesting position of NVIDIA in that process of advancing AI technologies. Because they belong with us. NVIDIA has significantly advanced computer graphics over the past decades, and they recognize the enormous business potential in this AI field (just look at their stock market performance). However, this rapid development also challenges the value and role of being an artist in today's world.




Francesco Siddi also touched this topic on BCON however it is not really a thing.


Here we go 2025 (not to forget the energy crisis crashes the climate...turn off your computer and give up crypto-mining)




Wednesday, February 5, 2020

Character Animation On A Higher Level

Impressive presentation at Siggraph 2019 about an animation system called “ephemeral” rigging.



Tuesday, June 18, 2019

Scott Ross went to China (might never come back)

Everybody knows Scott Ross in the VFX industry. So it might be an old story but I found these interviews recently:



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, 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.


Tuesday, July 26, 2016

Technical Papers 1. (Try to avoid overdose of information) - Sketch Animation Poses

Recently I've checked a lot of technical papers (in connection with CGI of course). We can simply overdose ourself with information via surfing on the net. So I try to avoid that and just feature technical papers and videos one by one what I liked most.



In connection with that I found an interesting development project using Blender:



Wednesday, June 8, 2016

Pixar's Universal Scene Description (USD) - Generalization of Pipelines

It is time to write about it because it seems we can have it soon. Pixar Animation Studio announced its intent to release its Universal Scene Description software (USD) as an open-source project by summer 2016.



So what is USD and what we can except if it will be used by VFX/CG studios all over the world. My opinion is that there is shift in the industry which leads to the generalization of pipelines and open-source technologies have key role in it.

Commonplace is that: every pipeline is different. It might be true but the end of the day studios, managers, supervisors, artists are facing the same or very similar issues day by day. There is the need to be more efficient and the CG/VFX pipeline is more and more in focus. But there are no off-the-shelf products so every studio has to develop in-house technologies and tools to manage their work. Usually the main driving forces of the development are the projects which are generates a lot of practices (how to name things for eg.). Ideally these practises are evaluated after and before the projects and could be implemented into the pipeline. So the pipeline evolves but this evolutions is rather some thing like agile software development which is works fine for a short term. In long term the pipeline development is based on the legacy of previous works and that is why every pipeline can be different.

But we can get to the point where the pipeline won't let us to be more efficient because of the legacy. For example it won't let us (or it would be too expensive) to implement new technologies, solve bottlenecks. And that is the time when the pipeline should be re-evaluated as a whole. The process is the generalization of the problems we face day by day. On a long term (might be decades) it has to result that studio pipelines are getting more and more similar. Of course there are new technologies, hardwares and the softwares which can distract the generalization process. That is why I think open-source technologies have key role in that, because the CG/VFX community can work together on the so called "best practise".

Universal Scene Description is a promise to generalize the way we build up 3D scenes and share between different (most likely 3D) softwares like Maya, Houdini, Katana, etc. They are on their way: as the FAQ says linux version can be downloaded and windows implementation is coming soon. Extended documentation and tutorials are also there.

Monday, February 8, 2016

Animation is the weakest area in VFX - Intro

I read an article about the future of VFX a long time ago. It was in 2004. You can still have it:12 Predictions on the Future of VFX. We can summarize what came true.
My point is as the title says: the animation in VFX is still way more immature than other areas. I don't speak about animated (2D or CG) films or shorts because they are amazing.
It is a complex issue. First of all I should define what I mean by animation. Usually we can separate animation of living things like animals (not plants though) and the others. We can talk about keyframe animation, technical animation, traditional animation, character animation, etc.
I want to write about it in details, but right now I just post a video. It is about how science can deal with animation. I'm looking forward to the solution where animation is kind of a mixture of simulation and keyframe animation.



Friday, January 23, 2015

Naming Convention 4. - Numbers

We use numbers to count things. Avoid to use numbers on distinguish things.
Typical example to count versions like:
v001
v002
...
But not the best practice to distinguish different things like:
Tree_01
Tree_02
I usually use letters to distinguish variations.
Tree_A
Tree_B
...
Tree_Z
Using one letter can refer to 26 variations. We can extend it with double letters like:
Tree_AA
Tree_AB
...
We can combine variation with counter like this:
Tree_A_01
Tree_A_02
Tree_B_01
Tree_A_02
...

Anyway, this topic is about using numbers. We are talking about CG and VFX (as TidyVFX is about that) but this knowledge is important for the whole universe of course :)

To establish a naming convention means we have to specify for what to use numbers.

1. Count things
As I wrote above

2. Arrange things
For files and folders usually have to use numbers to specify a certain order because file systems use alphabetical order by default. For eg. if we have IN, OUT, PROD it would look like this in the file system:


But if you want a certain order you have to use numbers like this:




2.1 Padding series
Because of the file systems another thing to deal with is the padding. It is quite simple.
One character can produce ordered sequence from 1 to 9, two character from 1 to 99, etc.
For image sequences in VFX we usually use 4 digits and that means correct order 1 to 9999.
Also have to mention never start a sequence from 1 because it is a big issue when we have to extent it with 80 frame at the beginning for some reason. It would start from -80 and we really don't want that.

2.2 Padding shots (insert shots)
There is another function of padding in shot numbers for eg. We have to consider there could be new/extra shots during the production. So if we use 001, 002, 003, we can't insert a shot between 001 and 002. We have to extend the name with zeros. Same rule. If we use one character that means we can insert 9 extra shot.
So the shot numbers should be like this:
0010
0020
0030
The rule for inserting extra shots is to halving the numbers. To insert shot between 0010 and 0020 would be 0015. To insert a shot between 0010 and 0015 would be 0013 (or 0012).
I would not recommend to use 001A, 001B for shot names.

Sunday, December 28, 2014

Naming Convention 3. - Files and Folders 1.

Let's pretend we have a project. A good starting point is to count how many things we have to deal with during a project. Obviously it could be tons of files and data. There are a lot of ways to deal with them but eternal question is "what is what?". So we have something and we have to give a name for that. Considering this we have to define what this something is. What is the reason for this something? For what we are going to use it? Etc.
To answer these questions we have to have a look at our project. That something can be an image file of a concept art or a 3d model or it can be a feedback that our client sent us.
Of course every project is different so we can only talk about it in general. This blog is about VFX-CG so I try to collect ideas about that kind of projects.

First of all we know there are inputs and outputs.
Inputs can be any kind of material which is not created during the project in-house.
Outputs can be any kind of material which is sent to the client, co-workers, off-site studios, etc.

If we are talking about folder structure it starts like this:

IN
OUT

One step back. There should be a solution to identify projects (or shows).
Date is a simple organizer with a project ID.

Definition:
[yyyy][counter][separator][ProjectID]
[yyyy] - year like 2014
[counter] - two digit like 01
[separator] - underscore
[ProjectID] - abbreviated name of the project - exactly 3 capital letters like OBP

For eg.:
201401_OBP (Obviously Basic Project)

So we have:

201401_OBP/
   IN/
   OUT/

Of course we shoud have something called production. We can extend that concept with pre-production and/or post-production.

That is the (first) point where we have to consider importance or priority because we have options to organize the folder hierarchy and there is no ultimate solution as I wrote before. One really important thing is to try to avoid redundancy. For example we can arrange folders like this:

201401_OBP/
    IN/
    PRODUCTION/
        PREPROD/
        PROD/
        POSTPROD/
    OUT/

As you can see PRODUCTION or PROD basically the same but there are two folders with almost the same name. So we can avoid that like this:

201401_OBP/
    IN/
    PREPROD/
    POSTPROD/
    PROD/
    OUT/

Usually this is also called flat vs deep directory stucture.

A typical file system arranges folders like above therefore we should use numbers to add a precise order of the folders like this:

201401_OBP/
    010_IN/
    020_PREPROD/
    030_PROD/
    040_POSTPROD/
    050_OUT/

About using numbers you can read this: Naming Convention 4. - Numbers

To be continued...

Thursday, November 20, 2014

Autodesk acquired Shotgun

Okay, it is not recenty news but for me it is because I do an extensive research on asset and project managment topic.
I found this a couple of month ago: Redcurrant. It is in connection with the Goosbery Project as I wrote before. As the open source community push forward the industry (not just CGI and VFX) it could be a viable idea to create an open source asset and project management solution. But as we know it is a tough-tough topic.
So what I expect from that acquisition? Is it all about the big fish eats the small one? Maybe. Because Autodesk provides lots of tools for VFX an CGI (but certainly not all of them) I think there is a need to establish a clear terminology for the industry. There is a global need of generalization I think. Example for that is OpenExr and Alembic.
What do I mean generalization?
There are lot of things which are the same for eg. in Maya, Houdini, etc. and whole the industry use these  concepts. Polygon, shader, render, etc. for example.
But lot of concepts are conceived at different vfx companies, universities and software developers, etc. which I think should be the same. Asset is a typical example for that. Is it a file? Or is it a set of file versions? Or it is a lot of small components which build a 3d character?
Another example is a status of a task. Task is a complex thing itself. About it statuses: there are ready to start, WIP, hold, pending, approved, completed, on feedback, daily, commented, reviewed, has revision, omitted, etc. In this list reviewed, has revision, commented basically the same. Certainly should be an exact definition for for statuses and certainly should be a clear picture how many status necessary for the project management.

There should be a standard definition for a lot of concept in connection with VFX-CGI.
I think a major player on the asset and project management field or an open source movement can affect the generalization of the industry. It might be Shotgun.

About Shotgun you can read here.
About the acquisition you can read here and here.




Wednesday, September 17, 2014

Naming Convention 2. - Pipeline (CG / VFX)

When we are thinking about naming convention more or less thinking about pipeline. So couple of words about pipeline.

We can separate workflow and pipeline. I could write a novel about this. Just look these words up in wikipedia. Of course we are talking about VFX or CG here so the simple conclusion is the following:

Workflow
A process like modeling, riggin, texturing, etc.

Pipeline
There is now exact wikipedia article about VFX pipeline. In general it means "chain of data processing stages". In VFX it could be workflows and their connections. We can imagine some kind of flowchart like this:



The arrows can be simple data input/out put connections or data processing as well. The boxes are the workflows as you can see above. Pipeline can refer to the arrows. Personally I prefer the concept that pipeline is the whole stuff (workflows and the arrows) as you can see above.


With computers we create, modify and store data. As simple as that. So the question is how we do that?

Workflow means (most of the time) we use softwares like Maya, Nuke, Houdini, Blender, Photoshop, etc.. They have input and output data: usually files. We have to store them in a consistent manner. Naming convention refers to that consistency.

We have to separate files from each other based on the content and store information within the filename. To organize files we use folders.
So the goal to establish an organized folder and file structure ruled by the naming convention.


Files and folders are ruled by the operating system (OS) therefore we have to accommodate these rules to the naming convention.

As I wrote before there are couple of problems with of folder and file structures in general. For example:
1. Limitation of the length of the file path.
2. One file can be only in one folder.
But this would be another topic. I'm going to write about it.


Thursday, May 29, 2014

Gamma Correction - Nuke - Open Color IO

Hot topic. I cloud write a lot about this but the information available on the net already. I started to examine this topic because I wanted to have a solid understanding Nuke's color management.

So I found two very useful articles about it.
The first one is especially about gamma correction:
Gamma Correction

For me the most important thing to understand is the following:

Human eyes see as linear - perceptually linear
Computers / cameras see as linear - value linear


The second one is a brief overview about Nuke's color management and there is an explonation how Nuke uses gamma correction:
Color Management In Nuke (By Steve Wright)

Okay, you went through and now you understand gamma correction. So here it is the next lesson:
Since VFX industry utilize different softwares with different color management there is a need to make a standard for VFX studios. Read more about this here:
Cinematic Color

Okay, you went through the first couple of pages and you really understood the topic is quite complex. Don't panic I felt the same.
But the solution is here as the PDF says: Open Color IO


Friday, February 28, 2014

Maya Tools - Locator size by scale - Write a function

So, we saw there was a simple 4 lines script to adjust locator size by scale.
How to make a so called tool?
I have no idea whether there is a scientific approach of that. I know about writing a specification. As a matter of fact I found a good article about that: Painless Functional Specification
I simply skipped the first chapter because I knew that is important so I didn't need a tale about that :)

But before I even knew about specification I usually thought as a user because I stared my "career" as an artist not a TD.
In this case this tool  should be only one click solution: Set Locator Scale By Size. To make it clear it is not for locator type object but cameras and lights. There shouldn't have been any other things just one button to click so we can move on to technical specification.

First of all we should write a function:

 def LocatorSizeByScale(Selection):  
     for item in Selection:  
         scaleVal = cmds.getAttr(item + ".s")[0][0]   
         cmds.setAttr(item + ".s", 1, 1, 1)   
         cmds.setAttr(cmds.listRelatives(item, shapes = 1)[0] + ".locatorScale", scaleVal)  

The argument should be a Selection. In maya ls command results a list no matter whether it is one or more object so the Selection has to be a list (array). With for cycle it works more than just one object. So we can run the function like this:

 LocatorSizeByScale(cmds.ls(sl = 1))

But as I wrote before there could be a lot of error situation. I'm a visual thinker. I don't make every time flowcharts but for the sake of this demonstration I'm going through the whole process of visual design. I'm a self-taught programmer and this is my practice not a scientific approach.

First I made a sketch of a flowchart.



It took around 5 minutes and another 5 minutes to verify and add notes. After that I could start coding. I had a clear picture how it would work. Okay but I don't expect reading that from anybody. I made a better picture for this article.





This flowchart shows everything what we need. If we can draw a flowchart like this we have a clear picture how the function is going to work. So the coding is just an execution of the plan.

The result code:

 def LocatorSizeByScale(Selection):  
     '''  
     DESCRIPTION  
     Scaling camera for eg. can cause problems (Z-Depth pass can be wrong for eg.). So scale value should be transfered to the locatorScale attribute.  
     If the object (the selected node's first shape node) has locatorScale attr it will be adjusted by the transform node scale.  
     INPUT ARGUMENTS  
     list - Selection - Selected nodes  
     RETURN  
     None  
     DEPENDENCIES  
     maya.cmds  
     maya.mel  
     '''  
     if Selection:  
         for item in Selection:  
             if cmds.nodeType(item) == "transform":  
                 # Only checks scaleX attribute. That means non-uniform scale not handled.  
                 scaleXVal = cmds.getAttr(item + ".scale")[0][0]  
                 if scaleXVal != 1:  
                     # Only the first shape node considered  
                     shapeNode = cmds.listRelatives(item, shapes = 1)[0]  
                     if shapeNode:  
                         if mel.eval("attributeExists \"locatorScale\" " + shapeNode):  
                             locatorScaleVal = cmds.getAttr(shapeNode + ".locatorScale")  
                             cmds.setAttr(item + ".scale", 1, 1, 1)   
                             cmds.setAttr(shapeNode + ".locatorScale", locatorScaleVal * scaleXVal)  
                         else:  
                             raise StandardError("There is no locatorScale attribute to adjust.")  
                     else:  
                         raise StandardError("There is no shape node.")  
                 else:  
                     print "Default scale value. Skipped."  
             else:  
                 raise StandardError("Only works for transform selection.")  
     else:  
         raise StandardError("There is no selection.")  
 
Further development
Better error handling in connection with selection and selection types
Non-uniform scaled object
Option to warn non-uniform scaled object
Option to warn already set locatorScale value

We will continue...

Tuesday, December 3, 2013

Naming Convention 1.

Simply it is the most important weather you are an artist or technician (so called TD) in the VFX industry. Furthermore it is the most important thing for mankind (or the universe). Naming convention is essential for everything.
Unique projects has unique naming convention. But let's pretend you won't do anything that nobody did before meaning of the process. So there are guidelines.
Naming convention is extremely important but there is another principle. As Richard Williams wrote in his book: "Keep it stupid simple." aka KISS.
Working with computer means you use operation systems like Windows and you create files which could be organized in directories. But you will find out sooner or later there are at least 2 big problem here.

Big problem 1.
One file can only belong to one directory.

Big problem 2.
More data we have that we can simply put into names, filenames for eg.

But these problems raise a lot of other issues. And this blog is more or less about to discuss those issues. Right now I simply use the KISS principle which also means (for me) do it as you can.

So we need a general solution of file naming. Before I tell you the truth I gather some ideas.

1. Importance of the order

Usually files are arranged by their names (alphabetical order).  So by giving names we can describe the order of the files.

2. Parts (tags)

We can of course combine different information usually called tags. So the question is how many tags should be there to collect the most important information?

3. Compressing information

We can say abbreviation but is more than that. Question is how can we compress more and more information into alphanumeric character. So for eg. we can use abbreviations but in that case we should establish a dictionary for those, because BG does not necessarily mean background for everybody.

4. Documentation

If you are a one person studio you might think documentation is not important. But it is. I think it is for every scale of facilities. So the naming convention should be documented. It can change over time from project to project and that means the naming convention document can have versions or can be attached to projects. It could be a simple text file.

4.1 Documentation template

Usual form to template naming convention is:
[tag1][separator][tag2][tag3][separator][tag4]

It can describe a file rules as well.

We can use explicit characters and variable names to be more clear.
[name]_[versionLetter][versionNumber]_[comment]

It could be necessary to explain the rule of the variables. We can call it file rules.
[name] Starts with capital alphabetical character and contains any alphanumeric character
[versionLetter] - Any non-capital alphabetical character

This example above use the "_" (underscore) as a constant character or tag. That means you can't change it. Usually when we describe a file path there are constant directories so they are constants as well:
e:/ Projects / [ProjectID] / 2D / ConceptArt / [AssetID] / 
[AssetID]_[versionLetter][versionNumber]_[comment]

In this example above the "Projects", "2D" and the "ConceptArt" are constant tags.

More complex when we use expressions like "AssetID", because this is not a simple variable but a concept plus and abbreviation (ID = identification). We should describe things like Asset and/or AssetID before we use it. But it is not the part of the naming convention documentation rather a documentation of the pipeline or system we utilize.

5. Character table
It is always recommended not to use special characters. That means file names contain only alphanumeric character, underscore and hyphen. We can express with regular expressions: [A-Za-z0-9_-] (see below)

So this would be my general template for file naming:
[name]_[vatriationLetter]_[versionLetter][versionNumber]_[comment]

And the rule for this pattern:
[name] - Starts with capital alphabetical character and contains any alphanumeric character
[variantLetter] - Only one capital alphabetical character
[versionLetter] - Only one non-capital alphabetical character
[versionNumber] - Two digit starts with 01
[comment] - Any alphanumeric character


Below we can see a series of examples how it looks in practice. So it is more like the explanation of the concept behind this naming convention.
Let's say I'm working on a landscape concept art. So the name part would be "Landscape". I separate the process stages like sketch, details, colors. So the version letters represent these stages (a, b, c). I can also comment where the stage starts to be more clarify.
Usually when we work on something we don't consider at the beginning there might be another variant for the subject. So if we use "A" as a base variant we won't ruin the naming convention later with adding an extra tag.

Landscape_A_a01_Sketch
Landscape_A_a02
Landscape_A_a03_Background
Landscape_A_a04
Landscape_A_a05_FGTrees
Landscape_A_b01_Details
Landscape_A_b02
Landscape_A_b03_BGMountains
Landscape_A_b04
Landscape_A_b05
Landscape_A_c01_Colors
Landscape_A_c01_SkyAndClouds

You might find the "a", "b", "c" a little bit confusion to use for versions. You are not the only one. Most people use a "v" letter like  "v01", "v02", etc. But using only one constant version letter we can't embed more information with that.


Footnotes

Regular Expressions aka Regex

Regex is a tool to analyze names. Usually it used to verify and search. If you have a basic idea how regex works you might want to establish naming convention that can be easily handled with regex.
For eg. the naming convention above can be described as regex pattern like this:
[A-Z] [A-Za-z0-9]+_[A-Z]_[a-z][0-9]{2}_[A-Za-z0-9]+

So the regular expression tells to the engine the name:
Starts with one capital alphabetical character [A-Z], followed by alphanumerical character [A-Za-z0-9], it could be one or more +, followed by an underscore _ (constant letter), followed by a capital alphabetical character [A-Z], followed by an underscore, followed by a non-capital alphabetical character [a-z], followed by any number [0-9], it has to be exactly two digit {2}, followed by underscore, followed by any alphanumerical character [A-Za-z0-9] and it could be one or more +.

The real benefit to use regex comes when you or your studio use programming languages or other tools to verify or match paths, file names, or any kind of text, etc.


Tuesday, September 17, 2013

Wednesday, July 10, 2013

Jargon 1. - VFX, SFX, PFX

I find myself use VFX, SFX, PFX in a special meaning. It might be because as a VFX guy I talking a lot about VFX and things like that with other VFX guys and there are some kind of unwritten definitions. But not really sure for eg. how an SFX guy is talking about SFX.

I think VFX usually used as digital visual effects nowadays.
SFX (Special Effect) can be the effect which is not digital, usually fire, smoke, dust, sparks, etc., but basically can be anything (special).
PFX (Practical Effect) can be physically created models that can be driven, moved or something like that. Because the VFX is getting more and more popular we might forget that creating a move is basically make the illusion. And this illusion if it is not digital made physically. I found recently an amazing reel about PFX or so called Animatronics.





I made this video just for fun. I think it is a good explanation of what making the illusion means.




References:
http://en.wikipedia.org/wiki/Vfx
http://en.wikipedia.org/wiki/Practical_effect

Let me know what do you think about these abbreviations.

Monday, July 8, 2013

Art Versus Technology

I was always confused what I was supposed to be rather a technician or an artist. My conclusion it really cannot be separated especially if we are talking about VFX. It is more likely art has a technical or scientific part. That can be analyzed described and taught. The other part...well for me that is more like transcendent. Because VFX stands for visual effect the first question is always, what? What it would be look like or what is the creative goal? That we can describe as an artistic part of the business. The second question is, how? How can we achieve that look or image? That is the technical part.
We can say art has a technical part but we not really say that technology has an artistic part. For example you can't say "art of programming". You might use that expression if you want to sell your book.
As a technician in VFX (so called TD) your role is to support artists. As an artist you have to understand the technical part of the business.

A long time ago I visited an exhibition of Gustav Klimt's drawings. For me it was a proof that great artist has a perfect technical skills.
Here is a drawing from 1879 at his age of 17.





I think he knew everything what can be known about drawing. And the other hand I think this picture is not described as a great artistic achievement.
Here is another picture form 1916.



If you have the skills and the knowledge you are free to create art.
About VFX I have to tell you the bad news. You have to follow the technologies no matter you are an artist or TD. Softwares and workflows rapidly changes. What you know today might be obsolete a year after. Of course in the other hand you might be able to work better and faster.