I'm still not an animator in any way but I have to find a way to animate something...

In a way resembling to what is achieved in this video, I have to create a grid of light bulbs which intensity and color will depend on the position of an empty. https://www.youtube.com/watch?v=nsHQuAaL8d0

This post (Use an Empty to control a property) enabled me to set up the intensity of all the lights depending of an empty's Z position.

But I wish the empty would define the intensity and color of the lights around itself... I wonder if it's clear? :s

Anyway, if anyone can understand the goal of this and help me, I would be immensely grateful!

Thank you for reading and have a nice day! Nicolas

  • 1
    $\begingroup$ Consider the answers to this question.. where all the lights share a material partially controlled by a gradient texture in the object space of your empty. It gets a bit more tricky if you want no gradation within the diameter of your lights... $\endgroup$ – Robin Betts Feb 12 '19 at 19:27

If you want each light to be a single color, and respond to the distance between itself and an Empty, one option is to create your lights as a particle system.

  • In this example, the particle system is static (there is no physics, all the particles are emitted on frame 1).
  • Here, the particles are randomly scattered, but you could arrange them geometrically, per face of the emitter
  • Set up an input to your shader for the dupli object used to render the particles, (the Combine XYZ,) driven by the location of your empty. ( This means assigning drivers to its X,Y and Z entries)
  • Add a Particle Info node, using its 'Location' field, and a group of nodes to return the distance between particles and the empty.

enter image description here

Here, the distance is used as an input to a Color Ramp node

This is the scene, with an empty:

enter image description here

This is the result:

enter image description here

| improve this answer | |
  • $\begingroup$ Hi, First, I want to thank you a lot for your help: I'm still amazed that someone on Earth would be empathic and competent to help a complete stranger... Thanks a million times for that! Then, I downloaded your file with passion (I doubt any piece of digital information ever produced more feelings than your . blend... :). I must admit I doubt I can ever come up with the material node tree you created. But my main remaining issue is I can't find the driver setup for the empty in the Graph editor with the drivers option selected in the dropdown menu. Can you tell me where to find it? $\endgroup$ – leminilab Feb 13 '19 at 7:55
  • $\begingroup$ @leminilab My apologies. I didn't put too much detail in the written answer, I thought it would be too long... Open a Graph Editor window, switch its mode to 'Drivers' from 'F-Curve'. Hit 'N' to open the properties region on its right. Select the region's 'Drivers' tab. There is an object 'Icosphere', from which all the particles are instanced, just to the +X of the emitter plane. Select it, and you should see the 'DistanceFromEmpty' drivers displayed on the left, to be selected. Could I have left that window open for you? .. Probably .. I'll go back and fix when I can get to it. $\endgroup$ – Robin Betts Feb 13 '19 at 9:01
  • $\begingroup$ Please also recommend any ways I can change the file to make it clearer. $\endgroup$ – Robin Betts Feb 13 '19 at 9:04
  • $\begingroup$ Hi, This project is going in so many directions I couldn't take the time to reply to you... I noticed you have to select the coordinates node in order to see the driver attached to it. I don't know if it's a common behavior or if it's specific to 2.8 though... $\endgroup$ – leminilab Feb 15 '19 at 14:35
  • $\begingroup$ Ahh... I'm not using 2.8 in anger yet .. I would have difficulty finding everything.. I'm surprised that file runs at all $\endgroup$ – Robin Betts Feb 15 '19 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.