Proximal shader and MoGraph/particle geometry


I am trying to use the proximal shader to affect the luminance channel of a material, which in turn is applied to all the objects in my scene, in order to create (a kind of) a 3D sonar wave effect.

The wave(s) should be defined by an expanding sphere, which eventually intersects (as it grows) the objects in the scene. Now, when using directly a single sphere object, it works pretty much as intended (if I want to keep the sphere procedural, I only have to use a corrector deformer on it).

However, the problem starts when trying to generate several waves, so basically start several / many expanding spherical waves with a specific time offset and speed. Creating and animating the multiple spheres is easy, either MoGraph or the particle emitter work just fine for this purpose. However, I can’t seem to get the Proximal shader to work with the MoGraph cloner or the standard particle emitter - no combination (I can think of) seems to work, the geometry/proximity doesn’t seem to get evaluated in the shader, and the material remains completely unaffected or, as is the case of the particle emitter, only the center point of the particles seem to affect the shader, and not the actual particle geometry.

Is there any smart workaround for this? Or am I overlooking something simple? This is with R19 (053) by the way.


Perhaps you could create the animation using Mograph, bake out the animated spheres to an Alembic cache, import the cache, and use that within the proximal shader?


3D Spherical gradient?


Luke, yeah, that would work, probably but unfortunately it doesn’t sound very interactive: I am trying to preview the effect as quickly as possible and looking to art direct the speed and ryhtm of the signals. Thanks for the idea, however.

bdjones, that’s what I did in parallel as a workaround - unfortunately, it has some issues of its own, in particular getting the “signal wave” to stay at a constant thickness as it spreads from the camera point in 3D space. Haven’t quite managed to find a simple solution for that yet.