Beast Settings XML file

So I started feeling a little restricted by the Beast settings exposed in the unity GUI so I started messing around with the xml file. So here are some questions:

  1. I can use HDR files for environment if I want something with more variation than a simple environment color, but is there a way to rotate the hdr image somehow? Or is my only choice to either rotate everything else in the world or edit the HDR file itself and pan it around?

  2. Manual says :

  1. For a lot of the settings, the manual doesn’t really say in what kind of unit system they are in. For example :

What is the unit here? Degrees? Or some other arbitrary unit? What is the max value?

  1. What is the deal with the two integrators? Is it to use different methods for primary and secondary bounces? Dos setting secondary integrator to none means I can’t have secondary bounces? The manual isn’t clear :

Does it mean unity ignores the value for the secondary integrator, or does it Default to FinalGather if it set to None? (Then what purpose does ‘none’ serve?)

  1. Is this a typo?

The explanation for both of these is the same (also for the equivalent primary settings). I’m guessing the intensity one scales the V value instead of S?

If you really want to do this right, the settings page in the manual should contain images and examples for what each setting does, what is the range of values, what unit are the values in etc.

I also tried to find info elsewhere (since I guess these settings are beast settings and not exclusive to unity) and I don’t know if illuminate labs ever had a manual for these things, but the autodesk site is devoid of any info.

Most GI rendering solutions use multiple algorithms to calculate a final GI solution, thats why there is a ‘first’ and ‘second’ integrator.

‘Final Gather’, as it’s name implies, is used essentially for gathering all the final rays. It used be back in the older days of Mental Ray, you would fire photons around the scene to approximate global illumination bounce, this made for a really blotchy, messy lighting, so then you would run ‘Final Gather’ to gather all your lighting data, smooth it out, take into account local detail, and make it look pretty. Eventually Mental Ray expanded it so that the final gather algorithm could do multiple bounces itself, which generally made the use of a secondary GI scheme unnecessary. Turtle renderer, what the core of Beast is based upon, took alot of cues from how Mental Ray worked. Thats where the term ‘Final Gather’ comes from, and why in Unity ‘Final Gather’ is the only thing you can get at by default.

Excuse me for explaining that if you already knew, just thought knowing that would help fill in the blank of why Beast is like that in case you did not know.

Anyways, for most intensive purposes, you should really only ever use multi-bounce final gather, unless your attempting to calculate the light bounce through an entire house, with no interior lights, from only a few open windows. Unless your lighting need is that extreme, then doing something more than multi-bounce final gather won’t make a noticable difference. BUT, in beast the secondary integrator is the PathTracer. PathTracer is essentially a brute force method, it makes for a really grainy result, so then you run final gather as the primary integrator to smooth out what the pathtracer calculates. I have been expirimenting with this much myself lately and it can give you noticably nicer interior lighting if your dealing with a low light situation that needs to have light bounce REALLY deep into a structure. Beware though, baking times can get horrendous! I easily managed to get a 12 hour wait on octo-core nehalem workstation. However I had the resolution cranked pretty high…

All you do is put ‘PathTracer’ in your secondary integrator, then you need to manually add the pathtracer settings at the bottom of this page: http://unity3d.com/support/documentation/Manual/Lightmapping%20custom%20settings.html
manually put them in your area.

from what I’ve expirimented with so far, a ptAccuracy of more than 1.5 is unnecessary even in extreme situations. ptAccuracy of 1 should be fine for everything, you could probably easily get away with .5

ptPointSize should always be left at 0 as far as I’m concerned. Adjusting radius size of points in modern renderers is really unnecessary unless there is an extremely specific instance and you know exactly what your doing

ptCacheDirectLight, is self explanatory, use it if you want, I use it when baking diffuse-only light setups

ptCheckVisibility is an odd thing because, it says if you turn this CheckVisibility on, you should turn the check visibility off for FinalGather. But in the tests I’ve done so far, you really do need both ptCheckVisibility on and fgCheckVisibility on in order to avoid light leakage. Maybe I was doing something wrong and missed something, not sure, maybe expiriment with that yourself. But I’ve been leaving both of them turned on.

Then of course, if your using the PathTracer, you only need 1 FG bounce because the pathtracer is simulating the effect of fully bounced lighting.

If you don’t use a secondary integrator, and have it set to do multiple FG bounces, then you are inf act getting multiple FG bounces, all the data for multi-bounce lighting is just being gather by the first integrator.

I’m not sure, but fgNormalThreshold I would assume is degrees, I’ve not played with that setting myself

The manual does say you can use HDR images to light the scene, I’ve not tried this myself. I am going to do some tests myself when I get to it.

I don’t know the answer to your other questions.

I will point out, because you did not mention it, when editing the XML file some interesting variables are these
.2

8

1.5

1

read about them in the manual, they take into account ambient occlusion in the FG samples, those are the settings I’ve found to add a nice effect

Hey, thanks for taking the time to reply. I am familiar with what FG does, though I am not very familiar with mental ray, but I have used other renderers (Kray, Vray etc), so I had a vague idea of what the settings do, so I went to the manual to get the specifics, but they too are vague.

HDR lighting does work, it’s just that I don’t like the orientation of the HDR and there isn’t an easy way to change it. I’ll experiment with adding a dome and mapping an HDR with emissive material to it (setting Scale In Lightmap to 0), but I’m not sure if the hdr values will be used or if I’ll just get colored lighting.

Also, I don’t really like adding Ambient Occlusion. If a renderer is worth its salt, corner shadows should appear if and where they should, but it can help to bring some detail in the lighting while keeping the render times low… But I still don’t like it.

Also, I had given up on things like linear workflow with beast, had figured I’ll try and get a clean result from beast, then tweak the lightmap in photoshop and eyeball it to a more proper gamma, but now I see that there is an “InputGamma” setting in the xml file, which means a proper linear workflow can be possible, if the setting does what I think it does. Sadly it’s undocumented.