Still ERC, but it is a different issue so I figured a different thread. I think I’ve figured out some of this, but…
In the Assembly room, create an object, in the Modifiers tab add Behaviors/ERC. First, some questions about the information presented.
1. Expand the “Basic” section, the last item is “Controler Object” which has a button to select the controller object and a checkbox for “use FRA”. Similarly, under the “Advanced” section there are check boxes for “Use Group”. Clicking the “Select” button I’ve noticed that the type (e.g., bool) is listed after an entry. Some entries “GROU”—I suspect that is short for “group”? but what is FRA? And what does “Use Group” really mean?
2. Some of the types I can figure (“in32” is probably a 32-bit integer?), but what is “re32”? A floating point number? Are all of these numbers signed? Or are some non-negative?
3. Another type is listed as “vec2” which expands into two components, X and Y. So I’m guessing it stands for “vector” but here is what I would normally think of as a tuple—or is it truly a vector (direction and distance)? Either way it represents two values so I’m not sure how that works with the ERC setting a value…
4. In the above question neither X nor Y have a type listed?
Now, I was just kicking myself for doing something a hard way when the ERC would have provided a much easier way to do things. I think. So I started trying to do it and I can’t get my approach to work. More on that in a minute, but even if the approach is flawed for this objective (which I think it is), I would still like to know why I’m not seeing things because it helps me better understand what can and cannot be done with the ERC.
So, the basic idea is to have a bunch of duplicated objects using a single shader to give them differing color such that an object is colored differently depending on its position in space. IIRC, when I actually did a scene with this what I did was to use a noise shader shader with global space to change the hue of the color (Color Balance is easily the extension I use the most, great extension!). It was a royal pain to tweak the scaling of the noise to get an effect appoximating what I wanted.
My thought was to replicate that by driving the hue value of the color balance shader using the ERC. But drive it how? Well, just for testing purposes anyway I thought I’d use a global noise shader. I set the alpha channel on object’s shader as “Max” of the global space noise shader and 100%—so the alpha was always 100% but I’d pick the noise component.
First thing I noticed was that “Max” (a Digital Carvers Guild extension) was not listed, but no matter—I wanted the first subcomponent anway. But when I select it nothing happens. That is, I move the object anywhere I want in space and nothing happens. It is possible that I wasn’t moving it enough, but changing the scaling in the noise shader had no effect. Incidentally, I know the ERC is working here because if I change the controller to something else (say, the Z coordinate) moving it changes the color.
So, question: what is going on with using the subcomponent. I can think of three possibilities
1. It is changing the hue, I’m just not moving the object enough or changing the scale enough to see it.
2. It isn’t changing the hue because of how the noise works in an alpha channel
3. It isn’t changing the hue because of noise being a subcomponent of another extension
For what its worth, the effect I *wanted* to get for the scene I mentioned would have been achievable by using ERC if I could use the three component (XYZ) position in space to drive parameters in some fashion. Preferrably not just distance (to orderly), perhaps distance times angle and azimuth, or just X+Y+Z.
Anyway, I have great plans for ERC. I think that if I can come to grips with it, even for non-animated work it might be the most useful extension I have and beat out Color Balance (maybe
)
(Not to knock Digital Carvers Guild—Fake Fresnel, Min/Max, Intersect, Shader Ops light mangling, etc., etc., etc., he has some great extensions as well).
slight edit for accuracy


