I have repeatedly seen the word “partition”. What is a partition? Any layman’s explanation would be helpful.
Also, we have several “Override …” attributes, both in the Source object and the Render Options.
What are the values they are supposed to Override? Where are those global settings?
These are all good questions, and upcoming documentation will hopefully clear them all.
“Partition” is a term we use to denote what is called a “wedge” or a “variation” of a single simulation, but produced with slightly different random settings (for example initial distribution), leading to a similar, but not exactly identical particle positions over time.
This means that you could take a simulation of, say, 10 million particles and save it out 10 times with slightly different variations to produce a final combined cloud of 100 million particles that behave about the same and look like you have simulated them in one go. Obviously, simulating 10 million uses less memory, can be send to multiple machines to speed up the simulation via distributed processing, lets you add more detail/density to an existing simulation gradually by adding more partitions as needed without having to re-simulate the rest, and so on.
Krakatoa MX and MY provide tools to produce Partitions, the Cinema 4D implementation currently does not, mostly because the original developers assumed this was a relic of the past and given the abilities of plugins like X-particles to produce hundreds of millions of particles in one go would not be necessary.
I wrote a passionate defense of the merits of Partitioning in another thread, I highly recommend reading that whole thread: viewtopic.php?f=197&t=11001#p47849
Regarding the Override values, the concept of Krakatoa in general is this:
*Each particle is born with some particle data channels, like Position and Velocity. Sometimes Color might be an existing channel, often it isn’t. In C4D, Density is never a native channel at birth.
*The renderer expects certain channels to be there to render a particle. If a channel does not exist in the particle, but is requested by the renderer for some purpose, the channel is assumed to have a default value. For example, if the Color channel does not exist, it is assumed 1,1,1 white. If Density does not exist, it is assumed 1.0, Emission defaults to 0,0,0 and so on.
*Even when a particle source like X-Particles or TurbulenceFD provides a color value per particle, sometimes you might want to override that per object. Let’s say you have 3 systems with elaborate temperature-based gradients in each one, but you want to simply render the one as red, the other and green and the third as blue to illustrate a point or even create an RGB mask for compositing. You can go to the respective Krakatoa Source objects, check Override Color and specify the color of all particles at once WITHOUT modifying the underlying source system. So it is a quick way to say “No matter what colors the particles claim to have, all particles from this source should be red when the renderer looks at them!” This of course applies to Emission, Absorption, and Density Overrides.
*Sometimes you might want to do a test render with all particles having a single uniform color regardless of what the individual particles have in their per-particle Color channel, or what the various Krakatoa Sources objects have in their Override settings. For that case, the Render Settings dialog > Global Render Values rollout “Override” controls give you a one-click option to force every particle to use just one single value for the whole scene. For example, you have the above case of a red, a green and a blue Sources via local object Overrides, and then you want to make them all look like the pale-blue additive rendering in the opening of The Avengers. So you check “Force Additive Mode”, check “Override Color” and set it to a pale blue shade and off you go.
In short, the Overrides, like many other concepts in Krakatoa, were meant to save you time when test-rendering. The Cinema 4D implementation does not feature all bells and whistles typical to, say, the Krakatoa MX implementation in 3ds Max, but still the renderer (which is exactly the same) carries over a lot of concepts which were meant to save you time. Why change 3 object overrides if you can temporarily check one in Render Settings, render and then turn it off again?
Thanks for the detailed reply. I appreciate it.
So, partitions are not yet in C4D. Having read the articles about them, I think that despite the ability of modern particle systems to produce and manipulate great numbers of particles, there are still some (ahem… Thinking Particles) that are in desperate need for partitions. I stand on your side
About the overrides, thank you for the detailed explanation. I understand the “Override” concept, but couldn’t find the Defaults (e.g. Density).
Is there a way to expose the Defaults that you mentioned?
Maybe above the “Global Render Values” as “Defaults”? The reason I’m asking for these tidbits, is to help the user, wonder less about what’s not there.
No, the “defaults” are actually “factory defaults” and are not part of the C4D plugin. They are hard-coded in the Krakatoa renderer itself and just need to be documented. As I explained, when a particle comes along that does not have a channel, Krakatoa uses a default value instead of failing. Most of the time the default is Zero / Black except where that makes no sense, like in the case of Density and Color where the default is One / White.
So you can assume defaults are generally zero, except for Color and Density. If Motion Blur is requested, Krakatoa Mesh Source does not provide a Velocity (yet), so it will be 0,0,0 and won’t blur. (It does provide a Velocity in Max and Maya if the mesh is deforming though, so this might change in the future). If Phong shading is enabled and the particle has no Normal channel, it will be 0,0,0, so the shading won’t work because it needs a Normal to calculate specular highlights. But Krakatoa Mesh Source steals the surface normals from the mesh, so that would work ok.
The way we help the user in Krakatoa MX is by providing a dedicated Particle Data Viewer tool which can show all channels of some of the particles to get an idea what the values are. In the latest versions of KMX, channels with default values are marked with > in the column name. There is no such tool for KC4D or KMY yet though, but it should come eventually.
Also in KMX and KMY, we have provided some basic Sanity Checking tools. In Max it is a schematic view of the renderer pipeline showing what goes through it and why it might be wrong, and in Maya it is just a list of problems and possible automatic solutions. We might do something like that for KC4D to help debug cases of “why are my particles rendering black?!”…
I am really happy to try out finally krakatoa, but if somewhere there is the chance to get a manual or something that explain how to use krakatoa without spending hours with no result would be amazing.