- New member
GR tutorial guidance.
I came across GR as I was looking for a really solid rendering solution with a reasonable price.
From the looks of things, this looks to be a really solid choice for the work I do. But it seems hard to find really good information and tutorials to learn how to use it. I am somewhat accustomed to node graphs from software like Shake, Nuke and Maya, but really confused with the node system for this one.
Any guidance or direction would be much appreciated, as I think this could be a really solid choice for me.
Re: GR tutorial guidance.
- Right mouse button/Create/Reference
- Select your alembic
- Choose a namespace
Your abc is now in Guerilla.
Go in Library tab/lights and drag and drop Skylight into Browser.
Move in your scene, click on progressive icon (the lightning between "HD" and the cube) and do Ctrl+R (render), you should see your object lighted with a neutral sky lighting.
Go into the RenderGraph. Nodes are non destructive attribut modifications.
Select any object, you will see your node highlighted.
If you mouse the mouse over each node, you see, on top left, the modification each node apply.
- "All" is a Tag node and the Output of this node is "all your scene"
- "Surface" apply the given material (Surface material by default).
- "Trace" is more tricky to understand but it set some trace set values to the object. For example, removing the Reflection trace set of an object will not render it into mirrors.
- "Lighting" is the same as "Trace" but for lights. Each light apply on particular trace set (open the SkyLight object and select Sky or Sun and you will see). This is specially usefull for eye lighting where you want eyes to be lighted by a specific light rig.
- "Layer" is one of the best feature in GR IMHO: You can put objects in particual layers, both in visible and matte. For now, it only apply to the layer named "Layer" (we will talk about this later).
- "Ouput" is obvious.
You can drag and drop other nodes from Library but you can also use Ctrl+Space to show the node picker (a list of every node avaible).
Go into "Node List", select a group into your object hierarchy and drag and drop into the RenderGraph view, this will create a Path node (which can be used as a Regular expression).
The other very important node is "Attribute". Do Ctrl+Space, write "attr" and press enter, this will create an Attribute node. Plug the previously created path node into its input and plug the output between "All" and "Surface". A new node will be created (a "binop"), select "override" This will override the values you set in the Attribute node for the group of object in the path node.
Select the Attribute node and set Subdivision/Subdivision Level to 2 and enable Smooth.
The attribute's names will became blue and there will be an orange "O" button on the right of each of them. This mean you've created an override. Now, what goes in the input of the Attribute node will be Ouputed with it's modified attributes.
Render, only the group you've selected should be subdivided. The whole Guerilla workflow is based on this simple and powerfull non destructive override principle. You should never modify node's attributes inside the Node List but only via RenderGraphs.
Once you want to move back to root you cann double click on an empty space to click on the "root" word in the left bottom "Root|RenderGraph" (like a hierachy).
Next go in Passes tab and expand your RenderPass, you should have something like this:
- A RenderPass is a whole "render": Start/0% -> 100%/End.
- A Layer will render enverything put in it in RenderGraph (see Help/Samples/Layers and AOVs for more tests). Well managed it can be very powerfull.
- Beauty is an AOV. More than classical Beauty/Albedo/Diffuse/IndDiffuse/... Guerilla devs have write a bunch of them (in Auxiliaries), they are cool, use them!
Click on the RenderPass and let's explain some options:
File Pattern is an interesting one. Let me explain how Guerilla render it's images:
Guerilla does not render in EXR directly, it write each time separately in /tmp then "spread" the EXR following the given File Pattern. This allow multiple interesting things (predictible hierarchy of images, EXR post compression, EXR datawindow optimisation).
In Render Settings you have all typical raytracer parameters.
The two importants are:
- Image Sampling/Pixel (Width|Height) Which define the pixel sample grid.
- And the global Samples which is a "sample budget" the render will trace.
Production quality is 8x8 (or 12x12 in some case) and 1024 Samples (this highly depend on the scene sometime 512 is fine).
Shading/Light Importance is 1 by default. This is the best option for exterior scene of environement lighted scenes. In interior it bring to too much grain in IndDiffuse so put it to 0.75 or even 0.5 (about interiors, Guerilla support Portals).
Guerilla logs can be quite deep: Preference/Rendering/Logs & Diagnostics
Another very interesting feature of Guerilla, you can. Create a RenderGraph wich will apply only on one particular reference, and you can chain them based on namespace. Let's suppose you have Char1 and Char2.
You will create three render graph: Char1Lookdev, Char2Lookdev, Lighting and you will chain them like this:
Char1Lookdev: order 0, Apply on Prefix "Char1:"
Char2Lookdev: order 0, Apply on Prefix "Char2:"
Lighting: order 1, Apply on "always"
This mean any object with the "Char1" namespace will chain like this:
Char1Lookdev -> Lighting
Basically apply Char1Lookdev render graph then Lighting on.
Same for "Char2" namespace:
Char2Lookdev -> Lighting
So you can modify and save (right mouse button on a render graph/Save RenderGraph) lookdevs independently.
The "order" is very important because if Lighting and Char1Lookdev have the same order value, they will be apply in random order (make sense).
If you organize your workflow over this you can have somethin like this:
StudioRenderGraph -> ProjectRenderGraph -> |AssetRenderGraph(s)| -> LightingRenderGraph -> LayeringRenderGraph -> IsolationRenderGraph
Each one having it's own order (ten by ten is fine): 10 -> 20 -> ...
Latest is a render graph isolating things between multiple render passes (sometime you have no other choice).
You want to deal with Shading Language? In Root, Ctrl+Space, import "Surface", double click on it, enjoy.
Important point. If you have a material node in your root ("Surface" here) it will override the default one. This mean, if you have a shot specific hack to do on a shader, you import it in the root, modify it and it will apply only in your shot.
Voila, I'm sure I forgot many things but I hope it helps.
EDIT: Sorry for weird multiple post.
Last edited by Narann (2016-05-12 17:25:29)